Minetest logo

IRC log for #minetest-dev, 2014-04-29

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

All times shown according to UTC.

Time Nick Message
00:56 jap__ joined #minetest-dev
01:35 ShadowNinja A lot of things that should be in verbosestream are in infostream, and we should probably have another level like trace.  Aditionally there should be a warningstream.
01:35 psedlak joined #minetest-dev
02:06 CraigyDavi joined #minetest-dev
02:41 Eater4 joined #minetest-dev
02:54 werwerwer joined #minetest-dev
04:34 kaeza joined #minetest-dev
04:35 diemartin joined #minetest-dev
04:38 Exio4 joined #minetest-dev
05:18 BrandonReese joined #minetest-dev
05:25 nore joined #minetest-dev
05:30 nore joined #minetest-dev
05:37 Kray joined #minetest-dev
05:43 ShadowNinja joined #minetest-dev
07:06 restcoser joined #minetest-dev
07:18 darkrose joined #minetest-dev
08:10 rsiska joined #minetest-dev
08:15 ImQ009 joined #minetest-dev
09:17 darkrose joined #minetest-dev
09:38 jin_xi joined #minetest-dev
09:46 proller joined #minetest-dev
09:48 blaise joined #minetest-dev
11:24 smoke_fumus joined #minetest-dev
11:40 grrk-bzzt joined #minetest-dev
11:48 PenguinDad joined #minetest-dev
11:54 nore joined #minetest-dev
12:56 restcoser joined #minetest-dev
13:03 hmmmm joined #minetest-dev
14:25 Hiradur joined #minetest-dev
14:38 Taoki hmmmm: I was wondering. Is it possible for mapgen v7 to generate lakes which are composed of water, but the top layer is ice? Would be useful for generating snow biomes directly with ice on them rather than water.
14:40 grrk-bzzt joined #minetest-dev
14:45 sapier joined #minetest-dev
15:00 sapier ShadowNinja: we already have a trace level log
15:00 ShadowNinja sapier: Oh.
15:01 ShadowNinja sapier: I only see verbosestream in log.h.
15:01 sapier It's easy to miss because it seems to be added in a quite ugly way
15:01 sapier log.h L74
15:01 ShadowNinja Oh, yes, I see.
15:02 ShadowNinja The log streams are kind of ugly to begin with though.
15:03 sapier but I don't understand why it's been done that way, trace level is directly below error so it'd have been most obvious to be handled same way ... no idea why it wasn't done that way
15:09 BlockMen joined #minetest-dev
15:10 ShadowNinja sapier: 1070 Seemed good.  It isn't done as nicely as it would be nice to do, but it's better than crashing.
15:11 sapier what's #1070
15:11 ShadowBot https://github.com/minetest/minetest/issues/1070 -- Fix support for "null" videodriver e.g. for bots by sapier
15:12 sapier oh, celeron is right it's really ugly
15:12 sapier ShadowNinja: does script_error print backtrace?
15:14 Anchakor_ joined #minetest-dev
15:21 Jordach joined #minetest-dev
15:26 ShadowNinja sapier: It prints the string value on the top if the stack.  If you used lua_pcall with script_error_handler that string will contain a traceback.
15:26 sapier I don't know what's used above I wanna call it from various locations
15:27 Taoki Hi. Does anyone know if 6D facedir is possible for nodeboxes at this day? So a node with a single nodebox definition can be rotated in any way based on placement angle... rather than having to define 6 items for each rotation of a nodebox thing
15:27 ShadowNinja Without a error handler it just prints the error message. (attempt to index a nil value at /foo/bar/mod/init.lua:1337)
15:27 sapier are all our lua calls surrounded by error handlers yet?
15:28 ShadowNinja sapier: Well, it's only supposed to be called after a failed lua_pcall.
15:28 ShadowNinja sapier: Yes, all use a error handler, unless I messed one (unlikely).
15:28 ShadowNinja (Or someone added a new one without adding a error handler.
15:28 ShadowNinja )
15:31 BlockMen Taoki, look at the screwdriver (_game)
15:32 Taoki Right... I remember that now. Thanks
15:32 Taoki Does this means the wires in technic_game are finally defined as one entity each, and there are no longer 6 entities for every corner and the like?
15:33 ShadowNinja Taoki: s/entity/node/ and no.
15:33 BlockMen idk anything of technic_game, sry
15:41 Jordach interesting bug: create a glasslike node and then give it different textures for each face instead of the expected result, you'll get the same texture all over
15:43 proller joined #minetest-dev
15:43 Taoki Ugh... I wish someone documented register_biome. I know some still consider it experimental, but that would help
15:43 Jordach do it with a nodebox and the effect works AS IS.
15:44 Taoki Anyone know where I can find the latest biome script for MGV7
15:44 Jordach Taoki, i did consider making MVG7 to work with MTG
15:44 Taoki And no, do NOT tell me again to not use v7 because it's not finished! :P
15:44 Taoki MTG?
15:44 Jordach Minetest_Game
15:44 Taoki Oh
15:45 Taoki It does work with minetest_game very nicely :P You just need the biome script
15:45 Taoki Which gets downdated often. And the latest version I have doesn't seem to define biomes properly any more
15:45 Jordach Taoki, which is why i was going to do myself
15:45 Taoki Oh. hmmmm maintains a biome script for minetest_game IIRC
15:45 Taoki Just not in the same place
15:49 Calinou joined #minetest-dev
15:52 sapier https://github.com/minetest/minetest/pull/1261
15:52 sapier #1261
15:52 ShadowBot https://github.com/minetest/minetest/issues/1261 -- Add proper lua api deprecated handling by sapier
15:52 sapier ShadowNinja can you make ShadowBot to lookup full pull links too?
15:53 ShadowNinja sapier: Yes.
15:53 sapier thanks
15:54 sfan5 sapier: mimicry (that is not a word I know) -> mimic, defailt -> default
15:55 Jordach sfan5, that is
15:56 sfan5 oh well, ignore the first thing I said then
15:57 sapier ok the question is does mimicry realy mean same thing in english I wanted to say
15:57 sapier no it's anoun
15:58 sfan5 mimicry is the act of mimicing something
15:58 sfan5 you used it like a verb
15:58 sapier yes so it's a word but still wrong ;-)
15:59 sapier fixed it
16:10 PilzAdam joined #minetest-dev
16:14 sapier any comments to #1241? I'd like to merge it today if noone finds bugs in it
16:14 ShadowBot https://github.com/minetest/minetest/issues/1241 -- Add formspec toolkit and refactor mainmenu to use it by sapier
16:16 sapier Just to make it clear, the "game" buttons may not be exactly identical to previous ones, in exchange the game bar is now scrollable
16:23 ShadowNinja sapier: I've made some.
16:24 rsiska joined #minetest-dev
16:25 [PavelS] joined #minetest-dev
16:26 sapier well imho it's wrong lua files not having license headers, it's been reasonable while lua code have been minor parts but it's grown to a degree where license does make sense
16:28 ShadowNinja Perhaps.  But it so, later and to all files.
16:28 sapier You've got a pull out there touching all the other files you can fix it there too
16:29 ShadowNinja I haven't touched the mainmenu files, other than init.lua, yet.
16:29 sapier and the this/self issue ... I don't see any benefit in doing that change, most of us are c++ coders and will understand this even better
16:31 ShadowNinja sapier: But this is Lua.  And you're doing classes wrong, every object will have a copy or every member function, rather than Lua looking up the main one.
16:31 sapier I'm gonne check the files I touched for missing headers and add them but I wont check other files too
16:31 ShadowNinja of*
16:31 ShadowNinja FWIW Python uses self too.  I don't think anyone will have trouble understanding what it is.
16:31 sapier if it was wrong it didn't work. And I wont discuss another 10h about this topic like the default size, if you believe it to be wrong you can change it later
16:33 ShadowNinja sapier: I won't agree to this way of doing classes.  Even functions that all take a table parameter would be better.
16:34 sapier ok then I'm gonna drop that pull and whole android port with it
16:34 ShadowNinja I even gave you an example.
16:34 sapier I'm done with silly style guide discussions
16:35 ShadowNinja It's not style, it's design.
16:35 diemartin joined #minetest-dev
16:36 sapier it's not design it's your personal cursade for your codestyle dogma
16:36 sapier no need to continue this discussion
16:36 sapier what about #1254?
16:36 ShadowBot https://github.com/minetest/minetest/issues/1254 -- Add download rate to media progress bar (non-HTTP mode only!) by sapier
16:38 ShadowNinja sapier: That's like saying using (std::map) obj["getX"]() instead of obj.getX() is a style decision.  It affects what the code does.
16:38 ShadowNinja You're passing around copies of every menber function.
16:39 ShadowNinja sapier: s/disable_remote_media_server/enable_remote_media/ and it seems fine.
16:40 sapier if you can proove self is anything different then this except of name I agree.
16:42 ShadowNinja sapier: self is a special value in Lua, just like this is a special value in C++.  It's passed implictly when you use member function notation.
16:43 sapier that'S a claim proove it
16:43 ShadowNinja But the main point is that you should use metatables.
16:43 ShadowNinja sapier: Um, this runs in a Lua interpreter:
16:43 sapier if you believe this to be the only way to do it you're gonna have to do it yourself anyway because I won't spend the time to do it
16:44 ShadowNinja local t = {} local function t:f() print(self.x) end t.x = "Hello world" t:f()  -->  "Hello World"
16:44 sapier I've once said I'm gonna support minetest as long as it's fun and it's started to not beeing very funny recently
16:46 ShadowNinja sapier: How about #1258?
16:46 ShadowBot https://github.com/minetest/minetest/issues/1258 -- Organize builtin into subdirectories and use "core" namespace by ShadowNinja
16:47 sapier you're gonna merge it anyway so I don't need to comment it
16:48 BlockMen ShadowNinja, why renaming the namespace?
16:49 ShadowNinja BlockMen: It's awkward for forks.  core is also shorter.  :-)
16:50 BlockMen ShadowNinja, then use engine, not core (since its minetest engine) ;)
16:51 ShadowNinja BlockMen: No, a mod could use that.
16:51 ShadowNinja It's known as both the core and the engine.
16:51 ShadowNinja That's why we're known as *Core* developers.
16:52 BlockMen ShadowNinja, wut? core could also used by a mod
16:52 BlockMen and for me core developer was like the core of a large thing
16:52 sapier Shadowninja according to docs there's not a single difference except of name of parameter between your and my code
16:52 ShadowNinja BlockMen: Yes, any namespace could.  But core is less lakely to be used.
16:52 BlockMen show me one mod that uses engine
16:53 ShadowNinja sapier: Huh, what docs?  For what code?
16:53 sapier lua doc
16:53 sapier the only difference is that notation table:function(a,b) implicitly calls first paramerter "self"
16:54 BlockMen i think renaming the namespace it not necessary now and should be done within a larger switch
16:54 BlockMen like for minetest 0.5.x
16:54 sapier so table:function(a,b) is exactly identical to table.function(self,a,b)
16:54 ShadowNinja sapier: That's the only difference to the code inside the function.  But the object and the way that it is called is very different.
16:54 sapier no it isn't
16:54 ShadowNinja sapier: Nope, table:function(table, a, b)
16:54 sapier because I DO call it by using object:(a,b)
16:55 ShadowNinja sapier: The same function gets called, but THE WAY THAT IT IS CALLED is different.
16:55 sapier I don't call it that way
16:55 sapier I call it table:function(a,b)
16:56 ShadowNinja One calls a (copied) value, annother looks up the function in the class table and then calls it.
16:56 sapier READ WHAT I'M TELLING
16:56 ShadowNinja Er, table:function(a, b) == table.function(table, a, b) rather.
16:56 ShadowNinja I am.
16:56 sapier no it isn't
16:56 proller joined #minetest-dev
16:57 ShadowNinja I don't think you understand what I'm saying.
16:57 sapier table:function(a,b) doesn't lookup table again while table.function(table,a,b) does
16:57 ShadowNinja sapier: See how this does classes: https://github.com/ShadowNinja/LuaIRC/blob/master/init.lua
16:57 ShadowNinja I know, but I'm not talking about that.
16:57 sapier do it yourself I don't believe you
16:58 ShadowNinja Do what?
16:58 sapier your're so smart if you really believe your way is the only way to do it you're gonna have to do it yourself or proove you're right
16:58 ShadowNinja BlockMen: It's fully compatible.
16:59 ShadowNinja There's no reason to wait for this.
16:59 BlockMen ShadowNinja, i know. but tell me a good reason to do that now
16:59 ShadowNinja BlockMen: Because it clears up the minetest/engine confusion.
16:59 sapier becaus it's ShadowNinjas will and codingsytle interpretation isn't that enough BlockMen?
17:00 sapier Hmm I start to understand proller
17:00 ShadowNinja sapier: Calm down.
17:00 BlockMen ShadowNinja, and start new confiusion why it is now core, wheather there is any difference for no plus on the other side
17:01 BlockMen i still think this should be done within 0.5.x
17:02 sapier No I wont calm down ShadowNinja because yesterday discussion was about fixing mod bugs in core which is absolutely insane and you kept silent all the time
17:02 ShadowNinja BlockMen: Just say that core is a new name for minetest, and that they are both the same and supported.
17:02 proller ... in this time in [censored]miner speed of liquid flow ~300000 nodes per second ;)
17:03 sapier no need to be proud of avoiding all the hard and time consuming tasks by doing all your own proller ;-P
17:03 ShadowNinja sapier: I don't know what you mean.
17:03 BlockMen ShadowNinja, just say that minetest != minetest_game ?
17:04 ShadowNinja BlockMen: Huh?  minetest_game isn't involved.  Although it should be changed to use the new namespace eventualy.
17:04 proller sapier, i prefer code instead of shittalk
17:05 sapier well as I said I'm starting to understand you at least partial
17:05 BlockMen ShadowNinja, i thought you ment that with minetest/engine confusion. what confusion are you talking about then=
17:05 BlockMen *?
17:05 sapier 10h of discussion to 2h of coding is absolutely inacceptable
17:06 ShadowNinja BlockMen: Builtin used both names, and a lot of sections had things like `local tbl = engine or minetest` in them.
17:06 proller sapier, and solve real problem instead of imagined
17:07 BlockMen engine is only used by clientside lua IIRC
17:07 sapier proller once you start to write clean code I'm gonna explain to you what's different between imagined and hidden problems
17:07 ShadowNinja BlockMen: It's only used by the main menu.  But some files are used by both the server and main menu.
17:08 BlockMen so there is no problem for 99% of modders
17:09 BlockMen IMO it will cause more confusion than there is now, so a change with a huge version change makes more sense
17:09 ShadowNinja BlockMen: Yes, this should only affect main menu script writers (if which there are about two, including sapier).
17:10 ShadowNinja BlockMen: Just make an announcement saying "We now use the core table, you can continue using the minetest table without issues, but mods should switch to the new table.  Both tables are identical, so you can mix them.".
17:11 BlockMen there is no need to switch, ShadowNinja. Im against it.
17:11 sapier well you're gonna have a hell of a work to cleanup current mainmenu because it's become really messy
17:12 proller joined #minetest-dev
17:12 ShadowNinja BlockMen: There is.  The two tables have made the code messy.  We could even leave `core` as an implementation detail and not tell modders about it until 0.5.
17:12 [PavelS] joined #minetest-dev
17:13 BlockMen ShadowNinja, you make confusion for many many moders just because in a few files there is "minetest or engine"
17:14 sapier I'm positive about the name switch but I wont rebase my cleanup to it it's already way too much code moving
17:15 sapier and as usual it's gonna be me to be acused for any bug no matter if it's caused by my changes or ShadowNinjas
17:15 ShadowNinja BlockMen: Don't tell moders about 'core' then.  And using one table alows me to do other things with the core to make it cleaner, such as moving table creation to initialization.
17:16 ShadowNinja sapier: I intentionally didn't touch anything more than the header of the main mainmenu file so that it would rebase with minimal conflicts.
17:17 BlockMen ShadowNinja, fine. do it "in the background", leave documentation as is and im fine (in general)
17:17 BlockMen although im still for engine instead of core
17:17 sapier if you do a rename you have to rename it everywhere otherwise I don't agree to it. That's what's been done fpr luahud add hud functionality and keep same thing in c++ code resulting in two things to maintain
17:18 BlockMen sapier, as long we have 0.4.x it should stay minetest.
17:18 BlockMen * in documentation
17:19 sapier thought he did rename engine to minetest? am I wrong about it?
17:19 BlockMen he changed everything to "core"
17:20 sapier good god ... ShadowNinja ... wtf are you doing?
17:20 ShadowNinja lol
17:20 ShadowNinja I already explaned this.
17:21 sapier isn't it enough to have one compatibility name you need to add two compatibility modes? for what changing a generic name as engine to another generic name like core? why don't you just call it hansottofriedrichwillhelm
17:22 Megaf Hi all
17:22 Megaf I go no bugs to report
17:22 Megaf got*
17:22 sapier celeron55 did express his dislike of generic names because of namespace collisions. I admit I didn't think about that issue when adding engine, and I agree to him. But your're changing things for what? sake if changeing?
17:23 sapier I could understand if you didn't agree to this issue but then the only sane rename would be minetest->engine
17:24 sapier not because engine is superior to core, but because it's equal good/bad and engine is already there
17:25 ShadowNinja <celeron55> ShadowNinja: also the issue i mentioned is not about confusing a minetest file with a generic lua file; the issue is not being able to use a generic term locally in each mod's code <celeron55> i'd like to hear everyone's opinion on this though <celeron55> i'm in favor of "core" because it's shorter <celeron55> (compared to "engine")
17:26 * BlockMen still prefers engine
17:26 sapier me too because it's one less compatibility layer
17:53 sapier ShadowNinja:  did I understand you correct that you believe variant b is superior to variant a? https://gist.github.com/sapier/11407336
17:55 ShadowNinja sapier: Yes, but that's not what I was talking about before.  I'll show you how I want it...
17:56 sapier yo don't need to show me what you want if you don't manage to explain to me why this is really better I don't care what you want or not if there's no real reason for it
17:59 ShadowNinja sapier: https://gist.github.com/sapier/11407336#comment-1219777
18:01 ShadowNinja sapier: Also: assert(someobject.func == new_someobject().func)
18:02 sapier ok and now what't the benefit of adding a fallback table that may or may not be overwritten?
18:03 sapier for what I know functions aren't copied by assignment but referenced only so what's the difference? exept of direct referencing may be even faster
18:03 ShadowNinja One copy of the function obviously.  And it can be overwritten, yes, but you can also overwrite new_someobject.  There's no point in supporting that.
18:04 sapier you expect me to believe that table.someting = somefunc does create a copy of that function?
18:04 ShadowNinja Yes.  Lua only passes tables by reference.
18:05 Taoki Ugh... did biome temperatures also get removed with the removal of finite liquid? I hope I'm not understanding right... cuz that will break a lot of things!
18:05 ShadowNinja Also, pairs() on the table will iterate over functions too, whether or not they're copied.
18:05 Taoki Can anyone explain what's happening? Why would anyone remove such an important feature for no reason?
18:06 ShadowNinja The only mention I found of copying Lua functions in a web search was copying functions between lua_States.
18:06 Taoki There are many mods that likely depended on temperature and humidity and more
18:06 Taoki Finite liquid is fine, don't think anyone cared much... but why remove support for temperature system and the like?
18:06 ShadowNinja Taoki: Weather was removed.  It was buggy and nobody supported it.
18:06 Taoki Mods could have used temperature for other things
18:06 Taoki That's the worst decision I've ever seen taken in this project so far
18:07 BlockMen Taoki, you know even one mod that uses get_heat()?
18:08 Taoki BlockMen: If none were mentioned publicly that doesn't mean it's ok to remove such features after they were added
18:09 Taoki Anyway, I'm seeing you can still get the heatmap of biomes...
18:09 Taoki Maybe that still works. At least with v7 mapgen
18:09 BlockMen Taoki, just because something was introduced it does not mean it has to stay in forever
18:10 Taoki If you have a reliable project, features that can be used like that aren't typically removed
18:11 BlockMen when things are buggy and get not fixed/improved then there is no reason to keep
18:11 sapier according to all doc I find ShadowNinja you're wrong tables strings AND functions are allways passed by reference
18:11 Taoki What was buggy about area temperatures though?
18:11 sapier only plain datatypes are passed by value
18:12 sapier I've got doubts about this doc beeing true for strings too but that'd be easy to chck
18:12 ShadowNinja sapier: Lua strings are interned, so they are internally a reference.  It fact `a="test"` and `b="test"` both point to the same memory location.  They act like seperate values though.
18:12 ShadowNinja I assume functions are interned too.
18:13 Taoki sapier: Any opinion on this too? IMO it's not normal to remove Lua functions which themselves worked well and mods might be depending on
18:13 Taoki I'm thinking of asking enough developers if parts of the weather system can be reverted...
18:13 Taoki Without finite liquid itself, but the parts that were good and shouldn't have been removed
18:13 sapier this results for a = func() end b = a, b beeing same as a
18:14 sapier so table.myfunc = somefunc doesn't create a copy of that func but a first level reference compared to your second level reference by using metatables
18:14 ShadowNinja sapier: Yes, but if you change one of them the other won't be updated.
18:14 sapier one of what?
18:14 ShadowNinja sapier: One of the functions.
18:15 sapier if those functions are changed runtime something is terribly broken
18:15 VanessaE Taoki: if you need temperature/humidity, use plants_lib.
18:15 Taoki VanessaE: Looking or what lua functions I can use to still get them in latest master
18:15 Taoki I plan to use them myself later on
18:15 Taoki Well, PLANNED to use features that got blindly removed for no reason. Now I need to find an alternative
18:16 sapier I dont want my library code to be rewritten on the fly that horrific style
18:16 Taoki eg: I wanted players not wearing armor (good clothing) to take damage where it's too cold
18:16 ShadowNinja sapier: No, functions are often overridien by mods (I beleive this is called decorating) to catch values passed to them.
18:17 BlockMen Taoki, all i can say that i got no sane values for get_heat() when testing it
18:17 ShadowNinja sapier: That's also harder to maintain, since you have to add a copy for every new member function, rather than just adding it to the class table.
18:17 sapier you don't get it if those functions are overwritten it's gonna be broken
18:17 VanessaE Taoki: plants_lib can do that.
18:17 Taoki BlockMen: Heat and humidity would oscilate per area
18:17 VanessaE (it sounds unintuitive, but it does have that ability oddly enough)
18:17 Taoki VanessaE: Is plants_lib a md or code for the engine? I need mine to work with the original engine in master
18:18 VanessaE it's a mod.
18:18 BlockMen Taoki: https://github.com/minetest/minetest/commit/0279f32db742f06d24a9d01c46f7d70c5e570eb2#diff-1305560bd8befb32862f0feeefabd02eL1446
18:18 sapier that's not some custom code it's basic like 1+1 = 2 ... if you change this behaviour don't expect any calculation to be correct
18:18 Taoki ok
18:19 Taoki BlockMen: Yeah, a very bad choice IMO. I'm hoping other developers will agree to revert some of it
18:19 ShadowNinja sapier: Eg, local x = core.register_node function core.register_node(name, ...) print("Node", name, "registered") return x(name, ...) end
18:20 ShadowNinja Prints all node names as they are registered.
18:20 sapier we're not talking about some code to be replaced by mods
18:20 Taoki Ok... minetest.get_mapgen_object should be able to retreive humidity and temperature of a biome. Can anyone confirm?
18:21 ShadowNinja sapier: Regardless, metatables are cleaner.
18:21 sapier no they aren't their just your style no more no less
18:22 sapier they add another language feature causing additional side effect where that feature isn't required and even potentially harmfull
18:23 sapier if someone messes up a single object it's gonna be broken for all objects of same type
18:23 Taoki great... now everyone's ignoring me
18:25 sapier to much bad blood in here right now taoki it's not your fault
18:25 Taoki makes sense
18:25 Taoki Where can I find a list with all core developers? I want to petition re-adding weather without finite liquid
18:26 sapier I guess shadow is writing at a lua styleguide right now to force all others to follow his will
18:27 BlockMen Taoki, https://github.com/orgs/minetest/members
18:27 BlockMen all core devs
18:27 Taoki Thanks
18:32 Anchakor_ joined #minetest-dev
18:34 Miner_48er joined #minetest-dev
18:43 Megaf_ joined #minetest-dev
18:43 sapier I'm gonna push #1254 once travis build of fixed version is completed
18:43 ShadowBot https://github.com/minetest/minetest/issues/1254 -- Add download rate to media progress bar (non-HTTP mode only!) by sapier
18:43 Megaf_ joined #minetest-dev
18:48 sapier ShadowNinja: what to use instead of script_error, errorhandling is your baby
18:50 Amaz_ joined #minetest-dev
18:52 ShadowNinja sapier: errorstream or an exception.
18:52 ShadowNinja (Errorstream would be more appropriate in that case)
18:53 sapier errorstream will flood in game log that's not intended
18:54 sapier what to use instead of script_error, that's way more important then what stream to use for fatals
18:57 ShadowNinja sapier: It isn't?  Don't you want to log depreciation errors?
18:58 sapier I want to log them not to flood game with it
18:58 sapier verbosestream is usually written to log imho that's enough
18:59 sapier and mod developers should use error anyway where they're gonna see the reason too
18:59 ShadowNinja errorstream -> log and console.
18:59 sapier isn't script error supposed to do that too?
18:59 ShadowNinja It might also go to the chat in singleplayer.
18:59 ShadowNinja sapier: script_error is for an entirely different purpose.
19:00 sapier that's exactly what I don't want it to behave
19:00 sapier those messages (at log level) shall be there but not stop minetest from working at all
19:00 ShadowNinja sapier: script_error dumps the string on the top of the stack into a exception.
19:00 ShadowNinja Which is caught and sent to errorstream.
19:00 sapier ok what do i use to get the current backtrace? get backtrace and throw luaerror?
19:01 sapier pushing 1254 now
19:01 ShadowNinja Getting the backtrace is only successfull if the stack hasn't unwound.  And you could use a LuaError.
19:02 sapier ok lets precisely specify what I want to have, I want to see the backtrace of current lua call where the deprecated function is called. how do i do this with current code
19:03 sapier don't tell me it's not possible that'd be strange
19:04 Taoki celeron55, PilzAdam, hmmmm, BlockMen, sapier, and anyone else in the dev team: https://forum.minetest.net/viewtopic.php?f=7&amp;t=9215 Please vote and post your opinion here if you wish to have a say on the matter.
19:04 Taoki Sorry for highlighting many devs also... I really wish for someone to take a look at this however
19:05 sapier taoki do you have anyone to do the work?
19:05 Taoki sapier: Reverting a GIT commit is the only work that would be needed :P Apart from separating finite fluid from weather perhaps, if only one is to be re-added
19:06 ShadowNinja sapier: script_get_backtrace should work there.
19:06 ShadowNinja Taoki: Git isn't an acronym.
19:06 Taoki sapier: If people want, I can try to pick the GIT diff and extract weather from finite liquid
19:06 sapier but that one doesn't throw the error
19:07 sapier taoki that code was reverted because it's been broken and quite ugly we wont merge it again that way. in order to get it merged it needs some rework
19:07 sapier ok actually it was reverted because of proller didn't want it to be there but noone did reject his request because of upper reason
19:08 Taoki sapier: What was broken? I didn't see any problem with it
19:08 sapier ShadowNinja so throw LuaError(script_get_backtrace(L)) wont cause double stacktrace?
19:09 ShadowNinja sapier: Yes.  LuaError doesn't collect one anymore.
19:09 tomreyn joined #minetest-dev
19:10 sapier ok ... btw can you stop quoting same code shifted by 2 lines over and over again and use a single quote and line numbers?
19:11 ShadowNinja sapier: Do you mean make one comment for multiple lines?
19:11 sapier if those lines are L10 L11 and L12 yes ;-P
19:16 sapier ok guess using errorstream in error mode wont cause any harm so I'm gonna change it to what you requested here too
19:27 harrison joined #minetest-dev
19:28 sapier ok ok verbosestream is wrong for everything, actually I'd like it to be at actionstream ... but that's pretty wrong because it ain't a action, why don't we have any real loglevel written to log but not shown in char
19:32 sapier ShadowNinja: throw LuaError is causing a double stacktrace
19:36 Hiradur joined #minetest-dev
19:37 proller joined #minetest-dev
19:39 sapier any other comments to #1261? if not I'm gonna merge it in about 2h
19:39 ShadowBot https://github.com/minetest/minetest/issues/1261 -- Add proper Lua API deprecated handling by sapier
19:50 Taoki Oh... one more thing. Don't wanna sound ironic, but seeing this it's actually a real concern; I'm going to use mapgen v7 as part of a game I will be making. Is there a certainty that at least this mapgen will never be removed? At least as long as there isn't another one suporting all of its features... particularily Lua biomes
19:50 Taoki Like I dunno... if hmmmm doesn't fix the remaining bugs in the next years or so (just theoretically, am sure he will)
19:51 sapier usually we keep compatibility, I'll try to make sure n-1 compatibility is kept but I'd not bet on it
19:54 Megaf_ sapier: did you get my message?
19:55 sapier no megaf
19:55 PilzAdam Taoki, if you want heat and humidity in mods just use the noise functions of mapgen
19:55 sapier was lost withing heavy fire
19:56 Taoki PilzAdam: How do I get the humidity and heat at a certain position at any moment however? I'm seeing it's only possible to read in on_generate, using the mapgen object
19:56 PilzAdam Taoki, thats basically what the API function did when you had weather=false in minetest.conf
19:56 Taoki I know all mapgens have heat / humidity map, but no idea if there's still a way to read them from Lua
19:56 Taoki Is there?
19:56 PilzAdam I guess a callback for that can be added
19:57 sapier wasn't that one removed with weather?
19:57 PilzAdam we don't need to re-add the whole dynamic weather stuff for that
19:57 Taoki That would be very appreciated yes
19:57 Taoki If a Lua function is added to get mapgen heat and humidity at any posision (x, y, z), I'm happy enough
19:57 sapier of course if that data is still there it's not a big deal to provide access to it
19:57 Taoki Though I miss humidity dependentfog density :/
19:58 PilzAdam was that even in Minetest?
19:58 PilzAdam I thought it was only in freeminer
19:59 Taoki Or well, any Lua function that can provide the complete heatmap and humiditymap. But possibly with a builtin function to get value per position
19:59 Taoki PilzAdam: Yes, for quite some time
20:00 PilzAdam Taoki, have you set weather=true in minetest.conf?
20:00 Taoki PilzAdam: Yes. Though it no longer matters now since the system was removed.
20:01 PilzAdam the fog is only changed if you have that to true
20:01 PilzAdam *was
20:01 Taoki proller decided to remove the whole weather system with finite liquid. Which I disagree with.
20:01 Taoki I understand finite liquid was buggy, but I haven't heard the same about weather myself
20:03 PilzAdam proller implemented weather in a way that it depends on finite liquids
20:03 PilzAdam also all these hard-coded ABMs aren't good for Minetest as a game engine
20:04 Taoki PilzAdam: My personal suggestion is to add back only part of the weather code. Particularily per-position temperature / humidity, as well as fog density depending on humidity
20:04 Taoki If that's done, any game can do its own weather in Lua
20:05 Taoki And freezing / unfreezing can be done the right way, without any hard-coded ABM (I didn't even know about that). Just have an ABM executing every X seconds and checking temperature at its location
20:05 PilzAdam so simply add functions to read the heat and humidity that is used in mapgen
20:06 sapier Taoki everyone agrees to having weather in there but you need to find someone to write/fix the code
20:06 Taoki Sure. Though I also enjoyed seeing them in the debug text (F5) and fog depending on humidity. Perhaps that can be kept?
20:06 PilzAdam the dynamic change of that can be done in Lua too
20:06 Taoki sapier: What's so badly broken though :P
20:07 PilzAdam bringing back the fog thing is a problem though; since I don't want to make the heat/humidity functions dynamic
20:07 PilzAdam that part should be done in Lua
20:07 Taoki PilzAdam: IIRC you can't set a player's fog density in Lua (or draw distance). That would also solve it, since I mostly care to use this for non-minetest_game stuff
20:07 Taoki ok
20:07 Taoki Later we can add a function to force draw distance, which will also include fog
20:07 PilzAdam btw, was that weather stuff removed from minetest_game?
20:08 Taoki If I consider anything urgent though, it's the ability to get heat / humidity from mapgen per position.
20:08 Taoki PilzAdam: I think so. Freezing is obviously gone now
20:08 PilzAdam the freezemelt field is still there; also in lua_api.txt
20:09 PilzAdam that needs to be cleaned up
20:09 proller but minetest_game now read only!
20:11 Taoki proller: I understand the weather code at least is yours, so you know best what's up with it. Any way in which you consider it could be added back without finite liquid? Or more specifically, and parts of it?
20:11 PilzAdam #1263
20:11 ShadowBot https://github.com/minetest/minetest/issues/1263 -- Remains of weather
20:12 proller Taoki, do what you want
20:12 Taoki I don't have GIT access :P If it's just selecting parts of the code someone who can also merge them would be best at that
20:12 Taoki Asking you since you did the reverting
20:13 Taoki Also I'm bad with mapgen stuff... never looked at that part of the code
20:20 Exio4 joined #minetest-dev
20:21 Taoki Either way, I usually never ask other developers to code something for me. But since this is something I made plans based on, and the revert removed this feature, I'd really appreciate a re-implementation of heat / humidity @ position reading in Lua. Past that I don't care... humidity based fog can be done in Lua later perhaps.
20:22 Taoki But someone please re-add this ASAP. I mean, if anyone has the time and wishes to.
20:23 proller it implemented in freeminer, faster and less buggier
20:24 sfan5 that is not a solution
20:24 sfan5 Taoki: simply use your own perlin noise 3d to get such things
20:24 sfan5 s/simply//
20:24 Taoki proller: Can it be pulled in Minetest too?
20:24 Taoki sfan5: I need to know the mapgen's temp / heat map. Can perlin noise be used for that?
20:25 sfan5 hm
20:25 sfan5 yes
20:25 sfan5 but you may need to specilize yourself to mgv6
20:25 proller Taoki, its not small changes, everybody will against this
20:25 sfan5 mgv7 has different noise params and biomes
20:26 Taoki ok. Kinda needing such a thing for v7
20:26 Taoki But if it's possible, someone who understands perlin noise might add the function in builtin
20:26 sfan5 I think biomes affect this thing too
20:26 sfan5 but I'm not sure
20:26 sfan5 you don't need a function
20:26 Taoki What's the current way to do it in Lua in that case?
20:26 sfan5 you just need to have the data mgv6 uses for the perlin noise 2D/3D that is used to compute heat & humidity
20:27 Taoki Sadly I don't understand anything this fancy, when it comes to perlin maps and all that
20:28 sfan5 you just need to understand the bit of code in mgv6 that calculates heat / humidity and port that to lua
20:28 sfan5 then you have a (mgv6 specific) solution
20:28 Taoki I think the old code (back when weather was in) worked for all mapgens
20:29 Taoki That's why I suggested porting back only that piece of code
20:29 sfan5 why?
20:29 sfan5 heat / humidity has no use for minetest or it's core features
20:29 Taoki sfan5: It can be used for many things. And I plan to use it myself a lot
20:29 sfan5 if a mod needs it you may have to port the code to lua and then use
20:29 Taoki When I get started on my game... hopefully soon
20:30 sfan5 may I know for what?
20:30 sapier ShadowNinja: I admit string.format is really faster, it doesn't make a huge difference but as it's supposed to be a base lib I'm gonna fix it
20:31 Taoki For one thing, I want to add freezing / unfreezing of water sources in my game, even without finite liquid. There's other ideas too... such as players taking damage when it's really cold / hot and they aren't dressed properly. Or tinging the screen blue / red based on how hot or cold it is
20:31 sfan5 are we using things like http://msgpack.org/ yet?
20:31 Taoki **tinting
20:31 sfan5 Taoki: you can use a perlin 3D map with parameters you like for that
20:31 Taoki But temperature must represent the biome :P
20:32 Taoki I have no idea how to do that, and apparently it's no longer possible since the old weather system is gone
20:32 Taoki That's the problem
20:32 sfan5 then somehow get the biome by looking which nodes are there
20:33 Taoki That's an ugly hack, and wouldn't always work... especially not properly
20:33 Taoki The right way is a basic Lua function that can return heat / humidity at position
20:34 ShadowNinja sfan5: We're using JSON.
20:34 sfan5 isn't msgpack faster?
20:34 ShadowNinja freeminer uses msgpack for a lot of things.
20:35 ShadowNinja sfan5: Maybe.  I haven't done benchmarks.
20:35 Taoki proller: What are the changes needed for that, and why would anyone be against it?
20:35 sapier I am against it
20:35 ShadowNinja Deserialization should definitely be faster.  Serialization might be comparable.
20:35 Taoki :/
20:35 proller ;)
20:36 sapier we just added json because someone wanted this super cool new format ... that's been half a year ago
20:36 Taoki Ah, thought aspier meant me lol
20:36 Taoki **sapier
20:36 proller remove json now!
20:36 sapier next one in another half a year?
20:36 sapier we're gonna switch serialization format more often then we do a release this way
20:37 proller ShadowNinja will implement masterserver with marchal serialize
20:37 proller on php
20:37 Taoki proller: Anyway, can you please try to find a solution for this, since you know that code best? Simplest way works if it returns the proper value, so any implementation the devs find best will do
20:37 sfan5 proller: php is bad
20:37 sapier no if I know ShadowNinja rigth he's gonna do base lua dump serialization ;-
20:37 ShadowNinja sapier: JSON was added because a standard format was needed.  Lua format isn't easy to read.
20:38 sapier You really believe this true?
20:38 proller Taoki, fm.
20:38 Taoki fm?
20:39 proller sapier, xml much better!
20:39 ShadowNinja sapier: Yes.  Do you think that we should have implemented minetest.deserialize in perl?
20:39 proller Taoki, freeminer
20:39 Taoki I don't plan to develop something which isn't compatible with core Minetest
20:39 Taoki Need it to work here too
20:40 sapier no but I know that json wasn't added because it's better but because it's been prefered language of a single person ... the one promising to rewrite the json parsing code ... which isn't even done yet
20:40 proller json is not language
20:41 sapier call it whatever noun you want
20:41 ShadowNinja sapier: JSON is standardized and has a easy to use library for just about every language in existence.  It's better.
20:42 sapier as well as how many other languages/formats out there? ... I don't say it may not have been chosen if having done a proper evaluation too but that didn't happen
20:43 sapier but if was done we could now answer to requests for another serialization format "no we don't need it because of x y z ..."
20:44 ShadowNinja sapier: Tell me of another standardized format that has so many implementations.
20:44 sapier if you only want "so many implementations" xml is the obvious answer ... not telling xml is better for what we need
20:46 sapier as I said json may have been choosen to but don't tell me it's been chosen based upon solid evaluation that's simply not true
20:47 sapier and if there is good reason to use msgpack now that'd be a proove the way json was chosen was wrong
20:50 sapier I'm pushing #1261 in a few minutes anyone wanna tell about a bug beeing in there?
20:50 ShadowBot sapier: Error: Delemiter not found.
20:51 grrk-bzzt joined #minetest-dev
20:55 sapier I wonder why github decided to print 20 lines for each line comment is a good idea, if someone like shadowninja abuses this feature to mark every second line the comments get quite useless.
21:16 BlockMen left #minetest-dev
21:18 ShadowNinja sapier: XML does have a fair amount of implementations, but not as many as JSON.  And it's very difficult (and slow) to use.
21:19 ShadowNinja msgpack is in some ways better that JSON.
21:20 sapier I already regret telling about the insanenness of adding a new serialization twice per year ..
21:26 sapier no open pull requests by sapier ... I wish I could keep it that way ... but I wanna get android port done so back to fighting
21:29 sapier ShadowNinja: may I delete the comments I for #1241 I fixed in order to see whats left?
21:29 ShadowBot sapier: Error: Delemiter not found.
21:56 EvergreenTree joined #minetest-dev
21:59 sapier any concerns about #1264
21:59 ShadowBot sapier: Error: Delemiter not found.
22:00 sapier Fix usage of deprecated functions in builtin       #1264
22:00 ShadowBot sapier: Error: Delemiter not found.
22:00 * VanessaE kicks ShadowBot in the bolts.
22:02 CiaranG The world needs more delemiters, whatever the hell they are
22:02 CiaranG ShadowBot: try looking for delimeters, that could work ;)
22:05 sapier guess ShadowBot doesn't like me any longer ;-)
22:05 diemartin delimiters work too :P
22:06 sapier I'm still gonna push 1264 it's a syntactical fix only
22:12 sapier #1265 please check it does only change heart and bubblebars to scale correctly
22:12 ShadowBot sapier: Error: Delemiter not found.
22:14 RealBadAngel joined #minetest-dev
22:15 RealBadAngel hi folks, whats up?
22:15 Taoki hiii
22:15 Taoki Not much
22:16 VanessaE hey RBA
22:16 Taoki Pissed about a feature removal related to something I was going to use, trying to get the attention of more devs. Also I wanted to ask you something and toptally forgot what :P
22:16 RealBadAngel lemme guess
22:16 sapier I'm not involved ;-P
22:16 RealBadAngel some fluid thingy?
22:17 Taoki RealBadAngel: Close. The removal of the weather system, which also removed the ability to read mapgen humidity and temperatures
22:17 Taoki Ah, and I think I remembered at least one thing I wanted to ask
22:17 VanessaE maybe I should rename plants_lib to biome_lib and add a few extra functions to make it possible to replace the now-defunct weather code.   anyone wanna help? ;)
22:18 RealBadAngel sapier, i will push the changes tommorow i think, i took day off so will have lotsa time to finish that. and i want it to be complete, so no1 will ever touch it again
22:18 Taoki RealBadAngel: 6D facedir for nodeboxes is possible now. Is Technic finally using it for wires? So only one form of each type of wire can be defined as a node, to not bloat and slow things
22:18 VanessaE RealBadAngel: do not.
22:19 sapier RealBadAngel: I just added proper lua api deprecation handling, maybe having this mechanism in place is a way to settle the dispute ... doesn't seem so if you're already at confrontation ...
22:19 sapier +again
22:19 RealBadAngel oh, what have you changed?
22:20 sapier added a way to notify mod developers about deprecated api in a more sane way then flooding screen with error messages for everyone
22:20 RealBadAngel Taoki, only reasonable thing for wires is wirelike
22:21 Taoki RealBadAngel: Wouldn't 6D facedirs for nodeboxes do till then? Wirelike would be nice, but doesn't seem to be in yet
22:21 RealBadAngel or that branch that uses meta to store node defs
22:21 sapier basically it's how minetest will react to deprecated api, in release mode it's set to legacy --> mimic old behaviour
22:21 sapier debug build defaults to logging usage of deprecated api
22:22 sapier and for mod developers there's an additional configuration level "error" causing minetest to print a backtrace and stop execution on usage of deprecated api
22:23 RealBadAngel sapier, what i started to code is fixing statbar to behave same way as it before, but also allowing the way you have used to (if needed)
22:23 sapier why do you start coding things already done ... nih syndrom?
22:23 RealBadAngel started 2 days ago, but had no time to finish
22:24 Taoki RealBadAngel: Ahhh, now I remembered what I was going to ask you! :)
22:24 sapier as far as I remember you didn't ever want to keep the statbar behaviour
22:24 RealBadAngel sapier, you have forced me to want it
22:25 Taoki RealBadAngel: About the texturable sky. Is it possible to have the 6 sky textures contain transparent areas, but have the normal sky be visible behind it (colors, sun / moon, stars and clouds)?
22:25 RealBadAngel so you will have ur baloons ;)
22:25 sapier but that's pointless please check 1265
22:25 Taoki The Lua API seems to suggest you can only use bgcolor behind transparent areas
22:25 RealBadAngel sapier, ok
22:25 sapier no it's just what taoki suffers from right now
22:25 sapier some behaviour beeing changed
22:25 RealBadAngel Taoki, atm no
22:25 Taoki Ahh, ok. I was hoping to use that
22:26 RealBadAngel using skybox disables other elements
22:26 Taoki sapier: It's just a feature I was going to use being removed, but yeah
22:26 sapier yes I admit I was somehow sleeping when proller did remove it, didn't realize about the consequences
22:26 RealBadAngel this has to be changed
22:26 Taoki RealBadAngel: Any chance you might be able to correct that sometime? Would be very nice and helpful... might make good stuff with it
22:26 RealBadAngel we do need at least two layers of skyboxes
22:26 RealBadAngel and regular sun/moon
22:27 RealBadAngel with that we can emulate weather
22:27 RealBadAngel and day/night cycle
22:27 RealBadAngel fire up terasology and see how folks have done it
22:27 Taoki sapier: Just worried some of my ideas might no longer be possible, which is why I'm poking devs to find a solution. To me though, any of the 3 things is OK: Re-add everything back, re-add only part of proller's code (the weather), or add a completely new Lua function to retreive heat / humidity
22:28 Taoki But I hope one will happen
22:28 Taoki RealBadAngel: The current sky and sun / moon is good. But yeah, it would prolly require two layers to allow both sky textures and regular sky
22:28 sapier if heat/humidity is stored in map, it's not gonna be a big deal to readd it
22:29 RealBadAngel shouldnt that be a part of mapgen?
22:29 Taoki RealBadAngel: If you can though, put it on your TODO list please. Thinking of how this could be used to put things like giant spaceships on the sky or much more... but without removing the current normal sky
22:29 VanessaE RealBadAngel: and the G*d damned skybox needs to be available BY DEFAULT without a separate mod.
22:29 VanessaE that means adding the necessary code to minetest_game, even if the skybox images themselves aren't actually being supplied.
22:29 Taoki sapier: IIRC all mapgens use heat and humidity. At least v7... not sure if v6. So it should be possible to add a Lua function to get thgem again
22:30 RealBadAngel VanessaE, propably c55 will scream out loud again that im replacing so damn good code with my revelations
22:30 Taoki problem is if and when anyone will do that. Since most devs seem to be against re-adding proller's code
22:30 RealBadAngel as with sun gradients ;)
22:30 Taoki Sun gradients were a great idea
22:30 VanessaE RealBadAngel: yeah but you got the sun gradient to a point where he was at least conducive to the idea.
22:30 Taoki RealBadAngel: BTW... do sun gradients color the directional fog too now?
22:36 Taoki No worries if not. It should be easy to add that also, since the sun and moon colors both exist at once in the sky code, and are applied based on camera direction and blending value. So just replace the colors themselves and everything else will work by itself
22:37 RealBadAngel well, i was watching its behaviour closely
22:37 RealBadAngel it jumps
22:37 RealBadAngel tonemaps makes the transitions smooth
22:37 RealBadAngel propably c55 just put too much time into that code so he just love it ;)
22:37 RealBadAngel one thing i wish some1 could start to code
22:37 RealBadAngel using meshes as nodes
22:37 RealBadAngel Taoki, you could use tonemaps
22:37 sapier isn't that the one taboo minetest is never supposed to do?
22:38 RealBadAngel simple if (m_sun_tonemap)
22:38 * VanessaE lags
22:38 Taoki Not familiar with them myself sadly
22:38 sapier considering we already have mesh/polygon handling issues I'd ask if it'd be wise to use compilcated meshes for nodes too ;-)
22:38 RealBadAngel Taoki, just read my latest changes to sky cpp
22:39 RealBadAngel sapier, i have already saw (made) irrlicht dwarf being displayed in mt
22:39 RealBadAngel thats not a problem
22:40 sapier I don't say it doesn't work for a single mesh but thinking about vanessae's spawn issue I'm almost sure we've got a serious issue
22:40 sapier what's gonna happen if you've got 200 meshed nodes each beeing 500 polygons?
22:40 sapier and that'd not even be a complicated mesh
22:40 RealBadAngel that is also not a problem
22:41 RealBadAngel you know why?
22:41 RealBadAngel its gonna be only client side
22:41 sapier ohhhh I seee 1fps on client side is not an issue
22:41 RealBadAngel the problem, the real one is the number of nodes
22:42 sapier If you know the problem why didn't you fix the one happening for vanessae's server yet?
22:42 VanessaE well no one sane would use meshes for something that there will be hundreds of displayed
22:42 sapier I don't know what exactly happens there, I just know basics
22:42 RealBadAngel we do have thousands of multiplied node definitions
22:43 RealBadAngel for wires/tubes and the like
22:43 sapier I don't believe in features being used in a sane way, especially if it's that easy to abuse it
22:43 VanessaE but something like pipes where 99% of them are never actually *visible* (e.g. buried underground) it shouldn't matter if they have 50 or 50,000 polys each.  If you can't see it, it shouldn't contribute to the rendering pipeline and shouldn't slow your fps down.
22:43 VanessaE on Creative I mean
22:43 VanessaE that specific instance is where they're all hidden
22:43 VanessaE and yet FPS is poor there
22:44 VanessaE everyone blames the underground pipes
22:44 Taoki VanessaE: Since you run a popular server, I thought to suggest you too: https://forum.minetest.net/viewtopic.php?f=3&amp;t=156&amp;p=139975#p140000 See the mod in this screenshots post I made. It adds a beautiful environment Minetest doesn't have by default, and which would add an amazing feel to it
22:44 sapier I agree to VanessaE and until we know why this happens we should be very very carefull to not increase polygon count even more then already possible
22:44 Taoki (and sorry, I forgot this isn't for the dev channel)
22:44 RealBadAngel sapier, polygon count is and will be high no matter what
22:45 RealBadAngel even dirt is made out of it
22:45 Megaf dev people, please do remove the "Preload Item Visuals" from settings and set it to off, since it doest actually do anything at all on the gameplayer and it only makes connection time a really painful and slow thing
22:45 sapier maybe, but by now it seems to be best explanation, you can provide a better one. I assume you've got the knowledge to find that issue, I don't have that much knowledge about ittlicht
22:45 Megaf ^ sapier
22:46 VanessaE Taoki: see /msg
22:46 RealBadAngel Megaf, that should be replaced with some well thought rendering code
22:47 VanessaE Megaf: when turned on, preload item visuals pre-renders all of the nodes/items ahead of time so that the game doesn't have to hang when new items show up.  this isn't too noticable with default textures, but if you use a high-rez texture pack it is VERY noticable.
22:47 hmmmm ern
22:47 VanessaE it's a trade-off, what's needed is a way to turn off item texture extrusion entirely, like with this patch I use that kahrl gave me
22:47 Taoki hi hmmmm
22:47 hmmmm are you suggesting that objects aren't occlusion culled already?
22:47 sapier I agree to megaf about switching the default, maybe vanessae but with high res textures you usually give up connection kill minetest and disable preloading in order to be able to enter
22:48 VanessaE it makes leaving preload item visuals turned off almost entirely lag-free during normal gameplay
22:48 VanessaE (at the expense of no 3d wielded items)
22:48 VanessaE hmmmm: others are alluding to this, yeah.
22:48 hmmmm err rather
22:49 hmmmm it seems that occlusion culling in irrlicht doesn't cull things outside of the view frustrum
22:49 hmmmm err does*
22:49 hmmmm just doesn't cull nodes that are inside but occluded
22:49 VanessaE hmmmm: correct
22:49 hmmmm that's the purpose of occlusion queries which we probably don't make use of
22:49 VanessaE there's an issue report from AGES ago about this
22:49 hmmmm oh wait a minute
22:49 hmmmm occlusion happens on a per-node basis
22:50 hmmmm isn't the entire scene in minetest a single node?
22:50 VanessaE https://github.com/minetest/minetest/issues/184
22:50 VanessaE yes, it is.
22:50 VanessaE a single irrlicht node that is
22:50 hmmmm well gosh i think that's the problem
22:50 hmmmm why is the entire map a node
22:50 hmmmm what problems are there with making a mapblock an entire node?
22:51 hmmmm (question directed to people who know more about irrlicht and 3d graphics than I do *cough taoki celeron55 kahrl*)
22:51 hmmmm RBGA too
22:51 hmmmm RBA rather
22:51 VanessaE hmmmm: beats the hell outta me
22:51 VanessaE I'd have figured one mapblock per irrlicht node would make more sense
22:51 Taoki hmmmm: Not sure if you saw the long debate above. But in essence, weather support was removed with finite liquid, and there's no way to read humidity / temperature per position any more. So I was wondering: Would it make sense to add a function for v7, which can return temperature / humidity at specific position?
22:51 Taoki Since mgv7 is what I'm planning to use either way
22:51 VanessaE or one node per material per material per mapblock maybe
22:52 hmmmm erm
22:52 hmmmm taoki that exists already to a point
22:52 Taoki oh?
22:52 hmmmm they're called "humiditymap" and "heatmap" mapgen objects
22:52 Taoki I looked in the Lua API but didn't find much
22:52 Taoki Ah,
22:52 Taoki Yes, saw those
22:52 hmmmm the problem is
22:52 Taoki You can only get them in on_generated however
22:52 hmmmm yes
22:52 Taoki I need to always be able to get temp / humidity at any position
22:52 hmmmm I'm working on the biome stuff
22:52 Taoki Any way to add that?
22:53 Taoki Awesome :)
22:53 hmmmm right NOW, no
22:53 hmmmm i do plan on making a query biome at point sort of thing for lua though
22:53 hmmmm and the other associated functions
22:53 Taoki ok
22:53 VanessaE from what I've read about how people prefer irrlicht to be used, that's how it "should" be done anyway
22:53 VanessaE oops, too many "per material" there.
22:53 hmmmm i've been blowing a lot of time polishing up my perlin noise generator for quick map previewing
22:53 Taoki hmmmm: Also, I suggest seeing this: https://forum.minetest.net/viewtopic.php?f=3&amp;t=156&amp;p=139975#p140000 Congrats on what v7 is able to do so far, that looks amazing!
22:54 VanessaE one node per material, per mapblock maybe
22:54 hmmmm this is how i can figure out optimal values for perlin noise without starting up minetest 500 times with a new map
22:54 Taoki It's another mod BTW, not mine
22:54 hmmmm mapgen v7 as-is sucks
22:55 Taoki Paradoxally, given you're developing it and care most, I disagree!
22:55 Taoki v7 is awesome as-is
22:56 Taoki I know it's incomplete. But still awesome :)
22:56 RealBadAngel gosh i was almost called a color system ;)
22:56 RealBadAngel and yes, whole mt world is a single node
22:56 RealBadAngel sometimes two
22:56 hmmmm and the first iteration was great too
22:56 VanessaE hmmmm: I mean, in a given mapblock, stone might be assigned to one irrlicht node, dirt with grass to another, etc etc.  then do the same thing again for the next mapnode
22:56 VanessaE fuck me, LAG CITY.
22:56 RealBadAngel because meshes are restricted in irrlicht for 64k count for a scene node
22:56 hmmmm in certain parts
22:56 Taoki Hahaa! RGBA does sound with RBA :D
22:56 Megaf Hey, Im getting a lot of out of memory errors on my client right now
22:56 Taoki Ironic since you work in graphics so much too
22:56 Megaf they are scrolling on its "console"
22:56 hmmmm i should save these as like, mapgen v7.1, mapgen v7.2, so on
22:56 hmmmm RealBadAngel, and that's a problem
22:56 Megaf ERROR[main] WARNING .... out of memory
22:57 Megaf first time I seethat
22:57 VanessaE joined #minetest-dev
22:57 hmmmm alright
22:57 RealBadAngel jeez, irc lags, i just wrote 2 lines and got like 40 back
22:57 sapier what did you do megaf?
22:57 VanessaE ditto
22:57 hmmmm so while we're playing with scene nodes it'd probably be a good idea to split off translucent things into a separate one
22:57 Megaf http://paste.debian.net/96484/
22:57 VanessaE hmmmm: agreed.
22:58 Megaf sapier: nothing, a friend of mine was having very same issue yesterday
22:58 RealBadAngel we could start with making groups of nodes
22:58 hmmmm so, is it plausible or not to have two scene nodes per mapblock (one opaque and one translucent materials)?
22:58 sapier maybe we shold check this with valgrind again
22:58 VanessaE hmmmm: plausible, sure.  absolutely.
22:58 Megaf and dont say that Im out of memory, 64 bit and 8 GB of ram here
22:58 hmmmm why don't we do this... :/
22:58 hmmmm christ
22:58 hmmmm i already have so many other things to work on
22:58 Megaf sfan5: out of memory on client too,
22:58 hmmmm i need to just start hurrying up
22:59 VanessaE hmmmm: because lazy?  random?
22:59 RealBadAngel like water scene node for example
22:59 VanessaE honestly because no one wants to attack the client
22:59 RealBadAngel we can use then what irrlicht can offer by default
22:59 VanessaE I expect this sort of stuff is not trivial
22:59 RealBadAngel like reflections, refractions and so on
23:00 VanessaE hmmmm: and like you just said, maybe simply a lack of time
23:00 RealBadAngel also if you would like to know all the stuff ive coded (i mean parallax, bumpmapping is aviable in irrlicht by default)
23:01 RealBadAngel just as material type
23:03 caneves joined #minetest-dev
23:04 RealBadAngel hmmmm, i will try to make just two groups of nodes for a start
23:04 Megaf RealBadAngel: Im compiling minetest from you shaders branch
23:04 Megaf Im not sure what to expect from it
23:05 RealBadAngel Megaf, definitely you shall expect mesh updates to be WAY faster
23:05 Megaf RealBadAngel: and what about those new shaders?
23:06 RealBadAngel they do not add anything new in sense of features
23:06 RealBadAngel all what was there before is put into ONE universal nodes shader
23:07 RealBadAngel also the shaders system is now targeted
23:07 RealBadAngel so nodes have own shader, water another one
23:07 RealBadAngel each element can have in fact own shader
23:07 sapier left #minetest-dev
23:07 RealBadAngel even the air
23:08 RealBadAngel whatever evelement have tile defined, can have set shader to show that tile
23:09 Taoki Sounds awesome!
23:10 Taoki Your works on graphics are quite lifesaving RBA :) Especially since MT sorta suffers from low FPS since it existed... faster mesh updates or shaders should mean a lot
23:10 Taoki If only... if only... VBO code... grumble
23:10 Megaf well, I just enabled a lot of waving and shader and smoothing thing on minetest.conf
23:10 Megaf and bumpmaping and stuff
23:10 Megaf Im expacting to get 4 FPS :P
23:11 RealBadAngel megaf, please do download sphax's tp
23:11 RealBadAngel and then turn generatin maps/bumpmapping
23:11 Megaf RealBadAngel: FPS is pretty good, but I see all reddish
23:11 RealBadAngel ah, then youre failed to compile shaders
23:12 RealBadAngel can i have logs?
23:12 rsiska joined #minetest-dev
23:12 celeron55 01:53:48 <+hmmmm> what problems are there with making a mapblock an entire node?
23:12 celeron55 none, assuming you have infinite time for implementing it
23:12 Taoki Sounds like a weirder video driver. That's usually what causes shaders to fail for a minority of users
23:12 celeron55 or, well
23:13 VanessaE Megaf: what video hardware?
23:13 celeron55 you have to somehow build into it the occlusion culling and so
23:13 RealBadAngel celeron55, main issue? makin use of different materials
23:13 celeron55 but it shouldn't be a big deal
23:13 Megaf GLSL shader failed to compile
23:13 Megaf Vertex shader failed to compile with the following errors:
23:13 RealBadAngel for example water should be separate scene node
23:13 Megaf VanessaE: Radeon HD 4200 using AMDs driver
23:14 Megaf I saw this happens on windows machines with nvidia cards too
23:14 Taoki Megaf: More completely, what video hardware, video driver and version, platform (windows and linux) and version of irrlicht
23:14 Megaf using sfan5's build
23:14 Taoki Ah
23:14 Taoki (also irrlicht versino might matter less actually)
23:14 Megaf so, it doesnt really matter my conf
23:14 Megaf latest stable
23:14 Megaf from irrlight website
23:15 Megaf Taoki: it happens only with RealBadAngel branch
23:15 VanessaE Megaf: integrated graphics?
23:15 VanessaE (and those have shaders?)
23:15 Megaf VanessaE: yep
23:15 EvergreenTree joined #minetest-dev
23:15 Megaf ERROR: 0:75: error(#71) Syntax error incorrect preprocessor directive
23:15 Megaf ERROR: error(#273) 1 compilation errors.  No code generated
23:15 Megaf those kind of errors
23:15 RealBadAngel integrated gfx is good to fire up office
23:15 RealBadAngel not the shaders ;)
23:16 Megaf RealBadAngel: well, this GPU had been a pretty damn good GPU for me, till I try your build
23:16 Megaf Im not changing GPU because of you
23:16 Taoki Megaf: I know. Asking because I've had compilation errors too, on MESA in my case. Sometimes a video driver doesn't like some little things being written one way rather than another. Like one might prefer x = x + 1 and not agree with x += 1
23:16 RealBadAngel please consider buying something that is capable of displaying graphics not just cells and rows ;)
23:17 Megaf RealBadAngel: you should better know that card before talking shit
23:17 RealBadAngel which is?
23:17 Megaf RealBadAngel: would you pay me a new GPU?
23:18 RealBadAngel i can send you my old hd 4660 if you want to
23:18 Megaf RealBadAngel: it can run normal minetest shaders without any problem
23:18 RealBadAngel it does 40fps on 1,8ghz dual core system
23:18 VanessaE Megaf: HD4000-series cards are very old and very slow compared to even my HD6800-series card (and it's not exactly top-of-the-line these days either).  Integrated graphics devices are NOT meant for playing 3d games!
23:19 Taoki RealBadAngel: That does sound like an old card. But like Megat said, not everyone has money to get a new GPU
23:19 Taoki As much as it sucks... since I like big and fast video cards
23:19 Megaf RealBadAngel: my does 60 FPS at 1080p
23:19 Megaf on minetest
23:19 VanessaE maybe RBA's code has a bug, but your code is ass-old.
23:19 RealBadAngel with shaders?
23:19 Taoki but yeah, 4xxx sounds very old indeed >.<
23:19 Taoki Especially on the official drivers! Since the latest for it are prolly very old too
23:19 VanessaE 60 fps at 1080p...with what view range?
23:19 Megaf yep, but withou mipmapping and smooth lighting
23:19 VanessaE and what how much stuff displayed?
23:19 Megaf VanessaE: 40
23:19 * Taoki wonders if it can even support OpenGL 3.0 or 3.1 or 3.2
23:20 VanessaE yeah.  thought so.  try again with a view range of say, 120
23:20 VanessaE and complex terrain with lots of structures.
23:20 RealBadAngel btw, i just realized one thing
23:21 VanessaE s/but your code/but your card/
23:21 RealBadAngel how sfan5 is supposed to have build of my experimental branch?
23:21 RealBadAngel even i dont have win build for that
23:21 Megaf what do you think about the AMD R7 240?
23:21 Megaf RealBadAngel: he didnt]
23:22 RealBadAngel so what have you tried exactly?
23:22 Megaf I just said I had the same issue on totally different configuration
23:22 RealBadAngel can you link me that?
23:22 Megaf and build
23:23 RealBadAngel i just want to see client/shaders folder
23:23 RealBadAngel when theres more than one shader, its out of date
23:26 Megaf VanessaE: I think I will buy an AMD R7 240
23:27 VanessaE Megaf: nice
23:28 Megaf its new, at least
23:28 VanessaE no wait
23:28 VanessaE misread that
23:28 VanessaE 240?  forget it
23:28 Megaf why?
23:28 VanessaE that's way slow
23:28 Megaf much better than my hd 4200
23:29 VanessaE that card rates a 944 on passmark.  my HD 6870 rates 2580.
23:29 VanessaE get something modern.
23:29 VanessaE something like an R9 270 would be good
23:29 VanessaE those are reasonably-priced, around $180
23:30 Taoki HD 6870 here. Had it for over 3 years I think, but still very good
23:30 Taoki Though 1024 Vram can sometimes get too little at this day
23:30 VanessaE yep, HD6870 is good if used properly.
23:30 Megaf the R7 240 costs here 143.08 US Dollar
23:30 RealBadAngel anything integrated is shit, no matter what
23:30 Megaf equivalent to 143.08 US Dollar
23:30 VanessaE the R9 270 rates 4238 on passmark
23:30 Megaf not cheap already
23:30 VanessaE R7 240 is dog slow
23:30 VanessaE do NOT buy it
23:31 VanessaE if you spend money on a video card, buy a good one
23:31 * Taoki still wonders if I'm the only one running Minetest and other games on the free video drivers tho (Gallium / MESA)
23:31 VanessaE you will kick yourself later for wasting your money if you do not
23:31 RealBadAngel first of all, most of integrated ones share memory with cpu
23:31 Megaf what about a HD5450 ?
23:31 RealBadAngel which is the main problem
23:31 RealBadAngel and that can kill even the fastest gpu
23:32 Megaf I dont really have a lot of options in Brazil...
23:32 VanessaE HD5450 rates 233.
23:32 VanessaE screw that.
23:32 RealBadAngel can you check 4660?
23:32 RealBadAngel i just wonder ;)
23:32 VanessaE passmark has no result for that one.
23:32 VanessaE why are we discussing this in -dev?
23:33 RealBadAngel out of boredom? ;)
23:33 Taoki Right. Discussion here tends to deviate to non-dev stuff easily sometimes :P
23:33 RealBadAngel oh, cmon, we are socializing ourselves :)
23:35 RealBadAngel thats what differs us from bots ;)
23:36 RealBadAngel megaf, i will make a proper win build for you tommorow
23:36 RealBadAngel then you will check how it does
23:36 Megaf RealBadAngel: Its linux here...
23:36 Megaf in looking for a new GPU
23:37 RealBadAngel huh? then why you have mentioned sfan builds?
23:37 Megaf because I had the same issue on a totally different setup
23:37 Megaf VanessaE: RealBadAngel: is this any good http://www.newegg.com/Product/Product.aspx?Item=N82E16814202094 ?
23:37 RealBadAngel ah i see
23:38 VanessaE --> #minetest
23:38 RealBadAngel idk if its any good but it has cool red fans :)
23:41 Taoki RealBadAngel: While the chat here is idle anyway. There's... actually another idea I had in mind. Which could be done with shaders, and I'm thinking it might be really cool
23:42 Taoki What if some solid blocks, such as dirt and sand, could be subdivided and noise added to them? So they won't look like full blocks any more, but noisy and crushed... to look more random like real dirt is.
23:43 RealBadAngel hmmm
23:43 VanessaE Taoki: maybe a texture?
23:43 Taoki Something like this http://russersminecraft.files.wordpress.com/2011/08/minecraft-brownies.jpg lol
23:43 VanessaE say you supply a noise texture with several "frames"
23:43 RealBadAngel but with much higher dpi
23:43 VanessaE and random frames from it are added randomly to the world
23:43 Taoki VanessaE: Nah. Parallax wouldn't be enough to get a good enough effect. Such would likely need geometry deformation
23:43 Taoki Similar to the wavery water, but of course static... and noisier
23:44 VanessaE nono not for parallax.  I mean literally added to the nodes' surfaces.
23:44 RealBadAngel Taoki, have you tried Tiled texture packs?
23:44 Taoki Wait, found a better example
23:44 Taoki http://gamesloveres.com/wp-content/uploads/2014/04/minecraft-grass-block-texture-topminecraft--claying-grass-blocks-----how-to-by-regi-on-cut-out---keep-hkx2tzer.jpg
23:44 VanessaE ohhhh
23:44 Taoki Photoshopped actually, but well
23:44 VanessaE interesting idea but that would be GPU-intensive, no?
23:45 RealBadAngel ouch, thats ugly
23:45 VanessaE what about my idea though?
23:46 Taoki Don't think it would. Depends how many times it would subdivide block meshes
23:46 RealBadAngel http://i.imgur.com/Da5e49B.png
23:46 Taoki But I think it could give really awesome results to use this idea in some way
23:46 VanessaE you provide an image, say default_dirt_with_grass_noise.png  and this file has, let's say, 10 vertical frames.  It gets added to all dirt with grass topsides randomly, so that no two neighboring nodes look exactly the same
23:46 Taoki Subdivide the mesh of solid blocks, and add some noise. To make the ground feel truly grass-like and noisy, not so much lego with perfectly flat surfaces
23:46 VanessaE er, one randomly-chosen frame from it gets added, that is
23:46 Taoki RealBadAngel: Nice!
23:47 RealBadAngel this feature is already in
23:48 RealBadAngel https://forum.minetest.net/download/file.php?id=264
23:48 RealBadAngel just try those texture packs with shaders enabled
23:49 RealBadAngel and the bumpmapping ofc

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