Time Nick Message 01:49 sweetbomber hmmmm: I started to design the structure generator engine 01:51 sweetbomber are you also thinking of doing anything related to structure generation for now? 01:52 sweetbomber if so, i think it should be better for us to get synchronized, and co-work... 01:52 sweetbomber what do you think? 01:52 hmmmm hmm i didn't really get your idea after you were explaining it yesterday 01:52 sweetbomber i think that independently of the core idea, much of the stuff is common 01:52 hmmmm http://irc.minetest.ru/minetest-dev/2013-06-15#i_3142346 01:52 sweetbomber eg. how to define structures 01:53 sweetbomber how to manage them, etc.. 01:53 sweetbomber i have a small draft for now: http://pastebin.com/a7PHYKd3 01:53 sweetbomber regarding management, my idea was to use the same concept as biomeDefManager 01:54 hmmmm i feel like i went overboard with BiomeDefManager 01:54 sweetbomber i think you did a pretty nice job there 01:54 hmmmm things like ore and decorations, for example, i have no 'manager', just a std::vector 01:55 hmmmm it's something really big and bloaty for a really simple concept 01:55 VanessaE "overboard"? uh oh.. 01:55 sweetbomber the only thing i think is over kill is the calculation of the biome for each node 01:56 sweetbomber i think mc uses a small area 01:56 hmmmm well, remember the whole k-means thing? :/ 01:56 * VanessaE hopes her plants_lib API doc isn't the reason.. 01:56 hmmmm oh, yes 01:56 sweetbomber but i think it is good as is now 01:56 sweetbomber and performance is not sacrified 01:56 hmmmm in minecraft, biomes are 2x2 blocks 01:56 hmmmm have the granularity of* 01:57 hmmmm I think i'm going to have BiomeDefManager also have a biome map cache 01:57 hmmmm we're going to want to do a lot more with biomes than some properties for terrain generation; doing all that heavy computation to find the biome at a single point is pretty bad 01:57 sweetbomber the biome map cache would speed things a little 01:57 hmmmm right 01:57 sweetbomber at least to what concerns, e.g structure placement 01:58 hmmmm hmmm about that 01:58 sweetbomber where at least for each structure one access would be needed 01:58 hmmmm i am thinking of having a u8 *biomemap a public member for the Mapgen base structure 01:58 hmmmm if biomemap is not NULL, then that mapgen has biome support 01:58 hmmmm and you'd be able to read the biome id directly from what was computed 01:59 sweetbomber ok 01:59 hmmmm i really ought to commit what i have soon 01:59 sweetbomber regarding structure definition (not placement) 02:00 sweetbomber i am thinking to use an approach similar to biomes too 02:00 sweetbomber lua registers the structures 02:00 sweetbomber but then it does not pay any other role 02:00 hmmmm lua registration is pretty much the standard 02:00 sweetbomber so that all algorithms could go to c++ 02:01 sweetbomber im thinking on a deterministic approach at first 02:01 hmmmm by the way, like i mentioned earlier (and you evidently didn't see), i'm going to continue on what i'm doing 02:01 hmmmm because i honestly have no clue how it's going to work out 02:01 sweetbomber structures will be defined node-by-node- no random 02:01 hmmmm if things overlap, we can merge them together 02:02 hmmmm with that said, feel free to make your own version of the structure file format 02:02 sweetbomber have you done any registration class, like in biomedef? 02:02 sweetbomber could at least send me what you've got? 02:02 hmmmm it's not a registration, it's just a push_back 02:02 hmmmm yeah, hold on. 02:03 sweetbomber it would ease the merge, since i have not done much till now 02:03 hmmmm oh 02:03 hmmmm well 02:03 hmmmm i didn't write anything aside from some definitions for the structure thing yet 02:03 hmmmm we might be doing something completely different 02:04 hmmmm my sort of structure placement is for more like trees and what not 02:04 hmmmm yours is intended for buildings and bigger things 02:05 sweetbomber i'm planning to make something that fits all 02:05 sweetbomber but thats something that we'll assess later 02:05 sweetbomber after i have something working 02:06 VanessaE hmmmm: don't you mean "those goddamn trees"? ;) 02:06 hmmmm not those ones 02:06 hmmmm small ones that won't get cut off 02:07 VanessaE hehe ok 02:07 VanessaE just teasing 02:11 sweetbomber hmmmm: could you send me a zip or something? 02:11 hmmmm i plan on committing it to my repo 02:11 hmmmm almost done 02:12 sweetbomber ok 02:14 hmmmm ugh 02:14 hmmmm great job STL: error: request for member 'name' in '((BiomeDefManager*)this)->BiomeDefManager::biomes.std::vector<_Tp, _Alloc>::operator[] [with _Tp = Biome*, _Alloc = std::allocator](i)', which is of non-class type 'Biome*'| 02:14 hmmmm 4T@(I$T@$Jkroaf0ir23JK!@#OR(J04TKO4KTOEPR now figure out the error 02:14 hmmmm instead of saying "do you mean -> instead of .?" 02:15 sweetbomber sounds cryptic 02:15 sweetbomber btw, remember me talking about the over-use of getTextureID, yesterday? 02:16 hmmmm yeah, you had a patch for that iirc? 02:16 sweetbomber just needed a two-liner fix 02:16 sweetbomber https://github.com/minetest/minetest/pull/775 02:16 hmmmm that didn't fix *all* the instances 02:16 hmmmm but it must've reduced CPU usage a lot 02:16 sweetbomber yes 02:16 hmmmm great 02:16 VanessaE I've seen some small performance gain from it. 02:17 VanessaE and I swear flipping pages in Unified Inventory is faster too, for whatever that's worth. 02:17 sweetbomber however, its almost negligible when the cpu is doing heavy stuff 02:23 hmmmm https://github.com/kwolekr/minetest/commit/0ea87d059ca4b71546ffa4f06b8af0db255074ae it's not done yet though 02:23 hmmmm i still have more to do 02:26 sweetbomber np 02:26 hmmmm but that's the gist of it 02:26 sweetbomber just to get the idea you're following 02:31 sweetbomber well, ill analyse that tomorrow 02:31 sweetbomber good night 02:31 sweetbomber just cloned it 02:32 hmmmm it's not going to work fyi 02:32 hmmmm i need to add the biomes to the biome set for each decoration used 05:31 VanessaE I need some help... 05:31 VanessaE 01:29:27: ERROR[EmergeThread0]: ERROR: An unhandled exception occurred: LuaError: error: ...t/games/vanessae_game/mods/plantlife/plants_lib/init.lua:174: [string "moretrees:grow_jungletree({"y" = 2, "x" = -24..."]:1: '}' expected near '=' 05:31 VanessaE this error cropped up out of nowhere, in code that hasn't been changed in weeks. 05:32 VanessaE https://github.com/minetest/minetest/commit/3e4f1462bcccedddf67fa30574c5e4e740f82262 05:32 VanessaE could this be why? 05:34 VanessaE (the code uses loadstring() + dump() to execute the named function) 05:37 VanessaE the piece of code that triggers the crash: assert(loadstring(node_or_function_or_model.."("..dump(pos)..")"))() 05:38 VanessaE the only way to keep them from growing in clumps is with large avoid radii, which would greatly slow things down 05:41 VanessaE oops, ignore that last bit. 05:41 kaeza wait 05:42 * VanessaE waits 05:43 kaeza who in their right mind would use tables as indexes? 05:43 VanessaE no clue 05:45 kaeza hmm... does not look like an error in that code 05:45 VanessaE maybe khonkhortisan does ;) 05:47 VanessaE yep, realbadangel just checked. that commit breaks plants_lib 05:47 RealBadAngel hi 05:47 VanessaE hey. speaking of :) 05:48 kaeza hey RealBadAngel 05:48 RealBadAngel https://github.com/minetest/minetest/commit/3e4f1462bcccedddf67fa30574c5e4e740f82262 this commit causes moretrees to crash permamently 05:48 kaeza I see the problem now 05:49 kaeza ...or not 05:49 RealBadAngel its something related to tables 05:49 RealBadAngel it deforms them 05:50 RealBadAngel [Plantlife] Call function: moretrees:grow_birch({"y" = 13, "x" = 98, "z" = -11}) 05:50 RealBadAngel 07:13:07: ERROR[EmergeThread0]: ERROR: An unhandled exception occurred: LuaError: error: ...../games/technic_game/mods/plantlife/plants_lib/init.lua:174: [string "moretrees:grow_birch({"y" = 13, "x" = 98, "z"..."]:1: '}' expected near '=' 05:50 VanessaE I posted that already 05:50 RealBadAngel ah ok 05:52 kaeza VanessaE, can you test somethign for me? 05:52 kaeza replace this: https://github.com/minetest/minetest/blob/3e4f1462bcccedddf67fa30574c5e4e740f82262/builtin/misc_helpers.lua#L60 05:53 kaeza with this: t[#t+1] = "[" .. dump(k, dumped) .. "] = " .. dump(v, dumped) 05:53 VanessaE just add the brackets? 05:53 kaeza yup 05:53 VanessaE sure 05:54 kaeza at least gives the correct output when run in the standalone Lua interpreter 05:54 RealBadAngel 07:54:10: ERROR[EmergeThread0]: ERROR: An unhandled exception occurred: LuaError: error: ...../games/technic_game/mods/plantlife/plants_lib/init.lua:174: [string "moretrees:grow_jungletree({"y" = 1, "x" = -31..."]:1: '}' expected near '=' 05:54 VanessaE testing it now. 05:54 RealBadAngel ^^ results 05:55 RealBadAngel ah 05:55 VanessaE yup, that worked. 05:55 kaeza should I open a pull rq? 05:56 RealBadAngel forget it, didnt saved changes lmao 05:56 kaeza lol 05:56 RealBadAngel im testing it now too 05:56 VanessaE just put the fix through :-) 05:56 VanessaE ok yes, I have birches and jungletrees on a fresh map with that change 05:56 VanessaE so that fixes it. 05:58 RealBadAngel confirm, its ok now 06:00 kaeza hrm 06:00 kaeza too lazy to push the fix 06:00 RealBadAngel what? 06:00 kaeza git is being retarded again 06:08 kaeza https://github.com/minetest/minetest/pull/778 11:43 sapier https://github.com/minetest/minetest/pull/724 I've removed minizip and fixed some minor bugs ... gentoo guys plz find out why dynamic_casts fail on your system 11:45 kahrl sapier: will do, I finally have some free time 11:45 kahrl http://forum.minetest.net/viewtopic.php?id=6280 11:45 kahrl ^ anyone mind if I do a s/unban_player_of_ip/unban_player_or_ip/g and push>? 11:46 sapier "of"? :-) 11:46 sapier OF course not ;-) 11:46 kahrl you were only partially at fault :P 11:47 sapier f is the button next to r so very very close ;-) 11:47 kahrl the C++ function was called unban_player_of_ip before the scriptapi move but the scriptapi move changed the registration 11:48 sapier btw the irrlicht version of zip is not thread safe, as there aren't multiple threads doing things like that this is no problem ... but this should be honored on future enhancements 11:48 kahrl hmm good to know 11:49 sapier irrlicht registers archives to it's internal database instead of returning a reference so you have to fetch the last added archive ... this will horribly fail once adds another archive before you're able to get yours 11:49 kahrl oh 11:50 kahrl I wouldn't use that 11:50 sapier no other way to do with irrlicht 11:50 kahrl I would get the list of IArchiveLoader's, check which one is responsible for the file, and use it to get an IFileArchive 11:51 kahrl I thought that was possible 11:51 kahrl adding it to the irrlicht file system can be bad cause it could override actual files such as textures... right? 11:52 sapier I don't see a way to find out wich loader is responsible for a file 11:53 sapier I haven't found an option to create an standalone archive loader 11:53 kahrl something like this: http://codepad.org/MZ3hLXkf 11:53 sapier it could shadow the textures but I remove it right after that 11:55 sapier i assume the old files will be unshadowed after removing 11:55 kahrl yeah removing it should work 11:55 sapier it's ugly I know 11:56 sapier irrlicht has support for cleaning relative paths too .. unfortunately minetestserver doesn't link irrlicht 12:26 kahrl oh wow I just found an extreme item duplication bug 12:27 VanessaE oh? 13:46 kahrl sapier: http://stackoverflow.com/questions/2351786/dynamic-cast-fails-when-used-with-dlopen-dlsym 13:46 kahrl could this be the reason? 13:48 sapier possible but the object beeing casted isn't a lib element 13:48 sapier so rtti should be available 13:49 kahrl isn't it an IGUITabControl? 13:49 kahrl which is defined in libIrrlicht.so 13:49 sapier hmm yes you're right 13:49 kahrl or an IGUICheckBox, same deal 13:50 sapier ok then it is possible but I still wonder why this only happens on gentoo 13:50 Exio does anyone have http://ompldr.org/vaHJ5dw/performance_comparison_pathfinding.pdf? 13:50 kahrl maybe gentoo compiles irrlicht without RTTI 13:50 kahrl or uses different g++ settings (by default) 13:50 sapier exio yes 13:50 Exio sapier: can you upload it to other place? 13:51 sapier of course wait a minute I have to find it again 13:51 Exio no problem 13:51 sapier kahrl but isn't one of gentoos core purposes to ensure all programs match as good as possible? ;-) 13:51 kahrl sapier: as a fix, I would do assert(element.getType() == ...) and then use a static_cast 13:52 kahrl sapier: hmm, no I don't think so 13:52 Exio what USE flags? ;P 13:52 kahrl sapier: maybe if next_gen_main_menu was done in an official ebuild 13:53 sapier if our build system doesn't use correct gentoo flags there's a bug in there 13:54 kahrl well I'd avoid dynamic_cast across library boundaries in general 13:54 sapier but it'd be interesting to know if gentoo really doesn't compile with rtti ... I'd be very surprised if they did 13:54 sapier dynamic_cast is a perfectly normal c++ feature ... it's a pitty there are buggy systems/compilers not supporting it ... 13:58 Exio sapier: did you get the .pdf? 14:01 sapier i created it 14:02 Exio yep, but i mean, did you find it? :P 14:05 sapier I'll add this gentoo workaround 14:05 kahrl sapier: this works for me: http://codepad.org/TJJkZPsP 14:07 sapier yes found it ... need to find some place to upload 14:08 sapier ok I updated my pull request did it slightly different ... I still think this is a gentoo bug 14:10 kahrl sapier, the Makefile distributed with irrlicht contains -fno-rtti 14:10 kahrl gentoo just did not change it 14:10 sapier http://www.file-upload.net/download-7721043/performance_comparison_pathfinding.pdf.html 14:10 sapier so everyone else did fix this just gentoo doesn't :-) and I thought those guys know about compiler flags 14:11 kahrl why do they need to change it if upstream recommends -fno-rtti? 14:12 kahrl this would also affect anyone who built irrlicht by hand 14:13 kahrl not trying to defend gentoo but I don't think this is a bug 14:13 sapier default irrlicht for win32 is with rtti I wonder why there's something different in makefiles 14:14 sapier imho not using rtti for c++ applications is only in special cases usefull e.g. on embedded devices with very low cpu/memory ... but not on x86 ;-) 14:15 sapier but I don't have any intention to repeatedly tell gentoo ppl "compile with rtti" so I'll live with this workaround in mt 14:17 sapier exio did this filehoster work? 14:17 Exio why should they enable rtti if it isn't enabled by default 14:17 Exio sapier: yep 14:18 kahrl debian's irrlicht also had no rtti until someone filed a bug 14:18 sapier rtti is a core feature of c++ I don't have any idea why irrlicht disables it 14:18 kahrl http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=568247 14:19 sapier yes about 3 years ago kahrl ;-) 14:20 sapier does my variant work for you too kahrl? 14:20 Exio tell that to irrlicht 14:20 Exio not distro mantainers 14:21 kahrl I didn't try it yet 14:21 kahrl sapier: if getElementFromId returns NULL your variant calls element->getType regardless 14:21 sapier not my problem exio ;-) 14:21 sapier oops 14:23 sapier fixed 14:24 kahrl I wouldn't blame gentoo in the comment, but irrlicht ;) 14:24 sapier it's happening on gentoo only so once this is fixed in gentoo we can remove this fix 14:24 kahrl no 14:25 sapier if someone manually changes flags on debian this happens too of course 14:25 kahrl it will affect all distros that didn't specifically change this 14:25 sapier still gentoo provides inconsistent librarys to it's users 14:25 kahrl and it will affect everyone that downloaded and compiled irrlicht 14:26 sapier noone ever will realize this is fixed if i write irrlicht in comment 14:26 kahrl the fix can be removed if upstream irrlicht removes -fno-rtti and that irrlicht version is stable in all major distros 14:27 kahrl sapier: tried your version and it works 14:28 sapier imho it's not a bug of software that others compile it with compiler options not compatible to their system 14:29 kahrl it is compatible... in the sense that all ebuilds that gentoo distributes that depend on irrlicht don't use RTTI 14:29 kahrl not with irrlicht classes at least 14:31 kahrl you could see it as part of the irrlicht API that their classes can't be dynamic_casted 14:31 sapier no it isn't 14:31 sapier they're perfectly ok on win32 14:32 kahrl win32 isn't the irrlicht API 14:32 sapier with official irrlicht build 14:33 Exio upstream is wrong 14:33 Exio if you need to patch it to use it properly, then upstream is wrong 14:35 sapier I don't have any interest in continuing this discussion if you believe this believe it I don't think so 14:58 sapier any comment on this? https://github.com/minetest/minetest/pull/774 15:02 rubenwardy Does that make animations smoother? 15:02 rubenwardy no 15:03 Calinou it predicts animation FPS changes 15:03 Calinou that is good 15:04 sapier yes you can specify which speed a animation is defaulted and client itself slows down or increases animation speed once enititys movement speed canges 15:04 sapier this avoids animation speed/movement speed mismatches due to network delay 15:05 Calinou this should be done for players 15:07 sapier true wouldn't be much of a change too 15:07 sapier but someone has to find out what's base speed of player animation ;-) 15:09 Calinou 4 blocks/sec 15:09 Calinou oh also, the sneaking animation slowdown should be divided by 3, not by 2 15:09 Calinou currently it's divided by 2 15:15 ShadowNinja sapier: Did ShadowBot give you my message? 15:18 sapier I don't remember getting a message 15:18 sapier what should it have told to me? 15:18 ShadowNinja Try joining #minetest, if it doesn't tell you I will look for the link. 15:18 ShadowNinja sapier: ^ 15:20 sapier got it 15:20 sapier this is a c++ mainmenu bug true? 15:20 ShadowNinja Yes. 15:21 sapier game selection code is completely different so I'd expect this not to happen in formspec menu ... but threre may be other bugs 15:21 ShadowNinja sapier: You should probably register with NickServ. 15:22 sapier just another password to remember 15:52 khonkhortisan VanessaE, I'm suprised that broke something 15:55 PilzAdam khonkhortisan, it doesnt really break something, VanessaE was abusing dump() and relied on a loadstring() compatible format 15:56 khonkhortisan So we can blame her then :) 15:59 PilzAdam the pull request that adds thr [] should be merged anyway 16:00 khonkhortisan I would use a table as an index if I was converting between facedir and vectors, I'd have two equivalent but opposite tables so I wouldn't have to loop through either. 18:13 thexyz why is this https://github.com/minetest/minetest/issues/763 marked as "low-priority enhancement"? 18:13 PilzAdam why isnt it pushed yet? 18:14 sapier what does this change? 18:15 sapier high precision as in 64 bit or 128bit? ;-) 18:17 thexyz sapier: http://irrlicht.sourceforge.net/docu/structirr_1_1_s_irrlicht_creation_parameters.html#ac790f1359a357f705bc2a5b24a6cc55d 18:19 sapier oh directx only 18:19 thexyz yep 19:34 hmmmm hmm 19:34 hmmmm looks like i'm gonna have to add functionality to choose from a random selection of nodes as well 19:36 hmmmm and here i named it "simple" as if the implementation was going to be "simple", which it's totally not 19:37 hmmmm should i rename the "simple" decoration type to "column"? 19:40 kaeza "simple" is relative :P 19:40 kaeza depends on how complicated other decoration types would be 19:41 kaeza but yes, maybe "simple" is a misnomer :P 19:46 sapier what about merging formspec mainmenu? it'd be tested quite well until next release if merged now 19:47 hmmmm i'm personally waiting for that to happen for the mapgen configuration page 19:47 hmmmm which is why i'm working on this first 19:47 sapier it's not a big deal adding this page later as it's formspec now 19:48 sapier you could even add it yourself without having to touch any c++ code 19:48 hmmmm we're talking about next_gen_main_menu, right? 19:48 sapier yes 19:48 sapier it's a lot of code and needs more testing than just a hand full of ppl can do 19:51 PilzAdam hmmmm, https://www.dropbox.com/s/0aixdwcwwgensho/Clay.png <- this is clay generated as "scatter" with 10 ores per clust and clust scarcity 8*8*8 19:51 sapier I added formspec menu exactly for the purpose of making modifications much more easy ;-) 19:52 hmmmm wow that actually looks pretty good 19:52 sapier I guess this is not at all similar to natural way clay is distributed ;-) 19:52 hmmmm i think you should increase the clust scarcity, increase the number of ores per cluster, and make the cluster size a little bigger too 19:53 hmmmm so it's like in a big blob 19:53 sapier i wonder if it'd be possible to create clay in a layered way ? 19:54 hmmmm you could, but it's kind of cpu intensive 19:54 hmmmm i'd rather not use it in the actual game 19:55 hmmmm well, i mean too cpu intensive for what it actually is* 19:55 Jordach generate large perlin noise scale structures like the flolands mod 19:55 Jordach then remove any clay that has no sand + water 19:55 Jordach surrounding it 19:55 PilzAdam we need drowning to make it fun hunting for clay, though 19:56 hmmmm s/fun/frusturating/ 19:56 PilzAdam well, challenging 19:57 sapier hmm I guess player entity doesn't call on_step? 19:58 hmmmm pilzadam, i'm just wondering what the point of checking for buildable_to is when placing grass? 19:58 hmmmm you're pretty much guaranteed for ground_y + 1 to be non-ground if ground_y contains a top node anyway 20:03 PilzAdam ground_y+1 is always air 20:03 PilzAdam so that check is pointless 20:04 PilzAdam https://www.dropbox.com/s/nxgudg32m18g0ih/Clay2.png 20:08 PilzAdam ^ is that better, hmmmm? 20:08 hmmmm a little bit, yeah 20:14 PilzAdam hows that: https://www.dropbox.com/s/q3pthc15ino6jrv/Clay3.png 20:16 hmmmm perfect 20:16 hmmmm ! 20:16 hmmmm just make the scarcity a bit higher and it should be all set 20:16 hmmmm (also, it doesn't matter if they're square looking, the clay is already square so it's not worse in any way 20:17 PilzAdam ok, scarcity is now 12*12*12 20:18 PilzAdam its more clay than previously generated 20:18 hmmmm maybe make it more like 15*15*15 20:22 PilzAdam https://github.com/PilzAdam/minetest_game/commit/c008b156e1a91d7600903922c1e7588ea1da46d1 20:23 hmmmm neat 20:24 hmmmm not perfect yet but: http://pastebin.com/Wj8AfJzp 20:25 PilzAdam can you add a , after the last element of a table? 20:25 hmmmm yup, it makes no difference 20:26 PilzAdam it produces better diffs when adding things later on 20:26 PilzAdam also, its called "default:dry_shrub" 20:27 hmmmm ahh good catch 20:27 hmmmm whoops 20:31 PilzAdam can we use this to generate nyancats too? 20:31 hmmmm nope 20:37 PilzAdam should we clean up all the mapgen_* aliases? 20:38 hmmmm no 23:45 kahrl I may have found a fix for https://github.com/minetest/minetest/issues/332 23:45 kahrl but I can't tell if this breaks anything in chests and other node metadata inventories, because they are so laggy and glitchy in general 23:50 VanessaE can we do some kind of client-side prediction for that? 23:50 VanessaE (and crafting too) 23:50 kahrl VanessaE, possibly 23:50 kahrl not easy to code though 23:51 VanessaE I expected not 23:52 kahrl well here is my proposed black magic fix: https://gist.github.com/kahrl/5793895 23:52 PilzAdam can you set the language of that gist to "Diff"? 23:52 kahrl oops, I forgot 23:53 kahrl done 23:53 PilzAdam thx 23:58 PilzAdam so, you basically check the slot where you grabbed the selected item from first? 23:58 kahrl yep 23:59 PilzAdam in what cases is the black magic still used? 23:59 kahrl I'm not sure to be honest