Time  Nick            Message
01:44 QwertyCool      aaaaaand crashed on entering game
01:46 QwertyCool      maybe because it was a special server?
01:46 QwertyCool      hmmm
02:01 paramat         Shara i finished review of fireflies
02:01 Shara           paramat: Thank you
02:04 Shara           Heh, I'll admit I didn't use dig_immediate because I simply dislike it. I like things to be more sturdy, but can easily change it if you prefer. :)
02:20 Shara           paramat: updated
02:23 paramat         yes i prefer dig immediate, partly for consistency
02:25 Shara           Already done :)
02:25 paramat         +1
02:25 Shara           Awesome :)
02:27 paramat         i might as well merge it later with the other PRs, i can see rubenwardy has thumbed-up
02:28 Shara           I know he was looking at it, but he didn't comment there
02:28 Shara           Given this is adding a whole mod, it would really be nice if any of the others looked at it
02:29 Shara           But it's also sat there for five days, and the issue even longer with no real objections from anyone :)
02:30 paramat         it has 2 approvals, can always tweak later. anyway back in an hour to merge stuff
02:30 Shara           Sure :)
02:50 QwertyCool      krock if youre around could you help walk me through getting into a debugger on windows
02:50 QwertyCool      or anyone really
02:51 QwertyCool      please*
03:01 rubenwardy      QwertyCool: fixing the scaling would be nice
03:01 rubenwardy      although painful with the current formspec design - no responsive nex
03:01 rubenwardy      the best you can do is make the dialog fit the window well, and everything scale proportionally
03:02 rubenwardy      currently text doesn't scale with it (it should), and icons in table views don't either
03:02 rubenwardy      also, and icon needs to be quite large to work on high densities to not be pixellated
03:03 rubenwardy      a mipmap would be nice for that (basically the same image at multiple sizes, it should automagically resize the image to be the right size for an element)
03:04 rubenwardy      but given that these have been problems since formspecs were introduced, the fix is messy
03:04 rubenwardy      I also have never used a debugger on windows, sorry
03:07 QwertyCool      thanks for the input rubenwardy!!
03:07 QwertyCool      i'll keep that in mind
03:08 QwertyCool      first i gotta get debugging to work so i can move forward
03:11 QwertyCool      might just have to run this all from my ubuntu boot
03:41 paramat         will merge game#2030 game#2034 game#2039 in a few mins
03:41 ShadowBot       https://github.com/minetest/minetest_game/issues/2030 -- Intersects_protection(): Remove from Minetest Game by paramat
03:41 ShadowBot       https://github.com/minetest/minetest_game/issues/2034 -- Add fireflies by Ezhh
03:41 ShadowBot       https://github.com/minetest/minetest_game/issues/2039 -- Doors: Avoid crash on nil player in 'can dig door' by paramat
03:47 QwertyCool      dope! got debugging working
03:56 paramat         merging
04:04 paramat         there are the mobs!
04:04 paramat         ^ celeron55
04:04 paramat         merged
04:05 Shara           I think players will want more than just fireflies :D
04:09 paramat         i'm quite keen to work on adding oerkki, never coded a mobs mod before
04:12 Shara           Yes, would be good to get something in.
04:12 Shara           Need to think about what I'll work on next now.
04:14 Shara           But will try and look at the flower spread PR tomorrow. I want to test that out to see how it feels in game
04:34 QwertyCool      stack tracing got me like @.@
08:37 celeron55       lol
09:19 fireglow        Hi.  Got some got on my server that is able to glitch through walls.
09:19 fireglow        should I try to capture its traffic?
09:23 Krock           IP ban. done.
09:23 fireglow        sure :>
09:23 fireglow        but I'm wondering who's doing that
11:42 juhdanad        I had another idea: the node definition manager is implemented in three classes: INodeDefManager (read-only), IWritableNodeDefManager and CNodeDefManager (implementation in the cpp file)
11:42 juhdanad        So it is possible to convert them to one class:
11:42 juhdanad        *INodeDefManager -> const *NodeDefManager
11:42 juhdanad        *IWritableNodeDefManager -> *NodeDefManager
11:42 juhdanad        This way all virtual method calls can be eliminated.
11:44 juhdanad        So I implemented that, but there is no significant increase in performance for some reason.
11:49 nerzhul         hello
11:50 nerzhul         juhdanad you want to remove the interface to have just the object because we never use polymorphism ?
11:51 juhdanad        Yes, the node definition manager is accessed many times, and there is only one implementation.
11:53 nerzhul         no problem for me to simplify this, but some old core dev can cry :p
11:53 nerzhul         all of theses are basically singletons and the interface has no interest
11:53 juhdanad        The implementation is done, I can make a PR, if you want.
11:53 juhdanad        But I expected performance increase too.
11:54 juhdanad        And it turns out that performance is unchanged.
11:54 juhdanad        (on my compiler)
11:54 nerzhul         it's logical
11:54 nerzhul         a cast is free
11:54 nerzhul         polymorphism doesn't have cost if correctly used
11:55 juhdanad        I mean, the get() method was pure virtual in INodeDefManager.
11:55 nerzhul         yes, because if must be implemeted
11:56 nerzhul         it*
11:56 juhdanad        I just read that virtual functions are slower to call than plain member functions.
11:57 nerzhul         in which book ? C++03 spec alpha on PIII ? :p
11:58 juhdanad        Just a web search on "c++ virtual function performance". Maybe I overreacted this.
11:59 nerzhul         compilers are pretty intelligent, and maybe because one have only 1 child class they just merge both and there is no performance penalty
12:13 juhdanad        Now I found difference! The liquid scan of map blocks became faster: 71 ms/mapblock -> 49 ms/mapblock.
12:13 nerzhul         interesting if it's really that
12:14 juhdanad        But mesh generation and light update didn't change. Let me test again...
12:15 nerzhul         maybe we should switch to go to not have any polymorphism haha
12:15 nerzhul         or pure C :p
12:16 sfan5           rewrite it in rust
12:16 nerzhul         heh
14:35 exio4           nerzhul: eh, this ain't polymorphism, this is inheritance if anything :p
17:18 QwertyCool      https://github.com/minetest/minetest/pull/7007 woop
17:25 Megaf           #7007
17:25 ShadowBot       https://github.com/minetest/minetest/issues/7007 -- improving error message in src/map.cpp - closes #6977 by QwertyCoolMT
17:25 Megaf           you have my curiosity
17:26 Megaf           QwertyCool: any chance you can add screenshot of before and after?
17:26 Megaf           or just copy and paste will do
17:26 juhdanad        Screenshot of terminal output?
17:26 Megaf           yep
17:27 Megaf           it says, improving, so, show how
17:27 juhdanad        Now it prints param0, param1 and param2 of the node that is unknown.
17:28 QwertyCool      one moment.
17:31 paramat         #6999 is a simple bugfix that stops item entities moving in 'ignore', as the code intended to do but didn't, can anyone approve? sfan5
17:31 ShadowBot       https://github.com/minetest/minetest/issues/6999 -- Item entity: Prevent motion in ignore nodes by paramat
17:36 QwertyCool      https://imgur.com/a/9L0kk
17:36 QwertyCool      @megaf
17:37 Krock           paramat, "local node = core.get_node_or_nil"
17:37 Krock           why do you even check for the name being "ignore" then?
17:37 Krock           node and node.name ~= "ignore"   shortens to  node
17:38 Megaf           QwertyCool: LGTM
17:38 paramat         'unloaded world' is different to 'loaded but ignore', that was the mistake the previous code made
17:38 paramat         get node or nil is not nil for loaded ignore
17:38 paramat         hmm actually
17:39 paramat         it doesn't matter
17:39 paramat         because is_moving = (def and ..) OR vel ~= 0
17:39 paramat         if it's moving then checking def has no effect
17:41 paramat         even if def is nil in ignore that doesn't stop motion (tests confirm)
17:42 Krock           I see, however it's a pity that get_node_or_nil may also return ignore
17:43 paramat         i'll check that
17:44 Krock           you're right about that ignore check. the logic looks good
17:47 paramat         i'll check the behaviour of 'node or nil' again to be sure
17:49 QwertyCool      worth fixing node_or_nil in this case?
17:49 paramat         no because much will rely on that behaviour
17:50 paramat         a new function would be needed, if needed
17:50 sfan5           people rely on get_node_or_nil being able to return ignore?
17:50 sfan5           i doubt that
17:52 paramat         well code will be written based on that behaviour, so changing it will break stuff
17:53 rubenwardy      the whole point of _or_nil is that it returns nil if the block isn't loaded
17:53 sfan5           ^
17:53 Lord_Buckethead ^
17:53 paramat         docs are "Same as `get_node` but returns `nil` for unloaded areas."
17:53 rubenwardy      returning ignore is fine if it's somehow placed in a loaded area
17:53 Lord_Buckethead so return nil for ignore
17:53 rubenwardy      can you even place ignore?
17:53 Lord_Buckethead no
17:53 paramat         a loaded area can have ignore, at the edge of the world, seems useful as it is
17:53 sfan5           oh well
17:53 Lord_Buckethead I don't think you can even with vm
17:55 rubenwardy      maybe in the case you mention, it should return ignore as the map isn't loaded even if the block is
17:55 rubenwardy      heh
17:55 paramat         also when reducing mapgen limit all around the generated world outside the limit there is ignore
17:56 paramat         i think it does return 'ignore' for loaded 'ignore', will check again
17:58 QwertyCool      what is the proper way to update a pull request code?
18:00 juhdanad        I think push a new commit to your branch.
18:01 QwertyCool      sfan5: nix the params alltogether? or keep param1? or?  example of not all 0's https://imgur.com/a/9L0kk
18:05 QwertyCool      sfan: wouldn't it be param0 = whatever id the mod tried to place? or is it somewhere converted to a ignore node id?
18:05 paramat         yes push a commit to the PR branch
18:06 QwertyCool      ok thank you paramat & juhdanad
18:06 paramat         you can merge the new commit with the previous commit in the branch with 'git commit --amend'
18:06 juhdanad        Thank you for contributing to the project.
18:07 juhdanad        --amend is not recommended, because reviewers have to check the whole changeset again!
18:11 QwertyCool      perfect, will do.
18:13 rubenwardy      don't worry about squashing
18:13 rubenwardy      paramat: there's no need to ask someone to squash, it can be done on merge
18:15 nerzhul         rubenwardy yes, it's just good when then changesets have more than 5-6 commits for a single medium change :p
18:18 QwertyCool      anyone know wherew scaling is handled in mt-game?
18:18 rubenwardy      it's not
18:18 rubenwardy      it's in the engine
18:19 QwertyCool      doooope
18:19 rubenwardy      GUIFormspec.cpp
18:19 QwertyCool      bless your soul.
18:19 QwertyCool      didnt wanna have to deal with lua just yuet
18:27 paramat         re: --amend, i agree
18:40 paramat         Krock sfan5 confirmed 'get node or nil' returns 'ignore' in 'ignore' nodes, so my PR code seems ok. once i remove the testing code can i merge it?
18:43 nerzhul         we really need unittests on the lua API to test all cases easily without problems...
18:43 nerzhul         nobody seems to care about it except me lol :(
18:45 sfan5           paramat: fine by me
18:48 paramat         thanks
18:49 juhdanad        nerzhul: could you please remove your change request from #6304? I think there is no bug to fix.
18:49 ShadowBot       https://github.com/minetest/minetest/issues/6304 -- Raycast: export exact pointing location by juhdanad
19:09 paramat         i'll also merge #6978 later +1
19:09 ShadowBot       https://github.com/minetest/minetest/issues/6978 -- Remove unused light updating code by juhdanad
19:11 QwertyCool      paramat: just cut out the params then and push update to branch?
19:18 paramat         yes
19:20 QwertyCool      done
21:19 Krock           lisac, could you please also add the "size" HUD field?
21:20 Krock           that's btw also what the linked issue describes
22:11 paramat         Shara game#2038 is ready
22:11 ShadowBot       https://github.com/minetest/minetest_game/issues/2038 -- Coniferous litter: Improve textures, greyer and lighter by paramat
22:12 QwertyCool      is someone already working on HUD scaling?
22:13 Shara           paramat: nice timing. I am the minute or so it takes a kettle to boil away from starting to review things :)
22:13 lisac           Krock: updated
22:14 QwertyCool      lisac link?
22:14 lisac           #7006
22:14 ShadowBot       https://github.com/minetest/minetest/issues/7006 -- Make hud_get return aligment, offset and size. by lisacvuk
22:14 lisac           as for HUD scaling, I don't know
23:50 paramat         updated marram grass texture game#2027 new screenshot
23:50 ShadowBot       https://github.com/minetest/minetest_game/issues/2027 -- Add marram grass for coastal sand dunes by paramat
23:51 QwertyCool      hey paramat are you aware of whether scaling works on linux ?
23:51 QwertyCool      or is it just not a thing
23:51 QwertyCool      across the board
23:52 sfan5           scaling? what scaling?
23:54 QwertyCool      scaling of GUI/HUD
23:54 QwertyCool      on large screens
23:58 paramat         erm, works in what way?