Minetest logo

IRC log for #minetest-dev, 2017-04-22

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

All times shown according to UTC.

Time Nick Message
00:04 nore sofar: if class Client, why is there such an enormous hole reported after m_env?
00:04 nore more precisely, if reports an hole of 368 bytes
00:04 nore but it jumps 130kB
00:05 nore seems like a pahole bug to me
00:07 sofar I wonder if that's thread data
00:07 sofar but yeah, that's entirely weird
00:08 nore well pahole seems to report that something strange is going on as well
00:12 paramat #5625 updated and tested so will merge in a while
00:12 ShadowBot https://github.com/minetest/minetest/issues/5625 -- Mgflat, Mgv7: Only create noise objects if needed by paramat
00:14 nore anyway I'll try to see how many TileLayer copies I can avoid
00:14 nore and let's hope it increases performance :)
00:15 paramat nore ok with #5619 ?
00:15 ShadowBot https://github.com/minetest/minetest/issues/5619 -- Add on_flood() callback. by sofar
00:16 nore paramat: yes
00:16 paramat ok will merge later
00:19 paramat will merge #5619 #5623 #5625 #5630 in a few mins
00:19 ShadowBot https://github.com/minetest/minetest/issues/5619 -- Add on_flood() callback. by sofar
00:19 ShadowBot https://github.com/minetest/minetest/issues/5623 -- Sneak glitch: Set default to false by paramat
00:19 ShadowBot https://github.com/minetest/minetest/issues/5625 -- Mgflat, Mgv7: Only create noise objects if needed by paramat
00:19 ShadowBot https://github.com/minetest/minetest/issues/5630 -- Add /fixlight chat command by juhdanad
00:23 kaeza joined #minetest-dev
00:28 paramat merging ..
00:32 paramat complete
00:32 paramat lots of good stuff
00:44 sofar maybe we can remove the lava cooling abm now
00:45 sofar hadn't actually tried it yet
00:45 VanessaE remove it in favor of..?
00:45 sofar using on_flood()
00:45 VanessaE right
00:45 VanessaE bear in mind, gloopblocks uses the lavacooling abm
00:45 VanessaE to alter it to work better.
00:48 VanessaE (though I could simply redefine the two nodes to point to my code)
00:56 paramat finally closed #47
00:56 ShadowBot https://github.com/minetest/minetest/issues/47 -- Water Physics
00:56 VanessaE wow, that's an OLD one...
00:56 paramat issue moves to MTG
00:57 VanessaE oh
00:58 VanessaE as for torches, and maybe signs, for G*d sakes please DO flood them
00:58 VanessaE there's little else I find more annoying than seeing people use those as a cheat to make a "water portal" thing :P
01:03 paramat yeah maybe torches
01:03 kaeza joined #minetest-dev
01:04 VanessaE signs too.  an argument can be made for OPEN wooden doors also
01:04 VanessaE (maybe even open glass doors, but obsidian glass doors could be considered strong enough to withstand the water)
01:06 paramat signs means then ladders, doors etc. and these do not make sense being removed by water
01:06 nore sofar: not as easy as it seems
01:06 VanessaE naw, you don't have to wash ALL of that away
01:06 nore i.e. if you're just at the extreme of the liquid range
01:07 VanessaE it's really too bad there isn't some way to make them look like they're under water e.g. no air
01:07 paramat and i am very keen to avoid as much as possible liquids becoming destructive, due to ease of griefing combined with how water spreads out onto massive waterfalls so easily
01:07 nore lava and water can be next to each other without flowin in each other
01:07 nore +g
01:08 paramat a sign mkes no sense being removed, it is something fixed securely to a wall, we cannot decide it according to 'it only taking up a small part of a node'
01:08 sofar correct
01:08 VanessaE that would indeed break a pumice/basalt generator
01:08 sofar I'm not entirely convinced the ABM can be removed either
01:08 paramat *makes
01:08 nore well there is a solution
01:08 VanessaE paramat: oh... see I always looked at wall signs like a wall clock - barely hanging on the node with a small nail in the back
01:08 sofar allow on_flood to air
01:09 nore I was thinking about something more general
01:09 nore calling nodeupdate or whatever it is called now
01:09 VanessaE sofar, why not just check horizontally during flooding also?
01:09 sofar ahh yes
01:09 nore and allow mods to register functions when a node is updated
01:10 nore maybe even do the following instead:
01:10 nore "nodeupdate" or its equivalent
01:10 nore looks at the adjacent nodes
01:10 sofar on_nodeupdate?
01:10 nore yes
01:11 nore then you can add an on_nodeupdate to lava that checks if water is next to it
01:11 nore likewise, falling nodes would have an on_nodeupdate that makes them check for falling
01:12 nore minetest.set_node/remove_node/swap_node would call these on_nodeupdate
01:12 nore but not voxelmanips, for performance
01:12 nore seems like a reasonable way to me to handle that and maybe get rid of ABMs entiremy
01:12 nore *entirely
01:13 nore and ABMs can take quite a lot of time, even if there are no ABMs running because you still have to check all nodes and all ABMs, which can take a long time is there are a lot of active mapblocks
01:14 nore would get rid of all these rarely-firing ABMs as well such as grass<->dirt conversions
01:14 VanessaE sofar, pm for a moment..
01:14 nore just check for the new condition on update and set a timer if needed
01:15 paramat i wouldn't be concerned about water and liquid adjacent at the extremes of their range, unless this causes a big problem
01:15 paramat *water and lava
01:16 nore paramat: well, as I said, a way to reliably check some things only on node update would be to have such a node update callback
01:16 nore even liquids could use it to check if they need to flow as well
01:17 nore and so these on_flood callbacks preventing flooding could be done to run only once
01:19 paramat ok i need to process that. what i'm saying is lava cannot keep checking around itself for performance reasons unless absolutely essential, remember we have massive caverns now with potentially massive lava flows
01:21 nore paramat: that's what I am saying
01:22 paramat anyway, i suggest trying lavacooling via on-flood in the simplest form first, then see what the problems are
01:22 nore this would eliminate ABMs and the like completely
01:22 nore and lava would check around itself only if a node near it is updated
01:25 paramat i mean, we should try to avoid such checks even if only on nodeupdate, if they are not absolutely essential
01:26 paramat maybe you mean your idea replaces using on-flood
01:28 nore paramat: when a node is changed next to lava, check if the new node is lava
01:29 nore That's about the best you can do
01:30 paramat ok anyway i'll understand later i'm sure
01:33 paramat indeed i'm not even sure how or if lavacooling by on_flood would work
01:34 paramat if lava was 'floodable' that might cause waterflow chaos
01:34 paramat sorry, liquid flow chaos
01:35 paramat .. lava constantly flooding itself away etc
01:36 ssieb joined #minetest-dev
02:09 paramat sorry, i misunderstood. the ideas have potential. it seems making a liquid floodable would be a disaster that would constantly overload the liquid queue
02:16 benrob0329 joined #minetest-dev
02:24 nore yeah, that probably wouldn't be good
02:24 nore that's why I think on_nodeupdate would be a good idea :)
02:27 Hijiri ah nodeupdate
02:27 Hijiri feels like convergent evolution
03:20 sofar now that nodeupdate no longer is recursing, it can handle hundreds of nodes per second
03:23 nore well if we add an on_nodeupdate I think we should move that to the engine
03:23 nore have a nodeupdate queue there
03:24 nore and call the on_nodeupdate field of nodes each time a node next to them is modified
03:26 paramat certainly in engine, the speed is needed
03:28 nore the thing that will help most there will be C++ data structures
03:28 nore like set<v3s16>
03:30 nore (i.e: keep a set<v3s16> of nodes to process, and while any are remaining in that set, process that node: call its on_nodeupdate function, and of course, if that functions uses set_node or the like, it will add positions back to this set)
03:30 nore (also, probably try to process them in a sensible order, such as decreasing Y for instance for liquids)
03:31 octacian_ joined #minetest-dev
03:34 sofar there's a perception that nodeupdate needs to be in C++
03:34 sofar I'm not entirely sure it is
03:35 sofar when it's all in lua, we don't have any lua -> C -> lua calls
03:35 sofar that's highly efficient
03:35 nore sofar: the thing is, we want to use it for liquid queue as well
03:36 nore and you don't have good data structures such as set<T> in lua unfortunately
03:38 nore I mean, I really want to rewrite the nodeupdate system completely, in an almost non-backwards compatible manner
03:38 nore so that falling nodes are only one of the cases of node updating
03:38 octacian joined #minetest-dev
03:38 nore brb
03:47 sofar Thread 1 "minetest" received signal SIGSEGV, Segmentation fault.
03:47 sofar 0x0000000000c3f92c in Noise::~Noise (this=0xdbe8000002bfb813, __in_chrg=<optimized out>)
03:47 sofar at /home/sofar/git/minetest/src/noise.cpp:446
03:47 sofar 446delete[] gradient_buf;
03:48 sofar not sure what is up there
03:48 sofar but my test branch crashes each game exit
03:49 paramat latest master?
03:55 paramat oops mine too, my fault
03:55 paramat crash when exiting to menu
03:55 paramat will fix within a few hours
03:56 paramat must be the noise objects that are not created, delete cannot find them
03:56 paramat sorry everyone
03:57 sofar no worries, easy find, easy fix?
03:57 paramat hope so
03:58 sofar 57eaf62c697cec91890d9cb28d10385d293d2d3f ?
03:58 paramat i probably didn't notice that in testing because i was always exiting to OS
03:58 paramat yes
04:03 paramat starting work on fix
04:05 paramat crash should be affecting mgv7 and mgflat
04:11 sofar out of curiosity, which noise was the problem?
04:13 paramat any noise that had it's noise object not created due to mapgen flags, in mgv7 floatlands are disabled by default
04:23 paramat #5639 but still need to test, will get that merged within 2 hrs
04:23 ShadowBot https://github.com/minetest/minetest/issues/5639 -- Mgflat, Mgv7: Fix noise crash on world exit. by paramat
04:29 paramat tested
04:31 Zeno` would have been easier to init all of the to NULL, but *shrug* :)
04:32 paramat ahh
04:33 paramat well this seems equally acceptable
04:33 paramat will merge in a moment
04:33 Zeno` yeah, just sayin' :D
04:34 paramat it's helpful, good to know another way
04:38 paramat merging
04:40 paramat complete, thanks sofar for the report
04:53 behalebabo joined #minetest-dev
04:55 Hunterz joined #minetest-dev
05:49 pbrunet joined #minetest-dev
06:07 nerzhul joined #minetest-dev
06:39 kaeza joined #minetest-dev
07:07 Krock joined #minetest-dev
07:07 Krock joined #minetest-dev
07:55 Lunatrius` joined #minetest-dev
08:13 kilbith joined #minetest-dev
09:00 Lunatrius` joined #minetest-dev
09:02 YuGiOhJCJ joined #minetest-dev
09:03 cx384 joined #minetest-dev
09:16 juhdanad joined #minetest-dev
09:24 Lunatrius joined #minetest-dev
09:43 Gael-de-Sailly joined #minetest-dev
09:58 Fixer joined #minetest-dev
10:02 kilbith joined #minetest-dev
10:08 DS-minetest joined #minetest-dev
10:28 benrob0329 joined #minetest-dev
10:37 lisac joined #minetest-dev
10:57 Lunatrius` joined #minetest-dev
11:38 benrob03291 joined #minetest-dev
11:58 nerzhul merging #5573
11:58 ShadowBot https://github.com/minetest/minetest/issues/5573 -- Network: Remove old opcodes and fix documentation. by red-001
11:59 nerzhul sfan5, i will factorize it today or tomorrow :)
11:59 proller joined #minetest-dev
12:00 sfan5 ok
12:00 kilbith joined #minetest-dev
12:19 DS-minetest joined #minetest-dev
12:20 pbrunet joined #minetest-dev
12:30 benrob0329 joined #minetest-dev
13:24 rubenwardy joined #minetest-dev
13:49 proller joined #minetest-dev
13:55 Taoki I noticed that latest Git master still has a very annoying issue, which has always existed with Minetest. It still affects and breaks my structures mod, so maybe it can be fixed?
13:56 Taoki The problem is that, when you spawn a lot of schematics at once, some of them will fail to spawn completely. Certain blocks will either not spawn, either remain the same as the original ones (so instead of stone, a few walls will still have dirt_with_grass for a wall or floor).
13:57 Taoki I believe hmmm made the schematics. Not sure if he's still around, or uses a different nickname now (shouldn't have been away for so long once more)
13:57 Taoki But yeah... would be appreciated if perhaps this could be put on someone's TODO list. It's be a major annoyance for any kind of city building mod.
14:00 Taoki I remember that while trying to work around this problem, I even added a timer. So if 100 buildings were queued for spawning, the server would wait 5 seconds before spawning each. Yet even that did not fix it... it only introduced the horrible annoyance where it took 10 minutes for a large town to finish appearing. Nowdays I spawn per-chunk instead, but even that has the incompletion problem.
14:01 rubenwardy issue?
14:01 Taoki Oh... I don't believe I added one on the tracker actually. I really should, sorry >_<
14:01 Taoki Or I might have and it's been forgotten somewhere on page +10 now.
14:19 Tre joined #minetest-dev
14:26 pandaro_ joined #minetest-dev
14:31 rubenwardy nerzhul, signed commits has broken the PPA
14:32 rubenwardy the engine in the package hasn't been updated to include any recent commits
14:33 rubenwardy (reported by DS-minetest)
14:33 sfan5 i have told him weeks ago
14:33 sfan5 but he didn't care or something
14:34 rubenwardy so our options are to 1) force push,   2) fork and use a different repo for PPA,   3) use another PPA   4) write a fix for the git library
14:36 sfan5 1) nope 2) sounds like a good workaround for now 3) wat? 4) long-term solution
14:36 rubenwardy or 5) pretend the PPAs don't exist, like nerzhul does
14:40 rubenwardy https://help.launchpad.net/Code/Git#Mirroring_repositories_from_other_sites
14:41 rubenwardy looks like LP supports git without the git-to-bzr library whih is broken
15:01 Krock joined #minetest-dev
15:02 nerzhul 5/ was also sofar thinks
15:03 nerzhul if you want a new build working without doubt https://gitlab.com/minetest/minetest/pipelines/7776360
15:03 nerzhul :D
15:04 rubenwardy you should definitely fix or delete the PPA though, it is important for end users
15:04 cx384 joined #minetest-dev
15:05 DS-minetest (and for modders)
15:05 rubenwardy modders are end users :P
15:06 nore http://stackoverflow.com/questions/36414732/import-git-repo-with-signed-commits-into-launchpad btw
15:06 rubenwardy yeah, that's where I got the link above
15:06 nore heh, I just saw that
15:07 nore who takes care of the ppa btw?
15:09 kilbith it was est31 iirc
15:09 nerzhul ppa is not managed by us in fact if i remember
15:09 rubenwardy https://launchpad.net/~minetestdevs
15:09 rubenwardy it is, nerzhul
15:09 nerzhul i don't know dmoora and juhani, it seems only SN can handle it now
15:09 nerzhul oh celeron55 is owner
15:09 rubenwardy est31, ShadowNinja, PilzAdam, then a few over random people
15:10 nerzhul PilzAdam was absent over 6 months, est31 left project, only remaining contact is ShadowNinja
15:12 kilbith fuck launchpad, compile or die
15:15 nerzhul launchpad pain :p
15:19 Krock kilbith, congratulations. who's going to clean up this mess now?
15:21 nerzhul Krock, add a mod maybe ?
15:22 Krock nerzhul, requires an entry in the trusted mods to do os.remove("mt_player*")
15:22 est31 joined #minetest-dev
15:22 est31 hi
15:22 Krock hello est31
15:23 red-NaN hello
15:23 est31 kilbith has summoned me, due to launchpad issues with signed commits
15:23 Tre left #minetest-dev
15:24 kilbith so any solution(s) to propose?
15:25 est31 launchpad has direct git to git imports
15:25 est31 right now I'm trying to make one
15:26 est31 https://bugs.launchpad.net/ubuntu/+source/bzr-git/+bug/1084403
15:27 nerzhul 2012 and canonical doesn't care about its users
15:28 nerzhul est31, could be nice :) thanks
15:28 est31 np
15:29 sfan5 hah good meme
15:29 sfan5 i was CC'd on an email by OC in which he calls the coredevs "disposable" (quote!)
15:30 nerzhul sfan5, it's really a reality show
15:30 nerzhul i hope it's not celeron55 the producer :p
15:31 sfan5 it's all just an elaborate plan to get a script for a finnish tv reality show
15:31 est31 so here it is https://code.launchpad.net/~minetestdevs/minetest-c55/+git/upstream
15:32 est31 now I only have to create one for _game
15:32 calculon joined #minetest-dev
15:32 est31 and then move the recipes over
15:32 sfan5 does this mean update LP builds will start now?
15:32 est31 not so far yet
15:38 est31 arghh you cant mix bzr branches with git repos
15:39 est31 seems I have to move the packaging bzr repo over to git ...
16:05 est31 nice nice
16:05 est31 its pretty easy to create new git repos on launchpad you just add a remote with the desired name and push
16:06 est31 but of course you need to know that is possible xD
16:11 est31 so, lets see
16:11 est31 https://code.launchpad.net/~minetestdevs/+recipe/minetest-daily
16:11 est31 builds started
16:12 sfan5 nice
16:13 sfan5 you might wanna edit the descriptions to remove the outdated references to "build", "common" and "survial"
16:13 est31 done
16:14 est31 yeah a little bit of cleanup is still required
16:14 est31 like dropping support for precise
16:15 sfan5 huh xenial failed for some reason
16:15 sfan5 >0.4.4
16:15 sfan5 wat
16:17 sfan5 est31: the version format of the new build doesn't seem to match what was used previously
16:17 est31 yeah
16:17 est31 seeing it too
16:18 est31 lemme check
16:20 rubenwardy joined #minetest-dev
16:20 est31 yeah the format changed, I have changed it back to one that should work
16:20 est31 now also includes the git commit id
16:21 est31 better for bug reports from users using the ppa :)
16:23 est31 its now like <time when the package was built>-0~<first 7 chars of git commit>
16:25 est31 okay, sfan5, I guess its fine to remove precise (12.04) support now?
16:25 est31 from the ppa at least
16:25 sfan5 no longer LTS?
16:26 sfan5 travis is still using it no?
16:26 est31 LTS ends at april 28
16:26 sfan5 then not yet
16:26 est31 so I should migrate it to git?
16:26 sfan5 yeah
16:27 est31 btw, it has nothing to do with travis
16:28 est31 that's about whether to publish the package on launchpad ppa
16:30 sfan5 i know
16:30 sfan5 but it would be bad if travis was using a distro versions that is out-of-support
16:31 est31 it will be in less than a week, at least by canonical
16:32 est31 https://blog.travis-ci.com/2017-04-17-precise-EOL
16:32 benrob0329 joined #minetest-dev
16:35 * est31 shrugs
16:35 est31 okay, the precise daily build should be migrated as well
16:38 est31 also, you dont need precise for travis if you want to keep pre c++11 support, just add --std=C++03 or sth to the flags passed to gcc
16:41 DS-minetest joined #minetest-dev
16:41 cx384 joined #minetest-dev
16:49 est31 okay the daily legacy build is updated as well
16:50 est31 & works
16:50 est31 https://code.launchpad.net/~minetestdevs/+recipe/minetest-daily-legacy
16:51 benrob03291 joined #minetest-dev
16:53 est31 sadly I cant delete the legacy bzr branches, as still some recipes by third party users depend on them
16:54 cx384 thank you :D
16:54 est31 okay, time to go. bye!
16:54 est31 left #minetest-dev
16:58 est31 joined #minetest-dev
16:59 est31 oh, before I forget it, you may want to revert this commit, its not relevant any more:
16:59 est31 https://github.com/minetest/minetest/commit/7a6502a7a5007e4bed8c1dd10af39d4fa2b296a4
16:59 est31 left #minetest-dev
17:13 rubenwardy joined #minetest-dev
17:20 Warr1024 joined #minetest-dev
17:23 cx384 joined #minetest-dev
17:28 Warr1024 joined #minetest-dev
17:29 ShadowNinja Developer meeting in ~30m.  Devs: see -staff for editable notes.
17:34 nore ^ I won't be able to attend it, or only slightly, sorry (I have to go to the airport)
17:35 ShadowNinja nore: Alright, enjoy your flight / whoever you're meeting / whatever happens to be the case :-)
17:36 nore hehe, going on a conference
17:36 nore (my first paper published ever \o/)
17:37 torgdor joined #minetest-dev
17:37 ShadowNinja O_O cool.
17:43 rubenwardy I'm not in -staff
17:49 rubywarden joined #minetest-dev
17:52 rubywarden joined #minetest-dev
17:54 Krock ah. will be here this time
17:54 YuGiOhJCJ joined #minetest-dev
17:54 Krock thanks rubenwardy
17:57 Hijiri #5612
17:57 ShadowBot https://github.com/minetest/minetest/issues/5612 -- Allow overriding tool capabilities through itemstack metadata by raymoo
18:01 ShadowNinja Welcome to the second edition of the Minetest weekly developer meeting.  Here are the meeting notes for those that want to follow along: http://sprunge.us/PXJj
18:02 ShadowNinja First, old business:
18:02 ShadowNinja Two PRs were merged since the last meeting but some are still in progress.
18:03 ShadowNinja nore: How are getTime and keybindings going?
18:03 nore ShadowNinja: keybindings are ready, I think
18:03 nore Sorry, gtg now
18:04 ShadowNinja nore: Alright, see you later.
18:05 sfan5 i have something to add about #4035, it definitely needs changes as some callbacks should be moved somewhere else
18:05 ShadowBot https://github.com/minetest/minetest/issues/4035 -- Additional hooks for inventory manipulations callbacks. by Foghrye4
18:05 ShadowNinja Additional hooks for inventory manipulations callbacks (#4035) was discussed last time, we agreed to merge in principle but it needs a rebase and cleanup.
18:05 ShadowBot https://github.com/minetest/minetest/issues/4035 -- Additional hooks for inventory manipulations callbacks. by Foghrye4
18:06 ShadowNinja Is there anyone that's willing to work on that?
18:07 ShadowNinja (sfan5, rubenwardy, sfan5, sofar, Krock, celeron55) ping.
18:08 sfan5 me not rn as i have limited time
18:08 Krock can do that tomorrow
18:08 Krock at least the rebase & conflict solving part
18:09 ShadowNinja Krock: Alright, great :-)
18:09 ShadowNinja Next: Rename .txt to .md (#5451)
18:09 ShadowBot https://github.com/minetest/minetest/issues/5451 -- Rename doc/*.txt to *.md. by ensonic
18:10 Krock the comments don't look promising and I'm opposed to it anyway since it breaks the old links
18:10 sfan5 ^ agree
18:10 rubenwardy I feel like it's worth leaving it
18:10 ShadowNinja I can see how it could make things more difficult on windows, but I think it would make sense to just have the Windows build scripts create a .txt copy.
18:11 ShadowNinja The other concern is breaking links, but I'm not too woried about that since they can be updated.
18:12 rubenwardy links currently break already, pretty much
18:12 rubenwardy ie: linking to a line breaks over time
18:12 rubenwardy the main advantage of .md is that you can link to a section, although you then can't link to a bullet
18:13 sfan5 can we switch to html
18:13 ShadowNinja sfan5: Too verbose.  md can be rendered to HTML though.
18:14 sfan5 yeah i meant as an output format
18:14 sfan5 not src
18:14 ShadowNinja sfan5: md works fine for that then.
18:15 ShadowNinja What do you think about changing the build scripts for Windows to use .txt and then merging?
18:15 sfan5 sounds fine to me
18:16 Krock breaking all links instantly instead of letting them to become outdated slowly?
18:17 ShadowNinja Krock: Yes.  If you're linking to a particular line they should be pinned to a commit anyways...
18:18 Krock right, I'm ok with that
18:19 rubenwardy If we can break it up into more subheadings, then linking would be fine
18:20 rubenwardy We're going to need to split up lua_api.txt into multiple files anyway due to CSM
18:20 rubenwardy ie: shared user  date
18:20 ShadowNinja We can add a dummy lua_api.txt that just Tells you to check lua_api.md to not break links.
18:21 ShadowNinja I'll add a comment to the PR, but we better move on.
18:22 ShadowNinja New business: Should we schedule a Minetest_game meeting?
18:22 rubenwardy sure
18:22 Krock if there are enough points there to discuss, sure.
18:22 ShadowNinja Same time (1800Z) sunday should work for most people.
18:24 ShadowNinja Alright, who would host it?
18:25 ShadowNinja (sofar, I think you suggested it, would you do it?)
18:26 rubywarden joined #minetest-dev
18:26 ShadowNinja Lets' move on for now.  sofar ran a Coverity scan and discovered a number of issues.  These need triaging by people familiar with the engine and then fines need to be applied.
18:27 ShadowNinja Devs: If you can help, request access to the project to see the issues and categorize them.
18:27 sfan5 why do i need to login to look at the issues
18:27 ShadowNinja sfan5: Presumably because they could represent security issues.
18:27 ShadowNinja Here's the link: https://scan.coverity.com/projects/12441
18:27 sfan5 *rolls eyes*
18:28 ShadowNinja Now to new PRs:
18:28 ShadowNinja Timed move (#1489)  Thoughts?
18:28 ShadowBot https://github.com/minetest/minetest/issues/1489 -- Timed move by sapier
18:28 sfan5 ShadowNinja: submitted request
18:29 ShadowNinja sfan5: Approved.
18:29 sfan5 about timed move: concept/idea is very useful, haven't looked at code
18:31 ShadowNinja rubenwardy, Krock?
18:31 sfan5 hm
18:31 Krock it may help to make it look better on laggy servers but this only seems to be helpful for edge cases where the new velocity is known
18:31 sfan5 is luaL_typerror a noreturn?
18:32 sfan5 because it seems some coverity issues are false-positives
18:32 Krock looking at mobs or carts - where the new velocity isn't pre-calculated (yet?)
18:33 ShadowNinja sfan5: Yeah, definitely plenty of false positive.  It longjmps is there's an error.
18:33 sfan5 lua should mark their funcs with __attribute__((noreturn))
18:34 benrob0329 joined #minetest-dev
18:34 ShadowNinja sfan5: There's a profile file you can upload to coverity to tell it about noreturn functions.
18:34 Fixer joined #minetest-dev
18:35 ShadowNinja Alright, I guess we don't have enough consensus.
18:35 sfan5 ugh http://i.imgur.com/9NDpR0w.png
18:37 ShadowNinja sfan5: Well it's not an AI, but it does find some good stuff.
18:37 ShadowNinja Added formspec element 'KeyEventBox' for charbased input (#1737)  Rebase and merge or close?
18:37 ShadowBot https://github.com/minetest/minetest/issues/1737 -- Added formspec element 'KeyEventBox' for charbased input by ninnghazad
18:37 sfan5 yeah but most of these kinda scanners assume a location is being written to if you pass it as a char* to a function
18:38 sfan5 about the pr: might be useful in a few cases but it's probably complicated, -1
18:39 rubenwardy I feel like a lot of the usecases would be better done with CSM (ie: terminals, instant search)
18:39 ShadowNinja IMO it should be clientside.  Having two roundtrips + a server step for each key press is going to be quite annoying.
18:39 rubenwardy even if you end up sending the key codes yourself (ie: terminals)
18:40 red-NaN ShadowNinja, you can escape client-sided chatcommands
18:40 ShadowNinja red-NaN: Oh, O.K.
18:41 sfan5 i don't get this
18:41 sfan5 the code is working with only s16's
18:41 ShadowNinja There are some approvals though, and the author has been supporting it, so I'll just add a comment.
18:41 sfan5 then coverity comes along and complains that casting the result of the division to double (wat) makes no sense
18:42 ShadowNinja Next: Add ability to escape commands with a back-slash (#1768)
18:42 ShadowBot https://github.com/minetest/minetest/issues/1768 -- Add ability to escape commands with a back-slash by ShadowNinja
18:42 sfan5 -1 from me still
18:43 ShadowNinja I'll tweak, rebase, and merge it if wanted.
18:43 ShadowNinja sfan5: Why?
18:43 sfan5 see pr comments
18:44 ShadowNinja O.K.  Anyone else?
18:44 ShadowNinja Alright, I'll close it.
18:45 ShadowNinja Next: Split block position in SQLite3 database (and use R*Tree) (#1845)
18:45 ShadowBot https://github.com/minetest/minetest/issues/1845 -- Split block position in SQLite3 database by ShadowNinja
18:47 sfan5 will soon need a rebase, +1 for concept
18:47 Krock easier to access with external tools. +1 here too
18:48 celeron55 oh, this is happening; i was afk
18:49 Krock well then, wb :)
18:49 celeron55 i think ShadowNinja himself should look at the getTime PR as it uses some stuff made by ShadowNinja (?) and seems to get it totally wrong like placing u32 values in u64 variables
18:50 ShadowNinja I'd probably just merge my version of the patch verbatim.  :-)
18:50 celeron55 the code quality seems so bad it doesn't even know what it's trying to do, i mean
18:50 ShadowNinja I'll discuss it with nore later.
18:50 celeron55 sounds good
18:51 nore ^ yeah, I must say that I just blindly rebased the PR, so maybe SN is more qualified than me to look at this code
18:53 ShadowNinja celeron55: Any thoughts on the pos split?
18:55 sfan5 ShadowNinja: you're correct coverity catches some nice thingy
18:55 sfan5 e.g. the bug in getNodeNoCheck
18:56 ShadowNinja sfan5: Two bugs even, that method is very broken.
18:56 Fritigern joined #minetest-dev
18:56 sfan5 oh is valid_position allowed to be NULL?
18:56 celeron55 ShadowNinja: performance seems to be the issue with that PR; i think it needs new tests by Rogier-5 if possible
18:57 ShadowNinja sfan5: Could you add your +1 in the PR?
18:57 sfan5 done
18:57 celeron55 the numbers he gets with minetestmapper seem awful
18:58 ShadowNinja celeron55: Yeah, a lot has changed.  I know some types of queries will be much faster, but the stuff that Minetest does probably won't (but Minetest only works with one block at a time, so block write performance is a bit less critical).
18:59 ShadowNinja In particular the mapper should be much faster, since it loads entire ranges of blocks at once.
18:59 kaeza joined #minetest-dev
19:00 ShadowNinja Well, lets move on I guess until there's better perf info for that.
19:00 ShadowNinja Use a settings object for the main settings (#1949)  |  I also unified Initialize and InitiallizeAsync, which was necessary to implement this.  I think the unification is worth merging even without the settings object change.  This conflicts with just about the entire ScriptAPI, so I don't want to rebase it too often :-)
19:00 ShadowBot https://github.com/minetest/minetest/issues/1949 -- Use a settings object for the main settings by ShadowNinja
19:05 ShadowNinja sfan5, celeron55, Krock?
19:05 sfan5 idk
19:05 Krock looking through the code
19:06 Krock grouping the functions is a good idea, +1 for that
19:07 celeron55 1949 seems fine, i guess it's been forgotten for no reason
19:07 celeron55 it shouldn't spit out a warning for every setting.get though
19:08 celeron55 that's going to flood out logs like nothing else
19:08 celeron55 setting_get i mean
19:08 celeron55 (and _getbool)
19:11 Krock but some calls may occur in the "deep gameplay"
19:12 ShadowNinja celeron55: "deprecated" is a special log level which isn't printed by default.  There's a setting in minetest.conf to make it print or print with traceback.
19:12 Krock only throwing a warning on-load wouldn't be helpful for that situation
19:13 celeron55 ShadowNinja: if it is, then whatever; just add docs to it (i don't see lua_api.txt or anything like that in the file list)
19:13 ShadowNinja celeron55: Hmmm, I though I did that, noted.
19:14 ShadowNinja sfan5: Anything before we move on?
19:15 Warr1024 joined #minetest-dev
19:15 ShadowNinja Next: Add listpredict to the formspec (#1988)
19:16 ShadowBot https://github.com/minetest/minetest/issues/1988 -- Fix #1374 by adding a listpredict piece to the formspec by MinerDad7
19:18 sfan5 what is this needed for
19:19 VanessaE actually I do have something to say, since I came in late....  don't split the damn lua_api.txt.  It's already hard enough to search if you don't know what you're looking for (precisely), splitting it up will just make that worse.
19:19 sfan5 yes i'm against splitting it
19:19 sfan5 too
19:20 VanessaE if you're worried about CSM cluttering it, make a new file for that.
19:20 sofar csm already is in its own file
19:21 VanessaE ok then it's all good.
19:21 ShadowNinja VanessaE: Yeah, we haven't discussed that, just .txt -> .md rename.
19:22 VanessaE ruben mentioned it.
19:22 ShadowNinja sofar made a rebased version (of list_predict) so I'd like him to take a second look at it, he probably knows more about it than any of us.
19:22 ShadowNinja Last thing: Add non-global mod namespaces (#2039)
19:22 ShadowBot https://github.com/minetest/minetest/issues/2039 -- Add non-global mod namespaces by ShadowNinja
19:23 sfan5 so i've looked at about half of the coverity issues
19:23 sofar I wasn't convinced it actually worked btw
19:24 benrob03291 joined #minetest-dev
19:24 VanessaE ShadowNinja:  thumbs down
19:24 sfan5 ":-1: Unnecessarily complicated" (quote of my gh comment)
19:24 VanessaE as a modder that just looks like it'll make more work for me.
19:26 Warr1024 joined #minetest-dev
19:26 ShadowNinja VanessaE: It's backwards compatible, just a better way to do things in the future.
19:26 sfan5 nobody mentioned compatiblity
19:26 sfan5 also "better" is subjective
19:27 Warr1024 joined #minetest-dev
19:27 ShadowNinja sfan5: If you exclude docs and style fixes it's only about 20 lines.
19:28 sfan5 so?
19:28 celeron55 the only improvement it does in practice is that a mod's existence can be checked from minetest.mods[name]? (and this even for old mods?)
19:29 sfan5 i think so yes
19:29 celeron55 are there any downsides in checking mods the current way?
19:29 Krock this brings a structure into modding but for some modders it might be annoying to localize the specific table value in each file for easier access
19:30 VanessaE celeron55: well reading from a table is faster than calling a function, but any modder worth his or her salt minimizes such checks anyway
19:30 celeron55 (and how often is it even done to begin with?)
19:31 sfan5 once on startup hopefully
19:31 VanessaE in theory yes.
19:31 ShadowNinja celeron55: It reduces the number of globals and organizes mod APIs.  It also encourages localization of and external APIs that are used (which saves a global lookup).
19:31 celeron55 i don't think this is needed, unless modders are asked and many of them say they want it
19:31 VanessaE typically if I do it exactly once somewhere, if minetest.get_modpath() then...  but if I do the same check more than once, assign it to a variable at the start of my code. simple.
19:31 sofar luacheck helps modders more imho
19:33 ShadowNinja Alright, I'll close then.
19:33 ShadowNinja Anything else to discuss?
19:33 sfan5 don't think so
19:34 Krock well, I'd have one: what's going to happen with #5268 ?
19:34 ShadowBot https://github.com/minetest/minetest/issues/5268 -- Send only changed node metadata to clients instead of whole mapblock by SmallJoker
19:34 Krock was rebased now three times and still no decision
19:34 celeron55 (throwing 2039 on #-hub and asking what people think of it might be a good idea? no? well whatever)
19:35 Krock The question is, if the performance gain is significant enough for the amount of changes
19:36 VanessaE some have made claims that it's helpful with complex, automation-laden spawns like VE-Survival.
19:37 VanessaE I can't say definitively that it helps on my machine, in retrospect.
19:37 VanessaE one thing that might be more helpful there is if the server would just not bother to send any metadata to the client that it can't use, if that's not already the case.
19:38 sfan5 how do you determine "that it can't use"?
19:38 VanessaE sfan5: well, does the client need to know that a cable at X Y Z has 45 EU of power going through it? :)
19:38 celeron55 currently we know, except soon we won't due to CSM
19:39 VanessaE it might be a situation where the modder has to explicitly tell the server what the client needs and what not.
19:39 sfan5 well a formspec could require this
19:39 Krock VanessaE, we can't know what's going to be implemented in the future, using the metadata
19:39 sfan5 but having serverside-only meta might be useful
19:39 VanessaE sfan5: that's what I'm thinking
19:39 celeron55 we really need a way to mark which metadata should be sent to the client and which should not
19:40 VanessaE of all the things I've either dealt with or written that used metadata, I don't think a single byte of it would have been useful to a client, formspecs and infotext aside
19:40 sfan5 with CSM this will also be needed if you want to store anything "sensetive" in meta
19:41 celeron55 anyway the concept of 5268 is fine
19:42 VanessaE seems the smart thing to do is mark everything not part of a formspec or infotext as server-side now
19:42 VanessaE and make the-client-needs-it a special call or flag or something
19:42 sfan5 you're breaking backwards compat!
19:43 sfan5 also formspecs can have stuff like ${foobar} in them to fetch meta keys when the formspec is opened
19:43 Krock any value can be used there, which can't be prediced to prevent sending that metadata
19:44 VanessaE well my point was to only mark stuff as send-to-client that clients already routinely display, and nothing else
19:44 VanessaE them modders can fix what they need to, if at all
19:44 VanessaE Krock: universally those two things are still called formspec and infotext, are they not?  has anyone ever called them anything else?
19:45 VanessaE then*
19:46 celeron55 i would guess (hope) nobody actually uses the ${foobar} functionality :P
19:46 Krock I'm looking for a mod that uses it.. hmm
19:47 VanessaE I'm checking my tree also
19:47 Krock the landrush sign: meta:set_string("formspec", "field[text;;${text}]")
19:48 Krock circular saw: "field[0.3,3.5;1,1;max_offered;" ..S("Max").. ":;${max_offered}]" ..
19:48 VanessaE Krock: what regex are you using to search?
19:48 Krock just "${" on all .lua files
19:48 Krock since that's not a valid Lua expression
19:49 VanessaE nothing shows up in my search.
19:49 sfan5 try grep -F
19:49 Krock found in 18 files out of 998
19:49 VanessaE nada, out of 2200 files
19:50 kaeza I think I've seen that used in technic
19:51 Krock that can't be. There are also some in pipeworks
19:51 kaeza in the recent digilinize all the things commits
19:51 VanessaE must be doinbg the search wrong.
19:51 VanessaE -b
19:52 VanessaE ok, lots of matches when I do it right.
19:53 VanessaE 84 matches out of 1854 in games, 1124 matches out of 2289 in mods  :-/
19:53 Krock wow, that's quite much
19:54 VanessaE so mark all metadata as server-side only unless it's a formspec, infotext, or any thing using ${}, then
19:55 sfan5 that still breaks backwards compat
19:55 sfan5 wait or does it
19:55 VanessaE why would it?
19:55 VanessaE the engine already has to parse the string anyway
19:55 ShadowNinja VanessaE: 50% of mods?  That sounds high.  Is that by file, line or mod?
19:55 VanessaE let it decide then and there "ok, client needs this" (or doesn't)
19:55 sfan5 the engine yes
19:55 sfan5 but not server-side
19:56 VanessaE that was by-file, ShadowNinja.
19:56 sfan5 this would be quite some overhead
19:56 VanessaE sfan5: hrm.  well shit
19:58 red-NaN meta as in node meta?
19:58 VanessaE a little overhead during server startup is a small price to pay to be nice to clients and not break backward-compat
19:58 VanessaE red-NaN: yes, basically
19:58 Krock node meta, yes.
19:59 kaeza I guess it also does not cope with plural forms does it?
19:59 kaeza bah, wrong chan
20:00 sfan5 VanessaE: sadly it's not during startup, every node has it's own potentially difference infotest + formspec
20:00 sfan5 every node = every node at different positions in the map
20:00 VanessaE well fuck.
20:01 red-NaN aren't node formspecs set on a pre-node bases?
20:01 Krock local server_meta = minetest.get_server_meta(pos), with the same functions as get_meta
20:01 VanessaE well, which would involve more work for mod authors?  fixing backward-compat?  or restricting stuff from clients?
20:02 sfan5 fixing compat would be lots of overhead + work for mod authors + unflexible solution
20:02 red-NaN what sort of info do you even want to store in node meta?
20:02 sfan5 latter would be work for mod authors
20:02 sfan5 i think it's clear which way should be taken
20:02 VanessaE sfan5: nono
20:02 Krock red-NaN, cookie hashes and passwords
20:03 red-NaN just hash the password with a server-sided salt?
20:03 VanessaE sfan5:  I mean more work for the modder:  if the engine breaks backwards compat and ignores the use of ${} and the modder has to fix his or her mods to compensate?  or if the engine stays the way it is and the modder has to fix his or her mod to restrict stuff being sent to the client?
20:04 VanessaE s/engine/server engine/g
20:04 sfan5 that's pretty much equal work
20:05 VanessaE red-NaN: there's more than passwords that might be considered sensitive, though I can't think of anything right now.
20:05 red-NaN just generate the hash on the first server startup and store it in mod storage
20:05 VanessaE sfan5: in terms of the actual change, probably - but how many man-hours would be spent, aggregated across all of the mods out there so-affected?
20:05 sfan5 it's not only sensetive stuff, the main point is avoiding resends of stuff the client won't need anyway
20:06 sfan5 VanessaE: dunno but IMO it is preferred to have "work on your mod to use this new small nice feature" than "you need to work on your mod otherwise it's broken"
20:06 VanessaE the search results I came up with would suggest it's more work to restrict the data than to forward it after a compat break (and for games, clearly the opposite)
20:07 VanessaE but only just barely.
20:07 Warr1024 joined #minetest-dev
20:08 red-NaN well requiring modders to manually mark thier data as server-only wouldn't help much with the resend issue
20:08 VanessaE but I tend to side with you as far as what's more preferable in general
20:08 red-NaN most wouldn't bother
20:08 VanessaE red-NaN: no, it wouldn't help, except in the case of something like technic or pipeworks, where 99% of the meta used with those is of no interest to clients.
20:08 sfan5 red-NaN: it would because i'm guessing that it's mostly a small number of mods like pipeworks or technic that need this fix
20:09 sfan5 the amount of modders that need to get involved is very different (lower)
20:09 VanessaE ninja'd :)
20:09 sfan5 indeed
20:09 VanessaE ok then I concede.  send all meta by default, restrict it where appropriate.
20:10 VanessaE [04-22 16:01] <Krock> local server_meta = minetest.get_server_meta(pos), with the same functions as get_meta   <--- makes sense.
20:10 Krock just an idea. to have the same methods but the stuff isn't sent to the clients (handled differently)
20:11 sfan5 i'd prefer having minetest.mark_meta_as_serverside(pos, {"password", "eu_level"})
20:11 sfan5 [maybe not that exact api though]
20:12 Krock rather  mymeta:mark_serverside({ fields })  :)
20:12 Krock but that's also a good idea
20:12 VanessaE that's probably better
20:13 sfan5 yeah
20:15 VanessaE any chance such a thing can make it in before freeze>?
20:15 sfan5 likely not
20:16 sfan5 but as its server-side only nothing prevents you from running a patched version
20:16 VanessaE well I'm just thinking in terms of "ok, you need 0.4.16 for this to work" instead of the usual "get a dev build from Foovember 39th or later"
20:18 sfan5 actually it depends on how simple it turns out to be
20:22 torgdor joined #minetest-dev
20:24 VanessaE who knows, someone might code it in response to this discussion :)
20:35 Warr1024 joined #minetest-dev
20:42 rubenwardy joined #minetest-dev
20:48 juhdanad joined #minetest-dev
20:51 proller joined #minetest-dev
20:58 ShadowNinja "core.setting_getbool("instrument.chatcommand") or true"  ummm...
21:05 celeron55 lol
21:07 Fritigern joined #minetest-dev
21:08 benrob0329 joined #minetest-dev
21:23 troller joined #minetest-dev
21:27 electrodude512 joined #minetest-dev
21:35 ^v joined #minetest-dev
21:45 paramat joined #minetest-dev
21:45 paramat oops slept through meeting :]
21:49 benrob0329 joined #minetest-dev
22:36 halt_ joined #minetest-dev
22:39 Fixer crash o_O
22:40 paramat ?
22:41 Fixer minetest crash, interesting
22:42 paramat which commit you on?
22:42 Fixer 4c03190
22:42 paramat ok not my fault then
22:43 paramat hopefully
22:43 halt_ joined #minetest-dev
22:43 Fixer crash occured while i was on mp server, i tried to Press T chat key, pressed some keys like x c v before that
22:43 Fixer and it crashed
22:44 benrob0329 joined #minetest-dev
22:46 Fixer minetest.exe / msvcrt.dll / 0xc0000005
22:47 Fixer also zoom
22:52 rubenwardy try restarting your PC
22:53 Fixer_ joined #minetest-dev
22:53 rubenwardy I found that restarting fixed 0xc0000005
22:55 Fixer_ 0xc0000005 is segfault iirc
22:56 rubenwardy Are you able to run a debug build?
22:56 rubenwardy / attach a debugger
22:58 Fixer_ yeah
22:58 Fixer_ need to build a debug version
22:58 Fixer_ can't reproduce
23:00 red-NaN I used to get ranndom crashes like that in an older version of mt
23:01 Fixer_ 0xc0000005 is ultra rare for me
23:04 benrob03291 joined #minetest-dev
23:12 Fixer joined #minetest-dev
23:30 QwertyDragon joined #minetest-dev
23:35 electrodude512 rubenwardy: I didn't realize that CSM was now implemented until you just said so on the KeyEventBox PR
23:36 electrodude512 I'm reading doc/client_lua_api.md now
23:38 electrodude512 Instead of transferring mods to the client, why don't you just have a server-side lua function(player, code_as_string) that sends some code to a player's client and has the client run it?
23:38 red-NaN thats a horrible idea
23:39 electrodude512 Why?  Because it can be abused, or what?
23:39 electrodude512 It'd just be a remote dofile
23:39 red-NaN plus it basicly gets rid of the only reason for it to exist
23:40 electrodude512 I suppose I have an unusual use case, then.  (computer mod - run computers on clients for less lag)
23:40 red-NaN huh
23:41 red-NaN it still has loadstring
23:41 electrodude512 Can you give me an example of what CSM was intended for?
23:41 rubenwardy visual things
23:42 rubenwardy and client side prediction
23:42 red-NaN more advance audio
23:42 red-NaN particle stuff
23:42 rubenwardy *audiovisual
23:42 red-NaN and some user installed mods UI
23:42 electrodude512 ok
23:42 red-NaN e.g. improved chat
23:43 electrodude512 Like tab completion and help and such?
23:43 rubenwardy you must remember that the any code that a client runs can be tamptered with, so to reduce the ability to cheat you should only use CSM for UI/GUI stuff, audiovisual improvements, and client side prediction (ie: predicting where carts will move if the server is lagging, to stop derailing)
23:43 red-NaN anyway you could implement your usecase with a local formspec and loadstring
23:44 benrob0329 joined #minetest-dev
23:44 rubenwardy so: terminals, canvas drawing on formspecs, ambient sounds
23:44 red-NaN yeah there is a PR for tab completion
23:44 tiwake left #minetest-dev
23:44 electrodude512 ok
23:48 electrodude512 I want to make a client-side computer item that has something like a client-side version of ninnghazad's KeyEventBox.  It will run on the client of the player holding it, and will be able to communicate with server-side digiline networks via a wireless digiline modem.
23:49 red-NaN is KeyEventBox a formspec element?
23:49 electrodude512 It isn't now, but ninnghazad wants it to be one.
23:50 electrodude512 https://github.com/minetest/minetest/pull/1737
23:52 electrodude512 #1737
23:52 ShadowBot https://github.com/minetest/minetest/issues/1737 -- Added formspec element 'KeyEventBox' for charbased input by ninnghazad
23:54 electrodude512 OK, I'm going to go read the CSM docs and mess around with it.  Thanks.
23:56 halt_ joined #minetest-dev
23:56 Megaf joined #minetest-dev

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