Time Nick Message 01:45 hmmmm can they? *shrug* 01:45 hmmmm look at animated torches...... 01:45 hmmmm not that i know how any of that works 01:48 hmmmm it's funny, the dungeongen could've been made like 100x faster by simply moving two perlin noise calls inside of a conditional... either this was totally overlooked, or someone took a compiler's optimization prowess for granted and thought it would know that noise3d_perlin() is a pure function 02:56 hmmmm 414-452ms outside if, 5-7ms inside if, 40-43ms perlin map 02:57 hmmmm no contest here really 04:47 VanessaE can someone merge this please? 04:47 VanessaE https://github.com/minetest/minetest/pull/532 04:47 VanessaE I've tested this pretty thoroughly and it seems to work quite well 04:54 hmmmm i was sorta waiting for you guys to finalize it because you didn't seem to have things worked out completely yesterday 04:55 VanessaE it's done now afawct 04:55 hmmmm also still with the minetest-c55 at the bottom? what's up with that.. that's one logo too many in my opinion 04:55 hmmmm minecraft's main menu has the window title, the upper-left-corner info text, and in the large main logo 04:56 VanessaE yeah, I say replace that file with a blank 1px image (I dunno if the patch can deal with a missing filew) 04:56 VanessaE -w 04:56 hmmmm that should be tested first 04:56 VanessaE or, replace it with some kind of cutesy little graphic, like a bigger version of that little bit that appears to the right of the 'c55' 04:57 VanessaE lemme check 04:57 hmmmm dunno i just think that bit is totally unnecessary 04:57 VanessaE yeah but it's always sorta been there 04:57 hmmmm i don't like the way that looks..... anyway see if it breaks with blank 1px image or a missing file 04:58 VanessaE it won't break with a 1px image, I already tested that 04:58 VanessaE I'll check about missing images 04:58 hmmmm the difference is that in the non-cloud background, there is no large minetest text 04:58 hmmmm so the bottom thing works a lot better 04:59 hmmmm i mean sure we can change it, but this is going to be the default main menu that everybody will see and connect minetest too 04:59 VanessaE right 05:00 VanessaE *waits for build to finish* 05:00 VanessaE therew e go 05:00 VanessaE works fine with missing footer image 05:01 VanessaE works fine with missing header image, too 05:02 VanessaE so you could just outright delete menufooter.png (that's what I just did) and it'll render without it as expected. 05:02 hmmmm heh uhh.. one detail 05:02 VanessaE hm/ 05:02 VanessaE ? 05:02 hmmmm i am looking through the actual patch right now and i can't seem to see the file "defaultsettings.cpp" modified 05:02 VanessaE that's because it takes no setting. 05:03 hmmmm why not? 05:03 VanessaE if you wanna disable clouds, supply a menubg.png image somewhere where the engine can find it 05:03 VanessaE then it'll render with that bg image, e.g. the old minimal dirt 05:03 hmmmm wouldn't you say that's pretty obtuse? 05:03 VanessaE well my preference was different than that, but that's what shadow settled on 05:03 VanessaE so I didn't want to argue 05:03 hmmmm i don't know if that behavior is the desirable behavior 05:03 hmmmm we should have a vote on it 05:04 VanessaE I'd have preferred a setting to enable/disable clouds, and then have menusplash override menubg.png if both are present 05:04 hmmmm i'm not going to merge it right away 05:04 VanessaE ok, a vote is fair 05:05 VanessaE in that case, you could register mine as "merge, no one will really care of the default menubg.png is no longer seen, it was ugly anyway." or some words to that effect. 05:05 VanessaE if* 05:06 hmmmm those two things need to be figured out.. 1). having redundant footer text there by default unless you manually delete that image, and 2). not having a plain-old setting to disable and enable the cloud background, but then expect the user to know to add a certain background tile image in order to disable it 05:06 VanessaE I think the theory there, btw, is that most folks know how to copy a file, but people have a hard time figuring out how to edit a config. 05:07 VanessaE but your point stands. 05:07 VanessaE I'd be glad to draw up some nice pixel art to replace the old footer, but I guarantee c55 will hate it ;-) 05:08 VanessaE shall I? 05:09 hmmmm hmmm 05:09 hmmmm dunno, try it... what i think will happen is that people would rather leave the footer area blank with clouds enabled 05:10 VanessaE that'll break my HDX splash. 05:11 VanessaE (I use the footer to display an alternate "Minetest" title) 05:11 hmmmm well, i mean to say a blank footer area, like you said, a 1x1 transparent image 05:12 VanessaE oh right 05:12 VanessaE ok 05:12 VanessaE what would you display down there with the old tiled background? 05:13 hmmmm the old minetest-c55 logo 05:13 VanessaE so you'd need another filename then 05:14 hmmmm not that hard 05:14 VanessaE of course 05:14 VanessaE just trying to think of the least possible amount of code that would be needed to facilitate this. 05:14 VanessaE (damn it I wish I knew enough C++, I'd just do it myself) 05:15 hmmmm menufooter_blank.png, menufooter.png 05:15 VanessaE hmm.. 05:15 VanessaE no 05:15 hmmmm and it'd use menufooter_blank.png on menu_clouds = true 05:15 hmmmm why not 05:15 VanessaE menufooter.png, menufooter_clouds.png 05:15 hmmmm yeah 05:15 hmmmm sounds better 05:15 VanessaE that way it doesn't imply that it necessarily has to be blank 05:30 VanessaE http://digitalaudioconcepts.com/vanessa/hobbies/minetest/images/menufooter.png 05:30 VanessaE how's this look? 05:30 VanessaE drawn to the same size and generally the same style as the old one 05:40 VanessaE hm 05:40 VanessaE it looks good at the bottom there, but it needs to be scaled up to fit the window witch. 05:40 VanessaE width. 05:45 VanessaE hm, main.cpp line 635, 05:46 VanessaE seems to me just take out that 0.6 to fix the issue. 05:47 * VanessaE tries it. 05:48 VanessaE yep, that fixes the width 05:48 VanessaE now why it's being drawn at a fixed 10 px from the bottom edge is curious.. 05:59 VanessaE good, that fixes it. 06:05 VanessaE https://gist.github.com/VanessaE/5122965 06:06 VanessaE plus this image file: http://digitalaudioconcepts.com/vanessa/hobbies/minetest/images/menufooter.png 06:06 VanessaE (revised from the first time I linked it) 06:13 VanessaE this doesn't fix the naming or remove-in-clouds-mode issue of course. 06:14 VanessaE just gives us a better looking, better-positioned image that doesn't bear the old "minetest-c55" part. 06:14 VanessaE looks good imho. 06:15 VanessaE I wonder if I should anti-alias that image 06:19 VanessaE interestingly, this requires me to adjust the aspect+size of my HDX footer. *shrug* 06:24 VanessaE there, that was easy, just re-crop it to the original 1280px width and it scales perfectly. 06:25 hmmmm i see.. 06:36 VanessaE "i see" .. . translation: "moron. leave core dev stuff to those of us who can actually code." 06:36 VanessaE ;) 06:42 hmmmm i don't really see the point of the whole multiplying by 0.6 thing 06:42 VanessaE neither did I 06:42 VanessaE the image size itself should be used to regulate that 06:42 VanessaE need blank space around it? make it wider and blank. 06:42 hmmmm yeah 06:43 hmmmm also notice how getTexturePath("menufooter.png") is called twice 06:43 hmmmm duplicate work 06:43 hmmmm that is the sort of code that's crappy that i naturally avoid 06:43 hmmmm the compiler probably won't optimize that, either 06:44 VanessaE *looks* 06:45 VanessaE oh yeah, so it is 06:45 VanessaE wonder why he didn't cache that. 06:45 hmmmm it is cached 06:45 hmmmm if you look at what getTexturePath() does 06:46 hmmmm but it's still crappy because look, it has to get locked under a mutex and all this crap 06:46 VanessaE well I mean something like f=getTexturePath("menufooter.png"); if (f != "")....getTexture(f.c_str()) or some equivalent thereof 06:46 hmmmm that would be the appropriate thing to do, yeah. 06:47 hmmmm and something like if (f[0]) { ... would be even better 06:47 hmmmm that avoids a string comparison call 06:47 VanessaE jeez, for a moment there I was starting to actually understand this crap :D 06:48 hmmmm it's not like i expect things to be faster by doing all this, but i'm just removing unnecessary effort 06:48 hmmmm why would anybody do that when the alternative is less text to type, looks cleaner and code, is slightly faster, and is free in terms of effort? 06:48 hmmmm looks cleaner in code* 06:48 VanessaE beats me 06:49 hmmmm the operator [] on std::string returns the character at the specified position, exactly like a regular string in plain C 06:49 VanessaE oh smart 06:49 VanessaE compare against a null string instead of empty 06:49 hmmmm it's just that with std::string, there's a lot more machinery behind it which you don't see 06:50 hmmmm well no, i am comparing if it's empty or not by checking to see if the first character is null 06:50 VanessaE (well, compare against null/false rather) 06:50 hmmmm if str[0] is null, then it is a blank string 06:50 VanessaE oh ok 06:50 hmmmm str[0] is a null char i mean to say 07:42 hmmmm blockseeds are always odd. x,y,z are always even, odd times even is even, even plus even is even, so y and x are even. now z is even and its multiplicand is even too, which makes that entire result even. so it depends on whether the map seed is even or odd, and that'll make ALL blockseeds on the map even or odd based on the parity of the map seed 07:42 hmmmm get_blockseed is frigging retarded and has a horribly low enthropy. 07:42 hmmmm and we can't fix it either. 07:43 hmmmm it's making my PseudoRandom results always return the same number 09:54 rubenwardy Is it "legal" to post this: http://forum.minetest.net/viewtopic.php?pid=74807#p74807 09:54 rubenwardy damn, wrong topic. 09:59 sfan5 wrong topic? 10:03 rubenwardy wrong # channel 10:03 rubenwardy meant to post it in #minetest 13:13 rubenwardy_ oooh! minetest has a new font in 0.4.5... 14:39 hmmmm this is depressing 14:40 hmmmm i'm going to have to add a hash() function to noise.cpp/h for better random results, because as it is right now, thanks to the way mapblock is set up, things might never have a chance of happening, ever, based on the map seed 14:42 hmmmm s/mapblock/blockseed/ 17:17 rubenwardy "Added support for downloading mods from a server using cURL which is faster, disabled by default (Ilya Zhuravlev & sfan5)" 17:17 rubenwardy ? 17:19 sfan5 where did that came from? 17:19 sfan5 *come 17:26 rubenwardy changelog 17:26 sfan5 link? 17:27 rubenwardy http://dev.minetest.net/Changelog 17:30 rubenwardy I restructured the change log a bit: http://dev.minetest.net/User:Rubenwardy/changelog 17:30 rubenwardy Note: that is in my namespace 17:31 rubenwardy sfan ^^ 17:34 rubenwardy Calinou: 17:34 rubenwardy I restructured the change log a bit: http://dev.minetest.net/User:Rubenwardy/changelog 17:34 rubenwardy Note: that is in my namespace 17:34 PilzAdam we have 3 different changelogs for 0.4.5 now, can someone just make a good one? 17:35 Calinou mine* 17:35 hmmmm i asked people to flesh out mine but nobody bothered 17:35 hmmmm and now it's deleted 17:35 Calinou commented out* 17:37 rubenwardy hmmmm: where is yours? 17:37 rubenwardy any comments on mine? I just restructured it 17:37 hmmmm -100, -150, -148it's commented out 17:37 hmmmm whoops 17:37 PilzAdam rubenwardy, see the source of the changelog, hmmmm's is commented out 17:38 rubenwardy the one with #"Big features:" 17:41 rubenwardy changed it: http://dev.minetest.net/User:Rubenwardy/changelog 17:44 rubenwardy so, how do i use ""Added support for downloading mods from a server using cURL which is faster, disabled by default (Ilya Zhuravlev & sfan5)" 17:45 PilzAdam you need a server and a client compiled with cURL support (official build has that) 17:46 PilzAdam then you set up a web server with all the media (textures, sounds, etc.) and set the setting in the server to this url 17:46 PilzAdam then clients with curl support will download the media from the web server 17:46 rubenwardy ? 17:46 rubenwardy "downloading mod" 17:47 PilzAdam should be "downloading media" 17:47 rubenwardy ah 17:47 PilzAdam the client doesnt download mods 17:47 PilzAdam it would be too insecure 17:48 rubenwardy I thought it meant there was a mod manager 17:49 PilzAdam there is a mod manager (the "Configure" button in world selection), but you cant download anything there 17:49 rubenwardy yeah 17:56 rubenwardy I have changed a lot since I last posted: http://dev.minetest.net/User:Rubenwardy/changelog 17:57 rubenwardy PilzAdam, hmmmm, Calinou 17:59 PilzAdam rubenwardy, finite liquids are disabled by default and experimental 17:59 rubenwardy ok 17:59 rubenwardy changed 18:00 sfan5 rubenwardy: i don't have to do anything with curl 18:00 sfan5 but i should be listed as translator 18:00 hmmmm probably shouldn't separate mapgen changes from core changes 18:00 hmmmm oh wait, there is no distinction between core and game changes now.. 18:01 rubenwardy "game" -> "game play" 18:01 hmmmm also the EmergeThread stuff wasn't a bugfix, it just so happened that a bug was fixed when changing all that stuff 18:02 hmmmm that change in particular was pretty huge 18:02 hmmmm also i didn't fix caves having dead ends 18:02 rubenwardy who did? 18:02 rubenwardy wasn't it realbadangel? 18:03 hmmmm i don't know why that was added in the first place.. to the contrary, i introduced the bug of caves having flat walls but only when there is more than one emergethread running 18:03 sapier hello, is anyone interested in cleaning up server class? 18:03 hmmmm no 18:04 hmmmm oh god leave it alone for now 18:04 rubenwardy is emerge thread about multi-threading? 18:04 hmmmm that's too much 18:04 rubenwardy is emerge thread about multi-threading? 18:04 sapier I'm trying to add pathfinding but adding functions to access necessary data will increase that mess even more 18:05 hmmmm really there are two distinct things that went on with the emerge crap 18:05 hmmmm 1). the move of all that to emerge.cpp, and the cleanup of a LOT of code 18:06 hmmmm 2). threads aren't constantly being created and destroyed, and there can be multiple emergethreads 18:06 sapier cleanup is always a good idea :-) 18:06 hmmmm it's really nice you should check it out 18:06 hmmmm you can still see some celeron parts but it's mostly tidy 18:07 VanessaE haha 18:07 sapier yes but current server.h is crap it's a big monolithic mix of code having nothing in common except of being needed for something a minetest server needs to do 18:08 rubenwardy sfan5: fixed 18:08 hmmmm i'd really wait on that.. it's way more complicated than you probably think 18:08 rubenwardy is that a threat? lol 18:08 rubenwardy :P 18:08 hmmmm even something that was 'easy', like the scriptapi split, ended up taking much more effort than it was supposed to 18:08 sapier I don't think it's easy don't get me wrong :-) sorting that thing out is a big task 18:09 hmmmm also i ended up changing them to scriptapi_*, the lua_* implied that it was part of lua or something and it looked wrong 18:09 hmmmm sorry 18:10 sfan5 rubenwardy: it would make more sense to list me next to pilz because you seem to have listed them in the order of translate.minetest.ru 18:10 rubenwardy fixed 18:10 sapier no problem ... first I wanted to rename it to this too but I needed to make project explorer to big to distinguish between files with a prefix that big ;-) 18:11 hmmmm it's not really that much of a problem, especially if you shorten things like "environment" to "env" 18:13 sapier my only requirement to names it that they shall be speaking scriptapi_* is even better considering the lua_* misinterpretation risk 18:15 sapier I'd be interested in cleaning up lua <-> server interface currently most of these functions are namend scriptapi_ ... but not all 18:29 hmmmm hey i just made this page http://dev.minetest.net/Code_style_guidelines - suggestions? 18:30 sapier why not c++? 18:30 hmmmm ? 18:30 sapier Don't use initializer lists unless absolutely necessary (initializing an object inside a class, or initializing a reference) 18:32 hmmmm ya 18:32 sapier any reason for this? 18:32 hmmmm initializer lists are stupid and they offer no advantages over assignment inside the ctor body 18:33 sapier they do, you can enable compiler to generate a warning on missing initializers 18:33 hmmmm the only reasons that people can come up with to use them are to use dumb C++ features already being avoided and a supposed "performance increase" that's trivially optimized with -O1 18:34 sapier I don't think objects are created that often to make a difference in minetest so performance isn't a issue (in this special case) 18:35 sapier but I really appreciate having compiler do those checks 18:36 hmmmm well 18:37 PilzAdam hmmmm, http://minetest.net/wiki/doku.php?id=contrib 18:37 sapier it's a personal preference I know but you asked for comments ;-) 18:37 hmmmm yeah those are outdated and dumb guidelines 18:39 sapier can we add a "max 80 chars" rule too? 18:39 hmmmm definitely not 18:39 hmmmm there are so many lines that go over 80 18:39 sapier In most cases you've done something wrong or can split it without problems 18:39 PilzAdam "Try to stay under 80 characters per line"? 18:39 hmmmm the guideline i follow is like "try to stay under 80, but it's okay if you go over by 2-4 chars, 90 is definitely unacceptable" 18:40 hmmmm strictly under 80 causes too many headaches and chops things up 18:40 sapier I know we all have big screens but edit window is still limited in current ide's 18:40 sapier ok that's what I meant, no matter if its 80 or 81 but not 120 18:41 hmmmm okay thanks for being reasonable 18:41 hmmmm there are people who think that it should be strictly under 80 or else, because they use vim and they don't understand how to resize their terminal 18:43 RealBadAngel using vim is hardcore already, such folks should know it by definition lol 18:45 sapier I once thought screens are big and line size is no issue ... but it is if you're looking for something in code and have to scroll to end of line everytime 18:46 RealBadAngel i can see here circa 150 chars/per line in geany window 18:46 hmmmm use that horizontal space for a split window like i do 18:46 sapier add project explorer on right side and search window on right ;-) 18:46 sapier or start debuging having variable window right ... 18:47 sapier many cases where your edit window is somehow limited even on big screens 18:47 RealBadAngel and pizza oven in top corner 18:48 hmmmm okay, i changed a couple things 19:37 hmmmm hey RealBadAngel, how would i set a MapNode to have a certain facedir? 19:44 thexyz can somebody explain what do values in profiler output mean? http://pastebin.com/raw.php?i=Yf5XpKBG 19:45 thexyz i set print interval to 60 seconds 19:46 thexyz http://pastebin.com/raw.php?i=7vHiAh0f — next one 20:46 sapier1 https://github.com/minetest/minetest/pull/535 what do you think about those changes? 21:24 hmmmm erm... the singleton thing.. 21:24 hmmmm that's the point of GameDef 21:24 hmmmm but the environment is part of the GameDef, and lua is a member of the environment 21:50 sapier1 yes, having everything within env being part of env woult be best, but if you make everything part of environment you have to add access functions everywhere up ... atm for example getLua is within ServerEnvironment and Server 21:52 hmmmm but getLua() is even cleaner than ScriptAPI::getInstance()blah like you'd have people do there 21:52 sapier1 but I don't even see mod api being part of environment, yes it can be used to modify environment and is triggered by it 21:53 sapier1 my intention was to stopp Server and Environment from passing lua env as neither server nor environment do have any knowledge about lua 21:54 sapier if you insist scriptapi being a part of env I'll make it a member of env, thus move initialization to env as well as cleanup 21:56 sapier In my opinion scriptapi has grown to a component of minetest everyone uses parts of it or at least interacts with it. 21:58 hmmmm it would clearly be better if you get the Lua state from the environment.. i think there is a deeper reason why things were designed in that manner though 21:58 sapier lua wasn't part of environment by now 21:58 hmmmm for this i would actually ask celeron55 if it's a good idea 21:58 sapier it was more part of server 21:58 sapier server passed it to environment 22:00 sapier Yes knowing celerons55 intention would be interesting but I'm not quite sure if he's up to date with recent changes as original design seems to be lost while features where added 22:00 hmmmm the basic layout of these types of major components haven't changed for quite a while... 22:01 sapier maybe but I doubt that inventorymanager stuff was intended within scriptapi design 22:01 hmmmm alright i think i'm about to freaking give up on the dungeon stairs thing. 22:01 sapier dimheom stairs? 22:01 sapier dungeon 22:02 hmmmm there are some staircases with regular cobble blocks and i can't figure out how to orient the blocks correctly 22:03 sapier maybe there isn't a correct solution in any cases? 22:03 hmmmm http://paste.ubuntu.com/5600290/ 22:03 hmmmm i'm sure there's a correct solution, i just can't figure it out.. 22:05 hmmmm in this one edge case i'm pretty sure previously placed staircases are getting owned by cobble that's placed by makeFill in the next iteration 22:05 hmmmm i don't have the patience for this 22:06 sapier :-) calm down take some sleep and try again tomorrow 22:06 hmmmm i can spin it off as just having variety.. it's not perfect but it works in most cases, and it's probably more interesting to have some unfinished staircases 22:07 sapier you know it'll never be finished ;-) 22:08 hmmmm i am actually pretty happy with what i currently have. dungeons are a lot more interesting and complex than they used to be thanks to a couple tweaks 22:10 hmmmm i planned on randomly having chests in large dungeon rooms that are randomly filled with loot, but i can't possibly hardcode what each chest gets, that's clearly something best left to the modder to figure out 22:10 sapier that's good 22:10 sapier what do you think about the idea of making minetest more modular 22:11 hmmmm so i started wondering if i really needed chests there at all in the first place. so maybe i could just have dungeon room locations in an array that's passed to lua after for some mod to fill it up with content 22:11 hmmmm minetest is really modular as-is 22:11 sapier the mods yes 22:11 sapier but core isn't 22:11 hmmmm i'm not sure if it needs more fixing 22:12 sapier currently any new feature need's to be added to server class 22:12 hmmmm i'm focusing on things that really need help, the organizational matters are quite secondary 22:12 sapier which is already pretty overloaded 22:12 sapier yes but you can't stick to the problems if you'll have to search for things 90% of time 22:13 hmmmm well the Server class is really supposed to be the game's overall state, stuck into a class so that it can easily be reset 22:13 hmmmm so i don't have a problem with "too many things" being a part of Server 22:14 sapier I do understand but what would be wrong if server would initialize a list of modules providing different interfaces for example 22:14 sapier this wouldn't stop server from do a clean shutdown 22:14 sapier but make design of server class much more easy 22:14 hmmmm ask celeron about that one 22:15 hmmmm personally, i don't think it needs to be done or even should be done since there's way too much work involved and too much of a chance to mess things up 22:15 hmmmm from what i see, what we have is working fine 22:16 sapier yes there is risk I don't deny that ... but it'd ease maintenance drasticaly 22:17 sapier background is that there are lot's of usecases where tasks need to be done multithreaded. emerge thread is one example, jeijas curl feature another, and my pathfinding algorithm would even be extreme multithreaded 22:18 sapier while everything is connected that close as server multithreading in such dimensions is almost unfeasable 22:41 sapier can someone tell me where to get access to map ? 22:56 celeron55 ha, hmmmm is getting pissed off by my dungeon generating code? 8) 22:57 sapier seems to be 22:58 sapier is there any straight forward way to access node information? 22:58 sapier I don't want to modify it just read 23:00 sapier I'd like to avoid m_env->getMap() 10k times