Time Nick Message 00:55 hmmmmm anyway i should probably show you guys this https://github.com/kwolekr/minetest/commit/11ebe50f3d63cfac3b419ff8eb94e4b5b4415a06 00:56 hmmmmm ahk.. i just modified minetest.conf.example btw 01:13 hmmmmmm and also this https://github.com/kwolekr/minetest/commit/6352ac6c4a6f3f7dc338752a962c9931535deedb 01:19 hmmmmmm so in summary there's a new mapgen flag, nolight, which completely disables lighting calculations 01:20 hmmmmmm regular players wouldn't probably want to set this ever, it's intended for mods that add their own mapgen 01:21 hmmmmmm mapgen parameters such as mgname, seed, water_level, and flags can be set through a new minetest.set_mapgen_params function; i specifically left out chunksize because the results of letting a mod touch that would be.... devastating 01:22 hmmmmmm thing is, because of the way everything works, set_mapgen_params can *only* be used within an on_mapgen_init callback 01:23 hmmmmmm so let's say a mod wants to take over the mapgen completely; what it'd do is: minetest.register_on_mapgen_init(function(mgparams) minetest.set_mapgen_params({mgname="singlenode, flags="nolight", flagmask="nolight"})) 01:24 hmmmmmm likewise, you can disable/forcibly enable trees, caves, dungeons, jungles. or any variation this way 03:12 sweetbomber hmmmmmm: have you implemented the biome-map? 03:13 hmmmmmm currently, only mapgen v7 implements it 03:14 hmmmmmm i don't think it's currently very useful with biome ids alone, unless you're the only mod to register biomes 03:15 hmmmmmm (then you'd be able to keep track of what id is for what, based on what order you registered them in) 03:18 sweetbomber v7 has a biome map? 03:18 sweetbomber let me check the last version 03:18 sweetbomber the last time i checked, it only used calcBiome and did no storage 03:22 sweetbomber i just asked because once you said you may implement such map 03:22 sweetbomber *getBiome 03:22 hmmmmmm if i said that i must've meant biome lookup table 03:22 hmmmmmm or biome cache 03:23 sweetbomber ok, i guess i found it 03:25 sweetbomber ok,nice 03:26 sweetbomber maybe ill add a function getBiomeId(std::string name) 03:26 hmmmmmm um 03:26 hmmmmmm BiomeDefManager::getBiomeIdByName() 03:33 sweetbomber what do you think? 03:34 hmmmmmm about what? 03:34 sweetbomber sorry, i lost my connection. only saw your answer now in the log 03:34 sweetbomber that function already exists? 03:34 sweetbomber or you were just suggesting the name for it? 03:36 sweetbomber ok, it does not exist...i was afraid it missed my eye 03:36 sweetbomber ill implement it then 03:36 hmmmmmm erm 03:36 hmmmmmm it'd have to be a lua api, i already have plans for it 03:37 hmmmmmm actually no, it can be entirely done in lua, so it ought to be put there instead 03:37 sweetbomber why implement it entirely in lua? 03:38 hmmmmmm because if it can be done completely in lua and there's no downside to this, it should 03:38 hmmmmmm no need for yet another api in the core 03:39 sweetbomber hmm..it looks strange. it seems to me it is a function belonging to the biomedefmanager. the biome ID is an abstraction private to biomedefmanager 03:40 sweetbomber so its also biomedef manager that should return the name, given an element of the biomemap vector 03:41 sweetbomber (which the user does not need to know what that element contains, if it is an ID or something else that biomedefmanager uses to distinguish biomes internally)) 03:42 sweetbomber this from a modularity perspective, oc 03:43 hmmmmmm perhaps i did make a tiny mistake by not dealing with only biome ids in the core api 03:44 hmmmmmm but the functions as a whole would still need to be put in the core to do what it's supposed to 03:45 hmmmmmm actually not even... i should've made a global table that contains all of the biome definitions, then on mapgen initialization after the registration phase, get that table and parse everything all at the same time 03:46 sweetbomber i think that a global table looks very ugly... 03:46 sweetbomber a biome manager is the best option, i think 03:46 sweetbomber *the 03:46 sweetbomber *the biome manager 03:46 sweetbomber it provides abstraction 03:46 hmmmmmm this would still use the biome manager, it's just that there'd be no lua -> C++ calls necessary to register biomes 03:47 kahrl ABMs use the table approach so there's some precedent for that 03:47 sweetbomber what is the problem with those calls? 03:47 hmmmmmm i think a leaner API is better 03:49 kaeza it's easier to define a table in Lua, and get the fields from C++ when required than creating structures in C++ and passing them back to Lua when required 03:49 kaeza I believe that's one of the things why ABMs and registered nodes are stored in Lua 03:50 hmmmmmm right, so i should correct that mistake partially and have a wrapper for register_biome that inserts the biomes into the table, and then a lookup on biome information would involve lua only 03:50 kahrl nodes use a hybrid approach 03:50 sweetbomber the thing is that having biome tables in biomedefs is much faster than accesing lua fields 03:50 kahrl classic register_item_raw for most fields but the lua table for callbacks 03:50 hmmmmmm let's face it, we don't need dedicated api to do something so dour 03:51 sweetbomber what api? 03:51 hmmmmmm sweetbomber, you sure? iterating through a bunch of tables is a lot faster than having to parse each table after a Lua -> C++ -> Lua transition 03:52 sweetbomber wait a sec, what are we talking about? 03:52 hmmmmmm not that it's relevant anyway, since speed is non-critical at server creation time... 03:52 sweetbomber what im talking about: adding a function called getBiomeIdByName in biomedefManager for use *solely* within core 03:53 hmmmmmm but we already have that 03:54 kahrl wouldn't it in fact be possible to delete that function? 03:54 sweetbomber let-me check the repo, i dont have it on biomes.* 03:54 sweetbomber was it added recently? 03:54 hmmmmmm recently, i think a month ago 03:54 hmmmmmm i needed it for the decorations 03:55 hmmmmmm kahrl, i suppose so.. but you can also delete other lua-only api. if you want to mess things up in the api, it's really easy to do 03:57 sweetbomber -.- lol, you added it 11 days ago 03:57 hmmmmmm seems like a month 03:57 hmmmmmm i've been losing track of time 03:58 sweetbomber so, before we were all talking about different things, right? lol 03:58 hmmmmmm i suppose so 03:58 kahrl hmmmmmm: I meant getBiomeIdByName but it looks like it's still needed 03:58 hmmmmmm i was talking about getting the biome information from ID in lua 03:58 sweetbomber kahrl: i think that fnction makes sense, even if noone uses it 03:59 sweetbomber and as it seems, hmmmmmm is already using it, i suppose 03:59 hmmmmmm yeah, see, it may have been different in the past, but we only add functions if we need them... 03:59 sweetbomber and im needing it too 03:59 hmmmmmm just adding things to make a "complete" abstraction is kind of useless 03:59 hmmmmmm this way we don't have 50000 variants of the same getter/setter methods 04:00 hmmmmmm it's good to focus on the goal, not just making pretty Java-like code 04:00 sweetbomber the thing is: deleting things that complete the abstraction, just because they are not used now is different from that 04:00 sweetbomber by deleting, i mean code that is already done 04:00 hmmmmmm i haven't ever *removed* any functions 04:01 sweetbomber i was talking about kahrl's suggestion: "wouldn't it in fact be possible to delete that function?" 04:02 kahrl the function would still exist in the git history so it wouldn't really be lost 04:02 sweetbomber good point 04:03 sweetbomber anyway, if tht function was deleted what was the alternative? 04:03 sweetbomber as long there is an alternative to know what is in biomemap given the name, there is no problem 04:04 sweetbomber and as long as we dont need to use the name everytime an element in biomemap is to be inspected, as string operations are damn slow... 04:05 hmmmmmm yup, string operations are typically avoided. in the past, the people who worked on minetest felt that things were fast enough with all the extraneous string operations and as a result, the code as a whole is slower than it ought to be, but we can't fix it because the slowness is engrained into everything 04:05 kahrl "are typically"? tell that to g_settings :P 04:06 hmmmmmm i mean nowadays 04:06 hmmmmmm i'd love nothing more than to give settings an overhaul, use a fast hashtable, make things lockless, and precache the value based on type instead of parsing everything each and every time 04:07 hmmmmmm then go through every single instance and remove it from loops or other places where it really doesn't *have* to be 04:07 kahrl it would be cool if C++ had something similar to ruby's symbol data type 04:08 kahrl semantically they are like strings but internally (for comparisons etc.) they are integers 04:08 kahrl without having to explicitly declare an enum and conversion functions 04:08 hmmmmmm kinda surprised that ruby has types 04:09 kahrl well, classes 04:09 kahrl any instance can have additional (singleton) methods 04:09 sweetbomber well, ruby is another level 04:10 sweetbomber the "objectization" is far from what is possible in c++ 04:11 sweetbomber very nice language, indeed 04:11 kahrl though since everything is dynamic method lookups are damn slow 04:11 kahrl might have improved since I last used it 04:11 sweetbomber its still slow 04:12 sweetbomber but is very used in the industry, for what i know 04:12 hmmmmmm what, Ruby? 04:12 hmmmmmm not for anything important i'd assume 04:12 sweetbomber yes 04:12 sweetbomber it depends on what you consider important 04:12 hmmmmmm cpu intensive websites would probably use servlets or cgi 04:12 sweetbomber if you are refering to performance tasks, oc no 04:12 sweetbomber but for testing and other things 04:13 sweetbomber equaly important as designing software 04:13 sweetbomber it is actively used 04:13 sweetbomber alongside cucumber, i guess 04:13 hmmmmmm cucumber? 04:13 hmmmmmm ah 04:14 hmmmmmm software keeps getting crazier and crazier names 04:14 sweetbomber lol 04:14 sweetbomber know what lua means? 04:14 hmmmmmm moon? 04:14 sweetbomber yup 04:14 sweetbomber it always looks strange when its your language 04:14 hmmmmmm heh, true 04:14 sweetbomber for you its just a name 04:14 kaeza well, Lua at least makes sense :) 04:15 sweetbomber for orbiting around the core? 04:15 hmmmmmm that's pretty clever 04:15 kaeza it's a "satellite" (or "extension") to your host 04:15 hmmmmmm it wasn't intended to be a scripting language when it was named, though, i don't think 04:15 sweetbomber well, maybe with cucumber, testing becomes a real salad 04:16 sweetbomber idk 04:16 kaeza lol 04:16 sweetbomber more than it already is 04:18 sweetbomber well, im going 04:18 sweetbomber good night 04:52 kahrl ummmmm 04:52 kahrl how did unescape_string ever work? (util/string.h) 04:53 hmmmmmm it removes all \ from strings 04:53 kahrl i <= 04:54 hmmmmmm the entire string escaping is a big hack though 04:54 hmmmmmm formspec specifiers should've probably been designed better from the start 04:54 hmmmmmm ah, that comparison added an extra null 04:56 kahrl ah guiFormSpecMenu always calls c_str immediately after unescape_string 04:58 hmmmmmm i think i know how that bug got there.. this one guy wanted to allow certain characters in formspecs, and he wrote code to do it but it was *really* horrendous 04:59 hmmmmmm i had to rewrite practically everything and i guess one of the things i missed was the string length 04:59 hmmmmmm that loop condition rather 05:53 realbadangel hi there 08:23 celeron55 hmmmm: lua *was* intended to be a scripting language when it was named; also, for example github uses ruby 8) 08:30 celeron55 here's the "Evolution of Lua" paper written by the creators of Lua: http://www.lua.org/doc/hopl.pdf 08:30 celeron55 it's quite interesting 10:05 celeron55 i think it's odd to put "official" documentation and stuff in Feature Discussion because they get flooded by 100 other things that are basically feature requests 10:08 celeron55 i would suggest to post things like this http://forum.minetest.net/viewtopic.php?id=6396 to the more specific topic section, this one going to Modding General 10:10 kaeza wouldn't it be better in News? 10:10 celeron55 i'll leave it up to hmmmm to request moving it; it really depends on the intentions of the OP 10:10 kaeza parhaps not... 10:12 celeron55 what would be the purpose of a hypothetical new section that could contain this? 10:12 celeron55 it's really hard to even think of that 10:16 celeron55 i think i'm sticking to my original suggestion 10:17 celeron55 what about adding a topic in News called "0.4.7 -> 0.4.8" (and similar in between each release) where such things could be posted? 10:17 celeron55 it's not really good either 10:18 celeron55 i guess there's not really any better alternatives for this, i'm fine with how it's now 12:18 whirm hi all 12:18 whirm http://paste.debian.net/13119/ <- I'm getting this when loading my world in single player with a current master's build 12:27 whirm nm, I'm getting help @ #minetest (corrupt files, not likely minetest's fault) 12:31 kahrl actually it is 12:32 kahrl the way it saves these files is not exactly the best way 12:34 kahrl to put it diplomatically 12:34 whirm heh 12:34 whirm is it writing directly to them instead of write->rename 12:34 whirm ? 12:34 kahrl yep 12:35 kahrl and writing all the player files all the time, even if they didn't change 12:37 whirm :/ 12:39 Exio does anyone know where is the VoxelArea lua-interface? :P 12:45 proller hmmm* 12:45 Exio hehe 13:08 celeron55 i have too much donation money 13:08 celeron55 i'll pay $20 to someone who fixes the player file saving! 13:10 celeron55 (it really is in everyone's interests and nobody appears to have any motivation in doing it otherwise) 13:45 sfan5 celeron55: just curious, how many donation money do you have? 13:46 celeron55 roughly 200 donation monies, some of which i'm of course keeping for upcoming hosting costs 13:46 sfan5 *much 13:46 sfan5 ah, ok 13:47 celeron55 but really, overally i get more than i spend, and i occasionally try to come up with other stuff that is in the common interests of the community 13:49 PilzAdam celeron55, too hacky? https://gist.github.com/PilzAdam/5884807 13:50 celeron55 also, donations are public information since this year, updated on this page: http://www.minetest.net/support 13:50 celeron55 or, really, not individual donations but rather the budget 13:54 celeron55 PilzAdam: i think that's fine for the "writing them all the time" thing (the $20 bounty requires doing the saving as save-and-move-over though) 13:55 PilzAdam I dont want any money 13:55 celeron55 thought so 8) 13:56 Taoki Started working on a system to set fog + lower horrizon color based on sun position and how the player is looking toward the sun. Hopefully this will allow something close to as beautiful as MC's system 13:57 Taoki Got sky.cpp to read the local player's Pitch and Yaw, so what matters now is to mix that in with time of day and modify horrizon color. Will take a while but shall be doable 13:58 PilzAdam celeron55, should I push that upstream then? 13:58 celeron55 if you've tested it well, sure 13:59 celeron55 (i don't think anyone wants to test it or anything, and it's the simplest solution) 13:59 Taoki celeron55: Also, if you have enough donation money: Please give more than 20$ to who gets hardware lighting done ;) (likely won't be me so) 14:00 Exio 20.1 14:00 Exio ;P 14:00 PilzAdam celeron55, hm, it writes each file once after startup, should that be fixed? 14:00 Taoki If you add a price on something as important as that, it's likely it will motivate someone to do it earlier 14:00 celeron55 Taoki: don't expect there to be any kind of bounty unless i specifically say so; as of now there isn't 14:00 Taoki I know, just a suggestion 14:01 celeron55 i'd prefer using the money for something else than bounties though 14:01 celeron55 they're not really fair 14:01 Taoki Sadly, even in FOSS, money can be needed to be motivated. The difference is that in any case, money is used farily in FOSS, so nothing wrong in that 14:01 Taoki Yeah 14:01 Taoki Could be nice to use it to make MT more popular. Like an article in the news about it or so 14:02 celeron55 if one wants news coverage, writing a press release about some new feature or about the community or something would be best 14:02 celeron55 and mailing it to everywhere 14:03 PilzAdam celeron55, FYI, there was an article in the blog of the biggest german ubuntu community about Minetest 14:05 celeron55 one thing i could do with the money is pay for a VPS to host an MT server (or a few), but i wouldn't be moderating it myself so it's really up to someone else to figure out all the details 14:05 celeron55 it would be in the interests of many people 14:06 celeron55 it's uncomfortable close to the budget though 14:06 celeron55 bly* 14:07 PilzAdam ok, fixed that "write each player file once at startup" thing too: https://github.com/PilzAdam/minetest/commit/ab98fda68f993d1ab55f7f21a6ee045a2a7693aa 14:08 celeron55 what did you change? 14:08 PilzAdam setting m_last* in deSerialize() 14:09 celeron55 it would be cleaner to call isModified() in there 14:09 PilzAdam true 14:09 celeron55 (kind of unintuitive though, and the name is bad... it should be something like checkModified() to imply that it does other than just ask it) 14:12 hmmmm what do you guys think of sending a packet every time the user crosses over into a new biome 14:12 celeron55 what'd that do? 14:12 hmmmm vs. sending all biome definitions, having the clients compute what they're stepping into, and do things based on that 14:13 hmmmm eh, client side things like node aftereffects 14:13 hmmmm for now i'm just thinking of tinting the color but perhaps other things could be done as well 14:14 celeron55 i think having the client calculate stuff allows much smoother effects and things 14:15 celeron55 if something _can_ be done that way, then i think it should be 14:15 hmmmm i'd like to try simpler things first and i suspect the first option would work fine, players don't usually move that quickly, this isn't time-critical, etc. 14:15 celeron55 in this case it's up to whether the biome definitions are mature enough to be used that way 14:15 Exio does "rename" works on windows? 14:16 celeron55 hmmmm: what kind of things are you thinking would happen, then? 14:16 hmmmm eh, i think those posix-style file operations end up giving you permission problems, exio, i'd avoid it or maybe #define it to something else (or make a wrapper for it and MoveFile) 14:17 PilzAdam https://github.com/minetest/minetest/commit/280946ba836cde9516f9344f47561f3356bdf869 14:17 hmmmm celeron, tinting nodes a different color based on biome, so if you step into a desert, everything looks more arid, along with the sky, maybe the sun can be emphasized, maybe that openarena red blurry outline can be applied 14:17 hmmmm for example 14:18 hmmmm yes, some scene postprocessing 14:18 hmmmm if minetest is going to start looking really nice graphically, i say why not 14:19 PilzAdam I dont like changing node colors in different biomes 14:19 hmmmm well, good for you 14:19 hmmmm don't use biomes then, or disable it 14:19 PilzAdam It removes the player's ability to fully change the world 14:20 celeron55 i agree with PilzAdam; but it's a different thing whether that's bad or not 14:20 PilzAdam it should at least be configureable in the node definition 14:21 hmmmm nothing wrong with a setting; enable_biome_effects 14:21 hmmmm client side 14:21 Taoki PilzAdam: The gradual grass color idea for biomes sounds good to me. Sadly Minetest doesn't have that yet 14:21 hmmmm and yes, obviously there's going to be a node definition thing for this, how else do you think it's going to possibly work? 14:21 celeron55 you can't do gradual grass colors with the single packet 14:21 celeron55 it requires what hmmmm is trying to avoid 14:22 hmmmm do you believe i'm going to start hardcoding node names or something? 14:23 celeron55 i think it's important to figure out what we want to achieve and what not 14:23 celeron55 otherwise efforts will be focused wrongly 14:23 celeron55 someone could make a wiki page of things that biomes might do, so there would be a base for that 14:24 hmmmm the gradual biome change... it's not what minecraft does, and it's undoubtably more technically challenging 14:25 celeron55 if you're going to drastically modify how nodes look simply based on where the player is standing, a desert is going to look very odd when one looks it from some other biome, and so on 14:25 hmmmm every single step the player takes, we're going to have to have the client scan some largeish radius for a new biome and then change the color *if the player's yaw is in that direction* 14:26 hmmmm i'd rather have an option for that too 14:26 celeron55 this "options for everything and add things that are generally bad" won't work here 14:30 hmmmm i can't come up with any good way to do that. what i described is basically what's required to make a gradual change 14:31 hmmmm and by the way, this isn't something i want to do *right now* 14:50 proller celeron55, and save player files to json format 18:02 Exio just checking, couldn't https://github.com/minetest/minetest/pull/771 get closed? 18:03 Taoki Exio: Should be. Probably commenting re-opened it by mistake 18:05 Exio and, why isn't https://github.com/minetest/minetest/issues/763 merged yet? 18:10 thexyz > No idea if it breaks anything. 18:11 thexyz also, we should enable freetype by default 18:14 celeron55 definitely 18:14 celeron55 (when it's found) 18:18 Calinou same for gettext? 18:19 celeron55 that is already done i think 18:20 thexyz nope 18:20 thexyz if(GETTEXT_FOUND AND ENABLE_GETTEXT) 18:22 khonkhortisan_ I'd suggest the other order for short-circuiting :) 18:23 Calinou should be default imo 19:29 PilzAdam thexyz, re 769: Irrlicht docs say it only affects directx, and your builds are the only one that have support for it 19:30 thexyz yes, and? 19:30 thexyz I already know that 19:30 thexyz but could it be that it causes other problems 19:30 PilzAdam 0.4.7 build has this, right? 19:31 thexyz yes 19:32 PilzAdam are there any known problems with it? 19:39 celeron55 put it in, we'll find out 8) 19:41 PilzAdam http://forum.minetest.net/viewtopic.php?id=6213 20:11 Exio when i tried it here, opengl / linux, i didn't see any problem 20:11 Exio but for checking if something is bug-free in corner cases you need to talk with VanessaE :P 20:31 thexyz what about http://techwhack.co/google-random-animal-names-anonymous-viewers-google-drive-files-44046/ 20:32 PilzAdam I would prefer to just leave it empty, so the user has to choose a name 20:33 thexyz okay 20:46 celeron55 is it possible to die to mobs in the dwarves game, or any game currently available? 20:48 celeron55 i've been standing in a dark cave for quite some time and nothing has thus far happened 20:49 celeron55 oh, a sound 20:50 celeron55 a.. sheep, that i can't find 20:50 celeron55 well this is lame 20:51 Exio who would even use mods with those entity big-bugs around 20:52 PilzAdam AFAIK dwarves uses simple mobs? 20:54 celeron55 it does 20:54 celeron55 i'm not too familiar with simple mobs' configuration