Time Nick Message 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. 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. 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: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: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 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: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: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: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: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: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 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: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 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 i'd like to hear everyone's opinion on this though i'm in favor of "core" because it's shorter (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: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:48 sapier ShadowNinja: what to use instead of script_error, errorhandling is your baby 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&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: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: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: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: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: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: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: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: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&t=156&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&t=156&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 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: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 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 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 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