Time Nick Message 00:00 paramat it was overgenerated edges of large caves that made these shadows 00:00 TBC_x and potentoinally leaks fds 00:00 paramat i recognised the shape from holes eaten in my early lua mapgens 00:01 paramat fixing commit was #2410 00:01 ShadowBot https://github.com/minetest/minetest/issues/2410 -- Mgv6: Add heightmap. Do not make large caves that are entirely above ground by paramat 00:05 paramat those mgv6 shadows suddenly became very common in early 2014 for some reason, they're in 0.4.12 stable 00:08 twoelk using we seems to still generate random shadows. there must be more than flying nodes and invisible caves that generates shadows 00:09 paramat yes 00:11 paramat in mgv5/v7 at y=63 #2759 (63 is the new 47) 00:11 ShadowBot https://github.com/minetest/minetest/issues/2759 -- Lighting bug at y = 63 in mgv7 and core mapgens in development 00:11 paramat also i see occasional square shadows, possibly 16x16 00:20 RealBadAngel paramat, reopened issue 2996 and added screenshots 00:21 paramat okay 00:21 RealBadAngel look at those screenies, thats not normal imho 00:23 RealBadAngel on a newly generated world, flying around for a minute or two i spotted a few such squares of cobble flying at y=50 circa 00:24 paramat these have been in MT for years, no point arguing over whether it's a bug or a magickal feature 00:25 paramat i did the arguing months ago =) 00:26 paramat since they have become a much loved (by some) characeristic the default is 'enabled' 00:27 twoelk those are relicts of the ancients. the possesed the knowledge of levitating dungeons 00:27 paramat ^ 00:27 twoelk +y 00:28 paramat the issue is more the 'projecting complete rooms' which make the most awesome bases 00:28 RealBadAngel call it whatever you like, such rings of mossy cobble are bug no matter what 00:28 RealBadAngel and the bugs lifetime is no excuse to call it a feature 00:29 paramat longtime bugs often become the most loved features of games 00:29 twoelk when was voxelmanip added or made more accessable? does that corrolate with the increase of shadows? 00:30 paramat they're like finding a magickal floatng stone circle. i like ancient monuments 00:31 paramat the mgv6 shadows were probably due to changes in lighting code, the most recent change caused the y=63 shdows 00:31 paramat (shadows) 00:31 est31 ok bugfix for #2915 is here: #2933 00:31 ShadowBot https://github.com/minetest/minetest/issues/2915 -- Shift-Click in Minetest Game replicates items 00:31 ShadowBot https://github.com/minetest/minetest/issues/2933 -- MoveItemSomewhere double bugfix by est31 00:32 twoelk sneak elevators are a cool and usefull bug, those structures should be kept rare like nyan cats to stay something special 00:32 RealBadAngel rare? 3 rings found near spawn 00:33 est31 sneak elevator != cave ring 00:33 paramat the stome rings became more common when i enabled dungeon generation high above ground, si yes they are almost too common now 00:33 paramat (so) 00:33 est31 s/cave/dungeon/ 00:33 paramat even i'm becoming neutral about them =) 00:36 twoelk g'night 00:45 est31 night all 00:47 RealBadAngel #2934 00:47 ShadowBot https://github.com/minetest/minetest/issues/2934 -- Add wielded (and CAOs) shader by RealBadAngel 00:47 RealBadAngel its ready for testing 01:16 paramat hmmmm let me know sometime if you approve of #2932 01:16 ShadowBot https://github.com/minetest/minetest/issues/2932 -- Cavegen: Mgv6: No small caves entirely above ground by paramat 01:16 hmmmm yeah I guess so 01:19 paramat okay thanks 01:44 est31 hmmmm, can you have a look at #2933 01:44 ShadowBot https://github.com/minetest/minetest/issues/2933 -- MoveItemSomewhere double bugfix by est31 01:44 paramat now pushing 2932 01:51 paramat push complete 02:10 Tesseract TBC_x: safeLoadFile uses stdin if no file is passed because that's what regular Lua loadfile does. 02:10 Tesseract Please tell me if there's an actual security issue with that. 03:26 johnnyjoy Does anyone know is est31 is planning to be back anytime soon? 03:27 VanessaE dunno. 03:39 johnnyjoy Thanks VanessaE, est31 was just helping me with a PR. 03:44 est31 johnnyjoy, whats the problem? 03:46 johnnyjoy Just wanted to see what I could do to advance the PR. 03:53 est31 perhaps ask people to test it, and try it 03:56 hmmmm est31: looks good to me 03:57 hmmmm hmmm 03:57 hmmmm minetest's signed number serialization is borked 04:02 est31 ok hmmmm do you think it needs a third person to have a look at? 04:02 hmmmm est31: no.. 04:03 est31 ok pushing then 04:22 VanessaE ah HAH! 04:24 * Zeno` hides 04:24 VanessaE lol 04:25 VanessaE zeno: your memory-leak-fu is needed. :) 04:25 hmmmm it is?? 04:25 VanessaE hmmmm: possibly. VE-Basic has 13MB of content and uses 740 MB of RAM on my box (default textures, no graphics effects) 04:26 VanessaE zeno's good at hunting down memory leaks and excess usage :) 04:26 hmmmm if it's still not growing in memory usage then it's probably not a leak 04:26 hmmmm not still* 04:26 VanessaE well maybe "leak" is the wrong word then 04:27 hmmmm don't make zeno out to be some kind of superhero, he's just a guy with massif :) 04:27 VanessaE lol 04:27 hmmmm speaking of memory leaks 04:27 oneZ wait, that's not right 04:28 oneZ I wear my underpants on the outside ya know, hmmmm 04:28 hmmmm I wonder what happened to the guy with the patch for RBA's memory leak 04:28 hmmmm you wear a onesie 04:28 oneZ lol 04:28 hmmmm i mean, that is your name after all 04:28 hmmmm oneZ 04:28 oneZ yes, so I *am* a superhero 04:28 VanessaE lol 04:28 hmmmm that's a pretty clever name 04:28 hmmmm Zeno does indeed have one Z 04:29 Zeno` yes 04:29 Zeno` One Z to rule them all 04:29 Zeno` I must get around to reinstalling massif etc al after my rebuild 04:30 VanessaE and in the darkness bind(2) them? 04:30 Zeno` VanessaE, you have read my history I see... 04:31 Zeno` But seriously, I still haven't installed all the tools I use since I rebuilt my box and reinstalled / 04:31 Zeno` Some need to be compiled manually and I've been playing games *blush* 04:32 Zeno` hmmmm, speaking of valgrind do you think if I added valgrind hooks to the source the commit would be accepted? 04:32 hmmmm absolutely not 04:32 hmmmm horrible 04:32 hmmmm why would you even bother asking 04:32 Zeno` they have to be #ifdef of course 04:32 * est31 is still overriding his ssd with stuff from /dev/urandom, now at blazing 0 B/s according to pv 04:32 hmmmm est31, that's not going to help 04:32 Zeno` ok, I'll keep them in my personal repo :P 04:33 est31 hour 66, 725 gb done 04:33 hmmmm zeno`: sarcasm 04:33 Zeno` I know :P 04:33 Zeno` I'll probably clean them up because they're fairly handy 04:33 hmmmm est31: that ssd has a bunch of sectors that probably aren't going to get overwritten 04:33 Zeno` (for controlling the instrumentation) 04:33 est31 hmmmm, but if its from urandom? 04:34 hmmmm lol 04:34 est31 I mean zeros are optimised, no? 04:35 hmmmm no, SSDs literally have a quite a large segment of spare, hidden sectors that get remapped if a couple die within the normal lifetime 04:35 hmmmm so when you overwrite everything it doesn't actually overwrite everything 04:36 est31 ah i see 04:36 hmmmm it's not really possible to overwrite everything unless there's a special command in the SSD's firmware to do so 04:36 VanessaE plus, all you gotta do is fill the drive up with a few large files maybe twice and you'll use up all the spare cells (not the remappable ones but the "extras" used for better write endurance) 04:36 hmmmm hrmm 04:36 est31 I'll perhaps make a research... 04:36 Zeno` hammer 04:36 est31 VanessaE, thats only taking care of the filesystem 04:37 Zeno` hammer, water, acid, microwave and then blend it 04:37 VanessaE est31: not exactly true 04:37 hmmmm I wonder if there's a clever way of platform-independently serializing a signed value 04:37 est31 ah these warnings TBC_x has pasted 04:38 VanessaE I mean, you can zero-out your swap partition, but if you disable TRIM and fill up + empty out the FS a couple of times, there won't be anything left to read. 04:38 est31 ? 04:38 est31 I'm using dd 04:38 VanessaE hmmmm: render the number as a regular ASCII string? 04:39 hmmmm lol 04:39 est31 hehe 04:39 hmmmm that's not very clever 04:39 VanessaE sometimes simple works better than clever ;) 04:39 est31 also not backwards compatible 04:39 Zeno` what warnings? 04:40 est31 Zeno`, read in the logs, yesterday or the day before TBC_x has shared a link 04:40 est31 with some linter like tool 04:40 Zeno` you want me to READ? 04:40 est31 lotsa srp stuff 04:40 est31 either way, its external 04:41 Zeno` Are they real warnings? 04:41 est31 no, just linter output 04:41 Zeno` What I mean is, sometimes those static analysis packages have a lot of false positives 04:41 est31 i didnt check them 04:41 est31 but i assume hmmmm did 04:41 hmmmm ? 04:41 est31 just saw the link, clicked it. 04:42 hmmmm same here I just clicked it 04:42 hmmmm seems like a lot of bogus "code style" warnings telling us to follow their style (like avoiding C-style casts) and unused functions 04:42 hmmmm nothing much of value 04:43 Zeno` pfft 04:43 Zeno` false positives :D 04:43 Zeno` I tried one lint-like program and it spat out style stuff 04:43 hmmmm whose style anyway 04:43 est31 well, the c++ standard creators are proud of their over complicated cast system 04:44 hmmmm over verbose at least 04:44 Zeno` something completely stupid as well; from memory it wanted parenthesis around return values 04:44 hmmmm lolol 04:44 est31 they even call verbosity a feature 04:44 est31 "because its easier to see there is a cast being done" 04:44 Zeno` lol 04:44 est31 at least inside some doc page 04:44 Zeno` yeah because (sjfsjfksjfsjfks) is pretty hard to see 04:44 est31 perhaps not part of the standard itself 04:45 est31 why again is new something different from malloc and delete? I mean it makes just life harder? 04:46 est31 (as in why is new -> free and malloc -> delete forbidden) 04:46 est31 malloc and free* 04:47 Zeno` it calls constructors 04:47 Zeno` and throws exceptions (unless you tell it not to) 04:47 Zeno` but there is nothing wrong with malloc/free 04:48 Zeno` s/it calls/new calls 04:48 hmmmm heh 04:48 hmmmm the overcomplicated operator new constructor semantics 04:48 hmmmm Foobar *foo = new Foobar; vs. Foobar *foo = new Foobar(); 04:49 hmmmm iirc this changed somewhat subtely in C++11 04:53 Zeno` great 04:53 Zeno` the thing I hate most is having to remember to do delete[] for arrays 04:54 Zeno` not so much remember, but if the allocation changes you have to remember to change the free as well 04:54 Zeno` which can kind of be a maintenance issue in some instances 04:56 Zeno` gosh... I have heaps to catch up on 04:56 * Zeno` scrolls through commit log 04:58 Zeno` oh, going back a bit in the conversation... http://oclint.org/ <--- I believe that's the one that wanted parenthesis around return values 04:59 hmmmm hmmm 04:59 hmmmm does this look correct? http://fpaste.org/245780/37281931/ 04:59 Zeno` looks like a valid URL to me, yeah 05:00 Zeno` I'm not sure about the snippet 05:00 Zeno` will have to thing about that 05:01 Zeno` what if it's already 2s complement? 05:01 hmmmm the ~ implicitly converts v to an unsigned integral type of the same rank 05:01 hmmmm then it should equal itself 05:02 hmmmm so for non-twos-complement machines, that could be defined to a no-op: #define MAKE_TWOS_COMPLEMENT(v) (v) 05:05 hmmmm I'm wondering if I should leave well enough alone and only change it if we get a bug report that minetest isn't working right on a PDP-8 or w/e 05:10 Zeno` I dunno 05:10 Zeno` what am I doing wrong: http://codepad.org/Wbe7jlcp 05:11 Zeno` ignore the first printf... that was something I was trying first 05:11 Zeno` I'd wait for the PDP-8 bug report myself heheh 05:15 Zeno` hmmmm ^ 05:16 hmmmm ? 05:16 Zeno` maybe I will implement a 1s complement VM 05:16 Zeno` to test? 05:16 hmmmm lol 05:17 Zeno` I don't think it's right, btw... because if you're adding 1 wouldn't you need the unsigned integral 1 larger than the current rank? 05:17 Zeno` to account for -0 and +0 05:18 Zeno` I dunno... been a long time since I learned 1- and 2-s complements\ 05:18 hmmmm why should that matter? wraparound is well defined 05:18 Zeno` I don't know. I need my 1st grade binary representation chapter 05:19 Zeno` I can't remember hehe 05:20 est31 also hmmmm areastore has unittests now 05:20 hmmmm cool 05:20 hmmmm i'll have to take a look 05:20 Zeno` has hmmmm's status as unittest maintainer been officialised yet? 05:21 Zeno` oh, btw.. is weblate a bot/website? I've seen some commits from them 05:21 est31 if not he has my +1 05:21 est31 Zeno`, yes it is 05:21 Zeno` nice 05:21 hmmmm unittest maintainer? 05:21 hmmmm what the hell is this 05:21 est31 it has no automatic push privileges though 05:21 est31 Zeno`, https://hosted.weblate.org/projects/minetest/ 05:21 Zeno` hmmmm we have voted you as the unittest subsystem maintainer 05:21 hmmmm i am not taking other peoples' responsibility of making sure their crap works 05:21 Zeno` lol :-D 05:22 est31 the way weblate works is that it creates gazillions of senseless merge requests 05:22 est31 it has a button though to "clean up the history" 05:22 Zeno` who set that up? 05:22 est31 me 05:22 Zeno` very cool 05:22 est31 I dont host it however, the weblate creator does 05:23 Zeno` and it's working as intended? 05:23 est31 mostly yes 05:23 Zeno` I mean... no complaints? 05:23 est31 ?? 05:23 Zeno` cool 05:23 est31 you have to run updatepo.sh from time to time I guess 05:24 est31 I'm not sure yet which model we should adopt 05:24 Zeno` why are all the PR's failing? 05:24 est31 because sf.net is down and thats where the bot gets irrlicht from 05:25 Zeno` jenkins 05:25 est31 nrz androbot yes 05:26 Zeno` sf.net has been down for over 2 days? 05:26 Zeno` lol 05:26 Zeno` it's probably dying :( 05:27 est31 they have a twitter page with updates 05:27 est31 somewhere 05:27 est31 bye 05:27 Zeno` yeah, and no updates for 18 hours 05:27 hmmmm Zeno`: wait, looking at your codepad paste again 05:27 hmmmm isn't that result correct? 05:28 hmmmm 0x8000 is the intended representation of INT16_MIN 05:29 Zeno` http://codepad.org/rbvkoGpg 05:29 Zeno` yeah so I guess it's correct 05:29 Zeno` padded with binary 1 to the left 05:30 Zeno` but... how is this more portable? 05:31 hmmmm well I didn't write the corresponding readU16() 05:32 hmmmm it's more portable because it avoids any assumptions about the bit layout of a signed type and doesn't rely on casting to an unsigned type 05:33 Zeno` oh this is for serialised data.. sorry, forgot that bit 05:33 hmmmm the case of conversion from signed to unsigned is well defined by the C standard when the signed integer is positive 05:33 hmmmm it's only the negative case we have to worry about 05:33 Zeno` yeah 05:34 hmmmm there, i make it into something that is well defined, i.e. positive, implicitly convert that to an unsigned type, and then do unsigned bit arithmetic on it to create the twos complement representation 05:34 Zeno` so 1's complement simply has a sign bit... correct? 05:34 hmmmm right 05:34 hmmmm there are way more representations of signed integers btw 05:34 hmmmm not just ones and twos complement 05:34 Zeno` yes, I have a few of my own 05:34 hmmmm thing is 05:35 hmmmm virtually no computers use them since 1970 05:35 Zeno` (seriously, when I was writing toy VMs I implemented some weird ones just for the sake of it) 05:35 hmmmm yea 05:35 Zeno` which is why I said that I'd wait for the PDP-8 bug report you mentioned :D 05:35 hmmmm it's a good way to practice your C-standard-fu 05:45 Zeno` well if you want to implement the bit scrubbing (or whatever you want to call it) I won't say it's not useful 05:46 Zeno` I just personally wouldn't bother heh 05:46 Zeno` except for, maybe, floating points 05:47 Zeno` maybe BCD is the way to go 05:47 Zeno` nah, too hard 05:47 Zeno` plain text 05:47 Zeno` and compress it with snappy 05:50 Zeno` bbl; 08:49 TBC_x I've noticed that somebody complained about my cppcheck report containing (style) lines, use GREP god dammit 09:08 TBC_x Tesseract: Your safe loading code has many early returns, It may leave dangling file descriptor, I suggest to use wrapper method that opens the file and then closes it 09:12 RealBadAngel TBC_x, can you link me again pasties with client.cpp changes you made? 09:13 TBC_x k 09:14 TBC_x http://sprunge.us/aUHM 09:15 TBC_x that's the whole fix 09:15 TBC_x for the minimap leak 09:15 TBC_x you should also consider adding distance based garbage collector 09:16 TBC_x also, are you sure the minimap textures always exist? 09:17 TBC_x hmm, nvm 09:17 TBC_x when getTexture() returns 0, you get segfault 09:19 TBC_x and that is too ambiguous to fix, when it happens 09:20 RealBadAngel if (!minimap_texture) 09:20 RealBadAngel return; 09:20 TBC_x wait, gonna look it up 09:21 TBC_x it is in Mapper::Mapper 09:22 TBC_x I would add exception to getTexture() 09:22 TBC_x and unless it is handled, it would have clear message that some textures are wrong 09:23 RealBadAngel in what case you wouldnt get texture? 09:23 TBC_x in an exceptional case 09:23 RealBadAngel its already handled 09:23 RealBadAngel fake one is created 09:24 RealBadAngel with info on that too 09:24 TBC_x then there should be assertion unreachable() 09:25 TBC_x still better than a segfault 09:25 RealBadAngel then fix texture source 09:25 RealBadAngel its not minimap code 09:26 RealBadAngel texture source code is in client/tile.cpp 09:29 TBC_x hmm 09:30 TBC_x I should stop complaining about broken code I broke myself :P 09:33 TBC_x but still, I think that TextureSource::getTexture(u32) should throw an exception instead of NULL 09:33 TBC_x client/tile.cpp:661 09:39 TBC_x if (id == 0 || id >= m_textureinfo_cache.size()) 09:39 TBC_x throw TextureNotFoundException; 09:41 RealBadAngel you can modify it 09:57 TBC_x no crashes on exception, I guess the exception is reasonable there 09:59 RealBadAngel then open a PR with it 10:35 RealBadAngel TBC_x, your minimap fixes broke radar mode 10:42 RealBadAngel do you actually test your changes? 10:48 RealBadAngel can anybody review #2934? 10:48 ShadowBot https://github.com/minetest/minetest/issues/2934 -- Add wielded (and CAOs) shader by RealBadAngel 11:01 VanessaE different subject: will there be a time soon where the server can be given arbitrary new media files to be sent to clients? for example if someone wants me to install a skin for them, currently I have to restart the server to make it available. 11:07 VanessaE this causes people to constantly ask me when the skin (or other change) will take effect. 11:22 TBC_x the radar mode is quite a cpu hog 11:23 TBC_x that's probably why I didn't test it 11:31 TBC_x are there any routines to check whether a mapblock is underneath an empty mapblock? 11:37 TBC_x VanessaE: could you please reset my password for digitalaudioconcepts.com:30005? 11:37 VanessaE sure, TBC. 11:37 TBC_x thank you 11:38 TBC_x oh 11:39 TBC_x that's not your server 11:39 TBC_x even localhost is denying password 11:40 TBC_x and I never set a password for my localhost 11:41 VanessaE heh 11:42 TBC_x better make clean 11:44 TBC_x btw, why aren't unit test handled by cmake and are built into the binary instad? 11:44 VanessaE no clue 11:45 RealBadAngel TBC_x, radar mode is a hog? rotfl 11:45 RealBadAngel its less demanding mode 11:45 TBC_x well... I get 1/3 of fps 11:46 RealBadAngel thats propably because of you guys trying to fix things 11:46 TBC_x well, that doesn't mean that they are broken 11:46 TBC_x well, that doesn't mean that they are not broken 11:46 RealBadAngel your fixes breaks funcionality 11:46 VanessaE zero difference here between radar mode and surface mode 11:47 TBC_x I want to see hmmmm's minimap 11:47 VanessaE negligible difference between turning it on/off 11:47 RealBadAngel please do check effects of your fixes instead for looking leaks in the wrong place. your approach was wrong from the very begining 11:48 VanessaE of course I'm using the upstream copy 11:48 RealBadAngel lemme show you something 11:48 TBC_x I am aware of that 11:49 TBC_x but allocating a class on the stack should not cause any leaks at all 11:50 TBC_x I kinda understand what Linus said about C++ 11:51 RealBadAngel this is how radar mode looks like after your changes: https://imgrush.com/mjEsWR8TiqdB 11:52 TBC_x I would like to see a side-by-side comparison 11:52 Routh I heard minimap. Is there a github for said minimap/ 11:52 Routh ? 11:53 TBC_x latest git 11:53 RealBadAngel Routh, theres F9 key on your keyboard if you have latest build ;) 11:54 Routh Not yet apparently, so this will be core client feature and not a mod? :D 11:54 TBC_x the F9 is possible to remap, right? 11:54 RealBadAngel no 11:54 RealBadAngel like the other F keys 11:55 TBC_x new stuff using keys better should be remappable 11:55 RealBadAngel remap cinematic, 3rd person, hide hud etc 11:55 RealBadAngel otherwise stop trying to look for bad code in mine 11:56 RealBadAngel current master with radar is fucked up too 11:56 TBC_x well, that's not my work 11:56 RealBadAngel i just love guys fixing the code they do not understand 11:57 RealBadAngel and even more when they do not try what they have fixed 11:58 RealBadAngel you should get a medal made out of a potatoe for that 11:58 TBC_x the code I do not understand I try to rewrite to keep current functionality and adding comments so everyone else can understand the code 12:02 RealBadAngel https://imgrush.com/folzWGrfHhCy.png 12:02 RealBadAngel i had to roll back quite a while to get a build with correct code 12:03 TBC_x well... don't blame me for your broken radar then 12:03 RealBadAngel you made it even worse 12:03 TBC_x how so? 12:03 RealBadAngel both of you have made it unusable 12:04 TBC_x write unit tests 12:04 RealBadAngel i know where are leaks, but its not the place you were thinkin 12:05 RealBadAngel i will fix my OWN code on my own. ok? 12:05 RealBadAngel both of you just dont get it 12:05 TBC_x you mean the destructor cannot deallocate objects, the constructor allocated? 12:06 TBC_x what commit does you radar work at? 12:07 RealBadAngel before hmmms attempts to attach 5th wheel to my car :P 12:07 TBC_x you need a steering wheel, right? 12:07 TBC_x ;) 12:08 RealBadAngel i will just fix the leaks, you guys get better lookin for problems elsewhere 12:09 RealBadAngel because now i have to undo what better coders have broken 12:09 VanessaE tbc: touché :) 12:09 TBC_x hmm? 12:09 VanessaE the steering wheel 12:09 TBC_x well, i don't get it 12:09 RealBadAngel yeah, that will be able to steer the car in all six dimensions thx to extra wheel 12:10 TBC_x you're welcome! ;) 12:11 TBC_x RBA: run it through cppcheck when you're done, please 12:13 RealBadAngel http://cppcheck.sourceforge.net/ 12:13 TBC_x are you using windows? 12:13 RealBadAngel btw, i was coding cpp 25 yrs ago 12:13 TBC_x my father was coding C 20 years ago 12:14 TBC_x it is still horrible 12:14 RealBadAngel i just hate when youngsters come and say that they do know better :P 12:14 TBC_x get used to it 12:16 RealBadAngel i can get used to constructive comments 12:16 RealBadAngel what hmmm does is trolling 12:17 TBC_x well... when you allocate resources in a constructor, you shall take care of they are properly destroyed in destructor 12:17 RealBadAngel TBC_x, minimap mapblocks are not meant to be deleted in mesh update thread 12:17 RealBadAngel its not allowed 12:18 RealBadAngel only proper place to delete them is mapper itself 12:18 TBC_x I solved that by moving the pointer out of the MapBlockMesh 12:18 TBC_x when it is used 12:18 RealBadAngel thats actually good idea 12:19 RealBadAngel and i will use it 12:19 TBC_x and if the pointer is valid when the destructor is run, it will delete it 12:20 TBC_x got kinda inspired by C++11 12:20 RealBadAngel its all done in threads 12:20 RealBadAngel thats not safe 12:21 RealBadAngel mapper will keep getting weird data 12:21 TBC_x well, on my test runs, I had no corrupted mapper data 12:21 RealBadAngel radar mode is corrupted 12:21 TBC_x when I implemented the move 12:21 RealBadAngel enough for the evidence 12:24 RealBadAngel hmmm is a master of judging the code without even trying it. atm its like we could see a black screen and author of the change is claiming, hey but i fixed the leak! 12:25 RealBadAngel so what it doesnt work properly anymore. its fixed. period ;) 12:27 TBC_x well.. I applied the fixes to 8ac0cf500ff336c43f6c42b306431fa6564b7cc8 12:27 TBC_x can you confirm, the broken minimap was there? 12:27 TBC_x i mean radar mode 12:27 RealBadAngel its broken even without your fixes 12:28 RealBadAngel your code makes it just a bit worse 12:30 TBC_x well... I cannot fixed undefined behaviour, when the code is not really fixing undefined behaviour 12:31 RealBadAngel i will try to fix the logic of updates first 12:31 RealBadAngel it is mainly broken 12:32 RealBadAngel im done with previous task now, so i can spend a few next days on minimap 12:32 TBC_x VanessaE: did you set any default password? I can connect to localhost but not to your server 12:33 VanessaE TBC: the only password I set was the one you asked me to reset a bit ago. 12:33 TBC_x oh 12:34 TBC_x i missed the PM due to too much open channels 12:34 TBC_x thanks 12:34 VanessaE np 12:36 TBC_x does the minimap use any OpenGL extensions? I have Intel graphics here 12:38 RealBadAngel turn on shaders and see 12:38 TBC_x rather not 12:38 RealBadAngel minimap has its own shader 12:38 RealBadAngel its not that demanding one 12:38 RealBadAngel should work even on low end gpus 12:39 TBC_x looking into the sky, drawtime 15 12:40 TBC_x with minimap drawtime 20 12:40 TBC_x hmm 12:40 TBC_x looks like mesh updating issue 12:41 RealBadAngel minimap compositing the texture each frame is costly 12:41 RealBadAngel it shall be moved back to mapper thread 12:42 RealBadAngel but for that i need own image manipulating routines, irrlicht ones are not thread safe 12:42 RealBadAngel also we need double buffering there 12:42 TBC_x just cache pixels for each zoom, for each block 12:44 TBC_x i mean, node 12:45 RealBadAngel what do you mean? 12:46 RealBadAngel i was talkin on displaying the minimap texture. one should being worked on, another one displayed, thats double buffering 12:48 RealBadAngel this way you can safely work on a texture in a thread, when done just pass it to main thread 12:57 TBC_x well... whatever 13:23 johnnyjoy sfanf, is there anything I can do to help complete PR 2912? 13:25 RealBadAngel #2912 13:25 ShadowBot https://github.com/minetest/minetest/issues/2912 -- PostgreSQL database backend by johnnyjoy 13:26 RealBadAngel squash it in the first place 13:27 johnnyjoy Okay. I will look up how to do that, and message when it's done. 14:02 hmmmm hmmm 14:02 hmmmm i think when sapier or whoever wrote the new connection.cpp, there had been a fundamental misunderstanding about Buffer 14:03 hmmmm it's being used in the absolutely most inefficent manner possible 14:04 hmmmm definitely needs cleaning up at some point. the simplest operations involve 10-15 copies of the same data 14:05 nrzkt yes, there are too many copies into the UDP layer 14:08 johnnyjoy I have squashed changes for PR 2912. Please let me know if there is anything more I can do. 14:10 hmmmm johnnyjoy, i looked at it and it seems good to me. 14:17 johnnyjoy How will I know if the changes get pulled? 14:17 hmmmm it'll get noted on the PR page 14:18 johnnyjoy Thanks. 14:54 hmmmm nrzkt: What makes you think that enet is better than the minetest protocol? 14:54 hmmmm nrzkt: Have you actually looked at enet? 14:54 nrzkt personnally i perfer native TCP connection to handle connections with a UDP for unreliable datas 14:55 hmmmm None of this is necessary. Just fix the existing protocol and as an added bonus there's reverse compatibility. 14:55 nrzkt but many wants enet, i looked at ENET API it's very simple to use, this will make a very tiny connection stack on minetest and will cleanup many and many useless lines of code 14:55 hmmmm I looked at enet and it includes a checksum in its packets. 14:56 hmmmm That tells me the level of knowledge of its creator. 14:56 nrzkt it's like a TCP over UDP... 14:56 nrzkt and there is no IPv6 too 14:56 nrzkt but maybe cleanup the whole stack could be better, maybe 14:56 nrzkt the main thing i want to rework is our "session" system which is clientiface 14:56 hmmmm Switching to some library isn't going to magically solve all our problems 14:56 nrzkt no, right 14:57 hmmmm You need to have an understanding of what the problem actually is in the first place 14:57 hmmmm Additionally it does not seem like there is any way to disable in-order packet delivery with ENet... 14:58 hmmmm Sort of makes me wonder what the point is to begin with. At that point it loses a lot of advantages over TCP. 14:59 Calinou less lag... 14:59 Calinou isn't that all we want? ;) 14:59 nrzkt the lag is not very high 14:59 hmmmm How does it accomplish this 14:59 Calinou <+nrzkt> and there is no IPv6 too 14:59 hmmmm Don't tell me there's magic fairy dust 14:59 Calinou possible with breaking the API 14:59 nrzkt in my server there is 13ms of lag 14:59 Calinou (see issue on GitHub) 15:00 nrzkt i don't want to have a forked lib into our core. 15:00 nrzkt stop that, use regular and propose patchs to upstream 15:01 Calinou they'll be refused because of breaking compatibility 15:01 Calinou enet has more "customers" than just Cube 2, there's lots of proprietary software using it... even random iOS apps 15:01 nrzkt then have a better patch 15:04 hmmmm Wait, enet doesn't even allow IPv6? 15:04 hmmmm Is this a joke or something? 15:04 nrzkt not a joke 15:04 hmmmm I don't understand why it was even considered 15:05 hmmmm Besides, ENet is an application-layer protocol. Why it has a dependency upon IPv4 is completely beyond me. Sounds like a deficiency in their API design. 15:07 nrzkt yes 15:07 Calinou make our own then? 8) 15:07 Calinou just switching to mere TCP will easily add +30ms of lag on average 15:08 Calinou you can try, but it might not be easy to have low latency 15:08 hmmmm Right. I advocate actually attempting to fix what we have already first before throwing it all away. 15:08 nrzkt no problem for me 15:08 hmmmm Seems to me like the only reason why this hasn't been done yet is due to a collective ignorance 15:09 nrzkt will look at network stack cleanup then, okay 15:09 nrzkt i already looked at some copies removal 15:10 nrzkt but i don't remove all 15:11 hmmmm I'll give a hint. I think the primary reason for Minetest's poor bandwidth is the total disregard for IP MTU size. 15:12 nrzkt we talk to IP to tell him to do fragmentation ? :o 15:12 nrzkt tell it* 15:17 hmmmm Actually, nevermind that 16:47 rubenwardy https://github.com/minetest/minetest/issues/2913#issuecomment-122680204 16:47 rubenwardy ~title 16:47 ShadowBot Unexplained, random crashes (segfaults, aborts, OOM) · Issue #2913 · minetest/minetest · GitHub 16:52 rubenwardy added a few more 17:06 est31 johnnyjoy, you there? 17:07 est31 i have a likely theory why your git squashes fail 17:08 est31 johnnyjoy, whats the first line of the output of "git show upstream/master -q". 17:27 johnnyjoy I'm here now. 17:28 johnnyjoy commit 7bbb9b066a8cc079512ddd3e6b32475309f49fca 17:28 johnnyjoy Oh, of course he's gone. 18:11 TBC_x Just wrote down a draft of an Architecture that would be cluster-enabled 18:12 nrzkt before doing a cluster, having a good monolithic code is good :) 18:13 TBC_x the best thing: Theoretically it can be MT 3.x compatible 18:16 TBC_x but it also may be a nonsense as I'm very unsure of how efficent a proxy can be 18:50 TBC_x is TOCLIENT_HP and TOCLIENT_BREATH gonna stay in the new protocol? 18:52 hmmmm newer clients will have to respect those if the server version is older, yes 18:52 hmmmm let's not jump the gun too fast, i feel like there's way too much time spent on how great minetest will be after client side scripting instead of focusing on the current issues first 18:54 TBC_x I thought there will be breaking changes in network protocol 18:54 hmmmm there is absolutely no reason why that needs to be the case 18:54 hmmmm the server owners demand reverse compatibility 18:54 hmmmm we'll give them what they want 18:56 Calinou https://forum.minetest.net/viewtopic.php?f=14&t=12843 18:56 Calinou maybe this should be a sticky? 18:57 hmmmm maybe developers should have moderator privileges since they seem to be quite active and trusted/responsible 18:59 nrzkt TBC_x i agree we should do it, but it's not minetest politic, else i had already done this. 18:59 nrzkt i don't go often on forum, but i think our developpers are not kikoololz 19:00 hmmmm I would personally be more open to the possibility of breaking reverse compatibility if there was a great amount of value to gain that can only technically be achieved by doing so 19:01 nrzkt i'm awaiting for a major version for this, whereas i think the next release can be major, because we have done many good work and added good client features 19:01 nrzkt i looked at master server stats 19:02 hmmmm most clients are 0.4.10 19:02 nrzkt i think we can remove every packet handling before 0.4.7 19:02 hmmmm can doesn't mean you shoul 19:02 nrzkt yes, i see that on the that 19:02 hmmmm should* 19:02 hmmmm i mean, what is there to gain by breaking compatibility 19:02 hmmmm how does it make minetest /better/? 19:03 hmmmm you know, I can still run a DOS application from the 1980s on windows 10 19:04 nrzkt i know 19:05 Calinou we can gain cleaner code, and more consistency for players 19:05 Calinou no more "how do I do this? I'm on 0.4.10" 19:05 nrzkt i will propose a PR for cleaning up < 0.4.6 packet handling this week 19:06 hmmmm code cleanup is such a lame excuse 19:06 nrzkt and each month looking for stats 19:06 hmmmm perceived "messiness" wouldn't even be an issue if your organizational skills were good enough 19:07 TBC_x I suggest adding TOCLIENT_RESOURCE which would handle stuff like health and breath, for usage in the future 19:07 hmmmm TBC_x: Oh, you haven't heard the plans for that, have you 19:07 TBC_x well, no 19:07 hmmmm TBC_x: In the future, HP and breath will be lua-side things only 19:07 TBC_x good thing 19:28 hmmmm anyway I've looked into it 19:29 hmmmm I vote against using enet 19:29 hmmmm too many problems, there's the additional dependency, the fact that it doesn't provide any advantages over just using a combination of TCP and UDP, etc. 19:30 hmmmm if it's determined that minetest UDP cannot be fixed for whichever reason, I'd prefer just using TCP 19:49 nrzkt perfect, agree 19:50 hmmmm that doesn't mean use TCP 19:51 paramat nore, sfan5, any approval for game#581 ? i'll make the PR after approval 19:51 ShadowBot https://github.com/minetest/minetest_game/issues/581 -- New stairs and slabs discussion 19:51 hmmmm it doesn't have NAT hole punching capabilities, for example, and then there's the whole latency thing we're trying to avoid 21:05 paramat hi hmmmm another one for your consideration sometime #2935 21:05 ShadowBot https://github.com/minetest/minetest/issues/2935 -- Mgv7: Use density noise + density gradient for mountain terrain by paramat 21:27 TBC_x http://www.isoc.org/INET97/proceedings/F3/F3_1.HTM 21:30 est31 small question: is it true that the size of a mantissa of floats and doubles isnt specified at all by c/c++? 21:31 est31 no guarantee to be IEEE 754? 21:33 est31 TBC_x, any ideas? 21:33 est31 also, whats adoption of IEEE 754 21:33 est31 can we get on a processor without it, in reality 21:34 est31 it seems all intel 8088 based processors have such an fpu 21:34 est31 but what bout arm 21:34 Sokomine i get crashes where gdb reports in Mapgen::propagateSunlight(irr::core::vector3d, irr::core::vector3d) () when calling vm:calc_lighting(tmin, tmax) sometimes. am i using it wrong? 21:36 est31 seems arm has it too 21:36 est31 Sokomine, can you reproduce it? 21:36 Sokomine est31: yes 21:36 est31 whats code to reproduce it 21:37 est31 always, or just sometimes? 21:37 Sokomine http://pastebin.com/mTRbiQ5Q above part contains the code, which also contains debug messages which show up in gdb's output 21:43 TBC_x why is serverCommandFactoryTable in src/network/clientopcodes.cpp using magic numbers? 21:43 nrzkt which magic number ? 21:43 est31 ? 21:43 nrzkt there are no magic number in the packet handlers 21:43 TBC_x u16 channel 21:44 est31 well, its the channel 21:44 nrzkt this is not magic, this is in the low layer UDP channel 21:44 est31 no idea what that is, but some lower layer stuff 21:44 nrzkt est31: there is a channel for reliable and one for unreliable 21:45 nrzkt and if i remember there are others for low layers things, but i can't remember 21:46 est31 so, are there any guarantees that that IEEE standard gives the c++ developer? 21:46 paramat 'propagate sunlight', what values of tmin,tmax are you passing? 21:47 est31 e.g. is a "float" on the IEEEE supporting processors always compiled to the 32 bit type, and a "double" to the 64 bit type? 21:47 est31 or do the compilers throw their own taste in, here, too 21:48 TBC_x well... I don't know what the numbers mean and there is no comment on what they mean so I call them magic numbers 21:48 Sokomine paramat: from vm, emin, emax = minetest.get_mapgen_object("voxelmanip") emin and emax are used as tmin,tmax 21:48 est31 "ah dammit we want to have backwards compat with IBM software, lets do some custom thing" 21:48 est31 thats wh windows has \ instead of / 21:48 est31 whyÜ 21:49 est31 why** 21:50 Sokomine paramat: http://pastebin.com/EjZ4Vp9k has added debug output of tmin/tmax (and what i got from get mapgen object) 21:50 Sokomine it is a fresh world. if i join it again without deleting the map, the bug does not occour again. only at the first time the world's generated 21:51 * Sokomine stares in annoyance at that est31 used 21:51 TBC_x everyone knows that \ is an escape 21:52 paramat it might be best to pass the minp, maxp of the mapchunk. emin, emax are the extent of the mapchunk plus shell 21:52 paramat i'm not sure though 21:53 paramat i use 'vm:calc_lighting()' in my lua mapgens 21:53 paramat empty brackets may be best 21:54 Sokomine if there's a better way or sequence of writing the data back now, i'd welcome any tips as to how to use voxelmanip better. still, a crash is strange 21:54 paramat did this start recently? 21:54 Sokomine part of the shell may be undefined. perhaps that's why? 21:55 Sokomine hard to tell. mysterious crashes upon test world generation have happened for some time. i decided now to run it with gdb to take a look 21:56 paramat yes you need to use it with empty brackets 21:56 Sokomine ah! 21:56 paramat it then auto-selects a smaller region within the 7x7x7 volume 21:57 paramat (7x7x7 mapblock) 21:58 Sokomine at least it seems to help 22:01 paramat with empty brackets, the lua api auto selects a smaller volume by looking at the extent of the full voxelmanip volume. so empty brackets is usually best 22:02 Sokomine ah yes, now i remember why i included the shell. without it, there are a lot of shadows 22:02 paramat =/ 22:03 Sokomine maybe i could call it a very rainy day...looks like it with the shadows :-) 22:07 paramat the shadows will need a different solution, perhaps they're due to your complex use of the shell. also, rapid multiple use of the non-mapgen-voxelmanip can cause shadow bugs 22:10 Sokomine the non-mapgen-voxelmanip plays no role in this. only plenty of changes to the shell i'd say 22:29 paramat is cavegen griefing the only reason for this clever use of the shell? i recommend using only mod nodes in the schematics instead, with 'is ground content = false' 22:42 Sokomine can't do that. houses may use stone and other normal materials for their walls. creating duplicate nodes would be annoying. and it won't help against mudflow either i guess 22:42 Sokomine but yes, cavegen griefing is the major reason why i need to write to the shell 22:58 TBC_x interesting article about networking http://gafferongames.com/networking-for-game-programmers/ 23:36 Tesseract Do my multi-socket, threading, and logging PRs look good to merge now? I don't think there are any significant issues with them anymore, and I've rebased them. 23:37 Tesseract Eh, as soon as I fix whatever I broke with the threading pull. 23:46 est31 I think now is a good moment for merging them, we have time to sort out bugs