Time Nick Message 00:00 PilzAdam hmmmm, works 00:03 hmmmm good to push to upstream? 00:03 hmmmm did you push minetest_game yet? 00:03 PilzAdam yep 00:03 PilzAdam done 00:04 hmmmm great 00:04 hmmmm now we have a new way to kill peoples' framerates - no tesselation needed 00:24 hmmmm hah.. noticed something funny, only like half of the leafs decay when you cut down a jungle tree 00:26 PilzAdam hm? 00:27 PilzAdam oh, the stl bug... 01:06 Exio wow, now i can (here) barely "walk to a ungenerated" chunk with the last git + luajit 01:07 Exio before i had to wait some seconds for the mapgen 01:24 proller HUGE caves in new mapgen - https://github.com/minetest/minetest/pull/549 01:25 hmmmm woah 01:25 hmmmm erm anyway, i'd like to merge the indev stuff, care to squash that? same with the OGLES2 build 01:26 proller ok, 3 mins.. 01:27 ShadowNinja hmmmm: how about merging this https://github.com/minetest/minetest/pull/453 01:27 hmmmm that 01:28 ShadowNinja I thought that maybe it should use tables due to the number of arguments 01:28 ShadowNinja but otherwise... 01:28 hmmmm i'd need to manually merge it 01:29 ShadowNinja well please do, I think this will allow for doing a lot of cool things 01:30 proller hmmmm, https://github.com/minetest/minetest/pull/549/files - ready 01:31 hmmmm okay i have a lot of stuff to do now... hrmm 01:31 hmmmm shadowninja, you also had another thing you wanted to merge? 01:31 hmmmm it was a bugfix or something if i recall 01:31 ShadowNinja yes, allowing minetest.after to take a variable number of arguments I think you mean 01:32 hmmmm yeah that 01:32 hmmmm i don't think that'll cause any compatibilitys with current lua code, right? 01:32 hmmmm i'll do that one first since it's the easiest 01:33 ShadowNinja yes, I am pretty sure it is backwards compatible 01:33 hmmmm 'pretty sure' ? 01:33 ShadowNinja I would have to test to be sure 01:33 hmmmm probably a good idea to test 01:34 ShadowNinja I am about 95% sure 01:34 proller hmmmm, https://github.com/minetest/minetest/pull/526 - ready too 01:35 VanessaE hmmmm: can you also push the luajit stuff to master? I think it's pretty safe to assume it works properly. 01:35 hmmmm yes 01:35 VanessaE (there's no pull request that I am aware of, though) 01:35 hmmmm alright the protocol version bump.... will that cause incompatibilities? 01:36 hmmmm it shouldn't since you're only adding new packets, but 01:37 Exio as far as i know the actual client will ignore the packets, but not sure 01:40 ShadowNinja hmmmm: tested and it works with a luacontroller that uses the old minetest.after 01:42 ShadowNinja Also, looking through the list I would like ipv6 support and the attachment bug fix 01:43 proller ++ipv6 01:44 hmmmm oh god ipv6 support 01:44 hmmmm i won't be able to test that, i have ipv6 support disabled on my OS 01:46 hmmmm ahh proller i like what you're doing with the caves 01:46 hmmmm i was going to start on something like that 01:47 hmmmm need to find a good way to split that function up first 01:47 ShadowNinja I don't know what I would do to test it other than try connecting to ::1, assuming my OS has it enabled 01:48 proller next steps - to make huge caves thinner, and maybe caves like crack 01:49 hmmmm proller, scaleindev, right? not mapgenindev 01:50 ShadowNinja it has a few conflicts 01:50 hmmmm hm 01:50 proller yes, scaleindev 01:51 proller mapgenindev was first mapgen dummy with all from v6 01:51 hmmmm right away i see a cave that would've had water on the bottom that doesn't 01:53 proller not understood, cave without water? 01:53 hmmmm can't really point out what, but the cave systems are different too 01:53 hmmmm they remind me more of 0.3.x caves 01:53 hmmmm yeah, a large cave on the surface that's not filled with water_source up to water_level 01:53 proller cave.flooded = large_cave && ps.range(0,4); 01:54 proller every 5 cave is dry 01:54 hmmmm yeah i definitely feel like these caves are an improvement 01:55 hmmmm now let me see the far thing 01:55 proller teleport 30000,0,30000 01:55 proller mountains higher 01:55 proller and more huge caves 01:58 hmmmm ahhh need to disable clouds 01:58 Exio what about making them start in 3000 or 4000? 01:59 VanessaE clouds at +1000 seems fair to me 01:59 Exio i was talking about the high mountains 01:59 ShadowNinja wow, even I was able to solve the merge conflicts in ipv6 01:59 VanessaE hah, misread again :) 02:00 proller Exio, they grow gradually 02:00 Exio oh, nice 02:00 proller at center - current scale 02:01 hmmmm well i must say, that does look very neat 02:01 proller at +-30000,0,0 - x3, +-30000,0,+-30000 02:01 proller - x6 02:01 hmmmm but all it really does is effectively cancels out terrain_higher and makes terrain_base's scale huge 02:02 hmmmm can't i get a similar result by playing with mgv6_np_terrain_base in the config? 02:02 proller increase scale 02:03 proller #mgv6_np_terrain_base = -4, 120, ... 02:04 proller #mgv6_np_terrain_higher = 20, 96,... 02:05 proller but you get high mountains at center too 02:06 hmmmm so basically, you just specific regions to have these high mountains 02:06 proller yes 02:07 hmmmm sounds like the extreme mountain biome, no? 02:07 hmmmm each biome has its own noiseparams so it can change scale, complexity, etc. 02:07 hmmmm this is part of mapgen v7 though 02:08 proller maybe like this 02:08 proller my idea in forcing the player to explore world 02:09 ShadowNinja well connecting to ::1 does not work, maybe my os does not have ipv6 support enabled 02:09 proller ping ::1 02:09 proller ping6 ::1 02:09 ShadowNinja that works 02:11 Exio between 1 to 100 how "progressed" is the mapgen v7? -50? 02:11 hmmmm -50? haha... more like 50 02:11 hmmmm i have most of the 'stuff' there, i need to make it work better however 02:12 Exio ah 02:12 ShadowNinja 0000:....:0001 doesn't work either 02:14 ShadowNinja ah, I think I got it 02:17 ShadowNinja well ipv6 works 02:21 proller huge caves needs dragons 8) 02:21 proller they like new biomes 02:22 VanessaE G*d no 02:28 proller hmmmm, ups, src/noise.cpp : 527 forgot debug comment 02:28 hmmmm yeah i am fixing that along with a bunch of other stuff 02:28 hmmmm minor things 02:31 proller thank you 02:32 hmmmm PilzAdam, you have it backwards... water_flowing/water_source + lava_source = obsidian, it's lava_flowing + water_source = stone 02:45 hmmmm also your fix new_style_water... what's up with that? i just tried it right now and i am actually seeing the old style water 02:45 hmmmm that is, the water is perfectly level with other blocks instead of offset a little 03:07 Exio ehh, i just tried /clearobjects in my testworld, (150~200) mb 03:08 Exio minetest is now using 4 gb of ram 03:08 VanessaE you'll need about 7 GB of RAM to handle a ~300 MB map. 03:09 Exio how is the relation, the chunks/mapblocks in map ^300? :P 03:09 VanessaE heh 03:10 Exio and what about the time (and what cpu do you have in that server?) 03:11 VanessaE in my case I think it took about 20 minutes to run that command last time I did it. (Phenom II X6 1055T 2.8 GHz with 12GB RAM) 03:12 Exio hm.. no, i'm in the new test world (the other was in my laptop before) this is only 115M 03:12 Exio 00:03:07: ACTION[ServerThread]: singleplayer clears all objects 00:11:23: ACTION[ServerThread]: object clearing done 03:12 VanessaE well for me it was done in an active multiplayer map 03:13 Exio i don't play in servers because my network 03:14 Exio now minetest didn't free-ed the memory used for /clearobjects 03:14 VanessaE I know. 03:14 VanessaE you'll have to restart the game 03:14 VanessaE does it on linux also 03:14 Exio i'm in linux 03:14 VanessaE oh ok 03:15 VanessaE well then ignore that last statement :D 03:15 Exio hehe 03:24 Exio any way to "speed up" the flowing of water? 03:27 VanessaE dunno 03:28 Exio hm 03:28 Exio ok 03:34 hmmmm exio, liquid_update 03:35 Exio thanks :P 03:36 hmmmm clearing all objects on the map is understandably intensive 03:36 hmmmm probably something best done offline, no? 03:36 VanessaE hmmmm: but 7GB for a 300MB map? that isn't intensive. that's insane. 03:36 hmmmm i believe there is some sort of setting to limit the number of loaded blocks 03:37 hmmmm client/server_unload_unused_data_timeout... ehk. alright, we need some sort of setting for that i guess 03:37 Exio wow! 03:38 Exio liquid_update=0.05 03:38 Exio place lava in a "hill" 03:38 hmmmm laggy as crap? 03:38 Exio wait 2 seconds and you will have a lava lake 03:38 Exio nope 03:38 Exio i only get 170 fps now, 190~ before, nothing much really 03:38 hmmmm wahh 03:38 hmmmm that is insane 03:39 Exio wut, what is insane? 03:39 hmmmm what kind of card do you have 03:39 Exio gpu? a cheap and rebranded nvidia gt 610 03:39 Exio (+ fx x6 6100 as cpu) 03:39 VanessaE my HD6870 can't even manage a consistent 60 fps with default textures 03:40 Exio i'm using default textures, i don't want to make the loading time "longer" 03:42 Exio what happened hmmmm? :P 03:43 hmmmm Xorg screwed up again 03:43 hmmmm i really need to fix that sometime 03:43 VanessaE it's X. you can't fix it. :-) 03:44 Exio haha, now i got a lagspike, when placing a water source near the hill, other hill of cobble now 03:44 Exio VanessaE: mir! 03:44 VanessaE Exio:wayland! 03:44 hmmmm i have to do it myself too, since Xinerama (i don't actually use xinerama, it's just fake xinerama) is depreciated with no replacement might i add 03:44 VanessaE ;) 03:44 VanessaE actually I don't know which would be the best when put head-to-head 03:44 hmmmm the state of multi-monitor configurations under Xorg: shit 03:45 VanessaE hmmmm: amdcccle makes it pretty painless 03:45 hmmmm this is depressing 03:45 VanessaE at least for ati card.s 03:45 VanessaE cards* 03:45 hmmmm yeah but you don't have an ati and an nvidia card mixed 03:45 hmmmm i do 03:45 VanessaE ouch 03:45 VanessaE talk about dogs and cats lying together. you trying to cause the universe to implode?? 03:45 hmmmm my primary card is an 8400gs which is my only PCIe card 03:45 hmmmm this motherboard only has PCIe and PCI 03:46 hmmmm soo for another card it'd have to be PCI 03:46 VanessaE no dual-head capability on the 8400 eh 03:46 VanessaE bummer 03:46 hmmmm the only PCI card i had was a Rage XL 4mb 03:46 hmmmm no i have dual head, just not triple head 03:46 VanessaE ah 03:46 Exio better than an trident with 1mb (dedicated!!!!!!) and rca output :P 03:46 VanessaE I think this card can go up to four heads, but two is all the space I haave on my desk :) 03:46 hmmmm i can't use the integrated graphics either because i have a xeon 03:47 VanessaE Exio: watch your language! 03:47 Exio hahaha 03:47 VanessaE you said the 't' word 03:47 Exio hmmmm: what xeon? 03:47 hmmmm my only other option was an S3 Virge 2mb 03:47 hmmmm E3-1230v2 03:48 hmmmm i have IRC on the Rage, which is clearly not graphics intensive, and it doesn't bother me if it's only 16 bit color 03:48 Exio ehm, wtf? 03:48 Exio a better cpu than mine... with those GPUs? 03:49 hmmmm yeah i have a real big disparity between gpu and cpu power 03:49 hmmmm 2012 top-end CPU with a crap GPU from 1998 03:50 hmmmm it's because there's no way i can rationalize a video card purchase, it's totally frivilous 03:50 Exio where do you live? 03:50 hmmmm PA 03:50 Exio where is PA? 03:50 hmmmm ahh you're not from the US are you 03:50 hmmmm i'm from the US 03:50 VanessaE hmmmm: that's the whole point of buying a big GPU - for frivolous shit like games ;-) 03:50 VanessaE (well and to mine bitcoins I guess) 03:51 Exio i'm from argentina :P 03:51 Exio lol VanessaE 03:51 hmmmm yeah, wow 03:51 Exio i don't see, unless you are going to be a heavy gamer, a very powerful GPU 03:51 hmmmm why is it that all non-native english speakers here speak perfect english 03:51 Exio what? perfect? 03:51 Exio who? 03:51 hmmmm you can never tell who's from the US or not without looking at the hostmask 03:52 hmmmm well you for instance 03:52 Exio my english is very sucky really 03:52 Exio mid-low :P 03:52 VanessaE hmmmm: actually it isn't just here.. back in the other channels I used to hang out on, the same was true. most of the clientèle was from somewhere east of the Atlantic, and yet English seemed to come pretty easily. 03:53 hmmmm i know, weird 03:53 VanessaE I guess ESL is more common than one tends to expect. 03:53 hmmmm maybe it's just confirmation bias because people won't come on english-speaking irc networks unless they know english well 03:54 Exio my rebranded gt (old gpu! with ddr3!!) can handle minecraft with most of stuff enabled, redeclipse with everything enabled, 70~80 FPS, and xonotic with middle settings to 55~70 FPS 03:54 hmmmm with this card I was able to get 120 FPS on minecraft classic 03:54 hmmmm I played it in the browser for a little bit 03:55 Exio i never tried to do that 03:55 Exio i always played the "normal minecraft" 03:56 VanessaE I wonder how this machine would handle MC. 03:57 Exio my netbook can handle up to 7 FPS in singleplayer (mc) and 30 FPS (flat world in multiplayer, with 8 px texture pack, + a special "tune up" of variables and forcing it to be stuck in the higher frecuencies 03:58 Exio with a X11+openbox in a gentoo optimized with -march=native and an optimized kernel 03:58 Exio you can think without that 03:59 Exio 1.2.5 and before were playable in the laptop, now i can hopefully start it 04:03 hmmmm dunno, try it :p 04:03 hmmmm it'll probably be fine, probably gpu bound like most things 04:03 hmmmm why does everybody seem to not grasp the concept of making lines less than 80 characters! 04:04 VanessaE hmmmm: because the concept of an 80 char terminal is obsolete? 04:04 VanessaE :) 04:04 hmmmm for neatness 04:05 VanessaE 124 columns here at my default terminal font size 04:05 VanessaE (not that I ever edit anything that wide in a terminal :) ) 04:06 Exio $ tput cols 04:06 Exio 318 04:07 VanessaE jeez, do you need a microscope to read it? 04:07 Exio nah 04:07 hmmmm or maybe he has a maximized terminal on a 1920x1080 monitor? 04:07 Exio 1920x1080, 21.5", default fontsize 04:07 VanessaE good thing I have new glasses on the way 04:07 Exio yep 04:08 VanessaE 1280x1024 here, but with 13-point Liberation Mono 04:08 Exio well, this is the first computer i has what is "decent", my main computer was a laptop for 3 years and before it an amd duron 04:11 Exio s/laptop/netbook/ 04:39 mrtux_ join #minetest-m13 04:39 mrtux_ eh 05:10 Exio night :) 07:58 RealBadAngel i have tried for several hours to merge luajit sources into minetest tree 07:58 RealBadAngel but i have completely no experience with that, so i give up 07:59 RealBadAngel official one comes with make files only, another one with cmake files produced everything but no .a file 08:00 RealBadAngel can someone get it done? 08:06 celeron55 why are the jungle tree leaves so terribly dark 08:07 celeron55 they're like completely black 08:07 celeron55 i don't think anyone would think these'd be good 08:08 celeron55 also, where is the lovely plentiness of jungle grass in jungles? 08:08 celeron55 it's absolutely necessary! 08:19 celeron55 ... 08:19 celeron55 it's interesting to see that it is becoming evening 08:19 celeron55 and then realize that there is sunlight in a cave that has a solid stone ceiling 08:20 celeron55 the lighting that doesn't care about updating the lower chunk's sunlight based on a newly generated upper chunk's sunlight really breaks visibly with these high mountains 08:21 celeron55 hmmmm: that's your job probably 8) 08:22 celeron55 to implement that missing mechanism 09:19 celeron55 i think the junglewood shouldn't be made dark 09:19 celeron55 (like in the thread) 09:19 celeron55 (by PilzAdam) 09:20 celeron55 variation is good, and jungles are supposed to look as different as plausible in any way 09:20 PilzAdam junglewood is dark in RL AFAIK 09:20 celeron55 who cares? 09:21 celeron55 i think we should limit the maximum weight the player can carry to 30kg 09:22 celeron55 the inspiration to my original textures on which the style of the current ones are based on was something like this: http://fc02.deviantart.net/fs51/f/2009/262/9/4/Jungle_Trees_2_by_DrachenVarg_stock.jpg 09:23 celeron55 not that exact image; the exact image was actually even closer to what the textures look 09:23 celeron55 but anyway 09:47 RealBadAngel im coding now set_yaw and set_pitch for player, question is shall is use this to send the data: https://github.com/minetest/minetest/blob/master/src/server.cpp#L3494 09:47 RealBadAngel which updates pos too 11:23 troller sometimes when generating huge cave - Floating point exception: 8 (core dumped) 11:24 troller #0 0x00000000004b89cf in MapgenV6::generateCaves () 11:26 troller i see only for(float f=0; f<1.0; f+=1.0/vec.getLength()) if its /0 11:37 RealBadAngel https://github.com/minetest/minetest/pull/550 11:37 RealBadAngel ive added set yaw and pitch for players 11:48 celeron55 troller: "floating point exception" on x86 pratically always means division by zero 11:48 celeron55 be it int or float, that's what it will output 11:50 troller how to fix better? like f+=1.0/(vec.getLength()||1) ? or 0.1 ? 11:59 PilzAdam troller, the biomes should get larger too if you move away from the center of the map 12:00 troller PilzAdam, ok, will try 12:01 troller like x5 larger on 30000 ? 12:01 PilzAdam make it proportional to the mountain height 12:08 PilzAdam anything else missing? https://github.com/PilzAdam/minetest/commit/5a9fd8f433e9d2a71266dd6b76174e84a5ebaa8f 12:12 Jordach PilzAdam, checking 12:13 Jordach it's good 13:53 sapier http://ompldr.org/vaHNkcw/performance_comparison_pathfinding.pdf updated performance comparison using A* algorithm with and without prefetching cost data 13:54 sapier whats your opinion should pathfinding load map blocks to find a path or not? 14:51 ShadowNinja sapier: could it be made an option? 14:56 sapier yes of course, but there are already lots of parameters to supply I wonder if it isn't already to complex 14:59 ShadowNinja You can use tables, that way you can have default values 15:00 sapier good idea but complexity remains (already same) 15:00 sapier (almost same) 15:01 ShadowNinja when would it need to load blocks? 15:01 sapier and of course loading map blocks is a very heavy operation once this is done performance will degrade drasticaly ... and of cause in case of parameter errors it'll trigger generation of large map areas 15:02 sapier e.g. if someone wants to find a path between two points with unloaded blocks in between 15:02 sapier but this most likely is a very rare scenario 15:03 ShadowNinja yes, just what I was thinking 15:03 sapier more likely someone wants a mob to return to its origin while the origin was unloaded 15:04 ShadowNinja or a mob trap that summons mobs 15:05 sapier why should this happen in unloaded areas? 15:06 ShadowNinja anyways it probably shouldn't 15:06 ShadowNinja unless you feel like making it an option 15:06 sapier problem is there are legit cases for this to happen but I can't decide from those where a unloaded position is an accident (e.g. miscalulation of position) and where it's ok 15:07 sapier and if such a muscaclulation happens in worst case a complete map is generate 15:07 sapier d 15:08 sapier I think this is too risky 15:10 sapier for the time being I won't make this an option, if someone has very good reasons being woth the risk I may reconsider this decision 15:56 ShadowNinja hmmmm: https://github.com/minetest/minetest/pull/551 15:56 hmmmm ouch 15:56 hmmmm is it really necessary to read the fps from the settings every loop 15:57 hmmmm once i get the atomic hashtable in minetest then we wouldn't even have to consider that 15:57 ShadowNinja no, but that is what the main game loop does, should I also fix that? 15:58 hmmmm well no, i'll fix that 15:58 PilzAdam the main gameloop does that to support the /set command 15:58 PilzAdam (I guess) 15:58 hmmmm i love how everybody's so nonchalant about doing heavy locks inside of tight loops and their justification is "there are a lot of other things that do it even more" 15:58 hmmmm you're right, i should go and murder three random people but that's okay because there are warlords in africa that kill thousands 15:59 * hmmmm looks at celeron 15:59 ShadowNinja so are you going to amend it or should I fix it 15:59 hmmmm i'll amend it 16:02 hmmmm dunno, maybe i'm just sensitive about this because i spend most of my time taking stuff that's crap and making it faster, that if it were done right the first time, would not be needed 16:04 PilzAdam hmmmm, this is also important since you merged my new_style_water fix: 16:04 PilzAdam https://github.com/minetest/minetest/issues/477 16:05 PilzAdam now you cant see the water if you are in it 16:05 hmmmm erm 16:05 hmmmm "commit has since been removed"? 16:05 PilzAdam dunno what that is 16:06 PilzAdam (its an issue, not a pull request) 16:09 sapier https://github.com/minetest/minetest/pull/548 Pathfinding is completed (as of now) plz review to find bugs 16:10 sapier celeron I thought about your suggestion of starting search from different directions but I don't see any benefit in it. Maybe I missed the point yesterday. 16:11 hmmmm by the way, shadowninja, those other setting gets are indeed in a loop, but not in the render loop which is run each frame continuously 16:11 hmmmm so it's not really that bad 16:11 hmmmm main.cpp, along with game.cpp, needs cleanup sometime but we'll probably never get around to it 16:11 hmmmm if things were done the right way the first time we wouldn't have to do this 16:12 hmmmm if i'm repeating myself, then what i'm saying is probably important 16:15 sapier :-) we all know that hmmmm ... ok at least lots of us ... cleanup will take lot of time and won't be done tomorrow ... at some points there even are required some basic decisions first 16:15 sapier e.g. Lua stack in environment AND server 16:16 hmmmm again, that is huge.... 16:16 hmmmm Lua should be part of a gamedef 16:16 hmmmm but it is, it's part of the server 16:16 hmmmm which makes it not part of the client gamedef 16:16 hmmmm meh i dunno 16:17 sapier imho scriptapi is a shared component therefore it shouldn't be linked to server or environment that close 16:17 sapier everyone issues "commands" to lua but noone really owns it 16:18 hmmmm you wanted to make it into its own entity completely separate from server though, and get instances of it through a singleton 16:18 hmmmm that is so messy 16:18 hmmmm i like it best as part of server 16:18 sapier the singleton is because of lack of working component handling within minetest 16:19 sapier I'd prefere server containing a list of components too 16:21 sapier each component to provide a defined interface, all components may get a interface pointer from server and call functions by using it 16:21 sapier but we don't have anythin equivalent to this 16:24 sapier the way it is done atm is crap server creates it an main user is environment which uses it by a lua stack pointer .... only way to protect it is aquireing big lock 16:26 sapier celeron are you here? do you remember how lua stack usage was meant to be in original design? 16:35 hmmmm well what's the alternative? you'd still need the big locks if you want to do anything environment-related or whatever 16:35 sapier but not everything is environment relatee 16:35 sapier e.g. jeijas download feature 16:36 sapier pathfinding has a 2-phase mode too wich could free envlock whil doing most critical parts 16:37 hmmmm ah yeah i see what you mean 16:37 sapier if lua stack had it's own lock async tasks could be implemented 16:38 hmmmm now see, this is what celeron and i were discussing a while back, maybe there should be another lua interpeter for background tasks 16:39 sapier I don't think you need a complete interpreter but of course this would be more easy too 16:39 hmmmm also, kind of wondering if we should have lua api for explicitly locking and unlocking env/con, let's face it, lua mods can already do enough damage if they screw something up, so it's not too much power 16:39 RealBadAngel hi all 16:39 hmmmm yeah, you'd be able to get past the GIL problem 16:40 sapier but to do this scriptapi needs to be isolated 16:40 sapier and of course envlock conlock needs to be accessible by scriptapi 16:40 RealBadAngel anybody was trying to get merge luajit? 16:40 hmmmm i couldn't find the pull request 16:40 VanessaE there isn't one yet 16:41 hmmmm it would be really helpful to have one 16:41 sapier luajit is missing cmake build system and there wasn't one capable to write one from scratch 16:41 RealBadAngel im askin if anybody will get it done, i have no experience at all with cmake 16:41 VanessaE sapier: RBA's trying to do that 16:41 RealBadAngel there is one with cmake 16:41 VanessaE was. 16:41 hmmmm yeah luajit needs to be treated as a system library, we shouldn't try building it on our own 16:41 VanessaE hmmmm: agreed 16:41 RealBadAngel yes 16:42 hmmmm that's what their website says too 16:42 RealBadAngel It's strongly suggested to build LuaJIT separately using the supplied build system. Please do not attempt to integrate the individual source files into your build tree. You'll most likely get the internal build dependencies wrong or mess up the compiler flags. Treat LuaJIT like any other external library and link your application with either the dynamic or static library, depending on your needs. 16:43 sapier hmm is there any example where minetest does something similar? 16:43 RealBadAngel https://github.com/LuaDist/luajit 16:43 RealBadAngel this one comes with cmake build 16:44 sapier so isn't this a drop in replacementß 16:45 RealBadAngel i tried to comment out building binaries, got header files in proper place, but couldnt get static lib compiled 16:46 sapier I see 16:54 hmmmm it's a drop-in replacement in terms of api compatibility 16:54 hmmmm you don't have to change any actual code to use it 16:57 sapier I know ;-) I've already done excessive performance testing with it for pathfinding algorithms ... i thought it'd be drop in for build system too if both are cmake ... bit obviously this isn't true 17:00 thexyz ok, so 17:00 VanessaE build-system-wise no it isn't quite a drop-in, but you can link against the compiled .a and it'll work 17:00 thexyz i bisected that worldedit issue 17:02 thexyz this is the first bad commit https://github.com/xyzz/minetest-ru/commit/052512ea9fd2c5c07a9d4e881e9dfcab4a3f8a49 17:02 Exio what WE issue? 17:02 thexyz Exio: the one caused by my STL patch 17:02 thexyz not really WE issue 17:02 Exio ah 17:04 thexyz oh wow 17:05 sapier wow? 17:07 thexyz found the issue 17:07 thexyz i thought event.modified_blocks.insert(i.getNode()->getKey(), false); means event.modified_blocks.erase(i->first); 17:07 thexyz but actually it's the same as event.modified_blocks.insert(i.getNode()->getKey(), true); 17:08 thexyz will pull request in a moment 17:09 sapier so no matter if true or false as second parameter its same? 17:10 thexyz seems so 17:11 sapier strange 17:11 thexyz hmmmm: https://github.com/minetest/minetest/pull/552 17:14 hmmmm ahhhhh 17:14 hmmmm great job xyz 17:15 hmmmm so i was completely wrong about it being in server.cpp 17:15 hmmmm looking in the wrong place 17:15 thexyz any other known errors related to STL migration? 17:15 hmmmm no others 17:15 sapier not now ;-) 17:15 hmmmm why don't you commit that? 17:16 thexyz well, I wanted someone to check it 17:17 thexyz I might've fucked something other while fixing this one 17:18 thexyz ok, I'll push it then 17:19 hmmmm great 17:19 hmmmm i wouldn't be able to test it anyway you know 18:13 PilzAdam hmmmm, I found something for the backface_culling problem with water: https://github.com/doserj/minetest/commit/75fe6d3e0c7d81405b833a476ca196e2c24eb8ab 18:14 PilzAdam but c55 told us to be very careful with stuff like this 18:26 hmmmm alright 18:26 hmmmm one thing 18:26 hmmmm if we're bumping the protocol version, i'd also like to include jeija's particlespawner 18:26 VanessaE +1 18:26 PilzAdam yea, sounds good 18:27 hmmmm he's gonna need to update that so it works with the latest version 18:27 sapier increasing max entity number too? :-) 18:27 hmmmm so the portion of time in between this backface_culling commit and the particlespawner commit will be a protocol version 16.5 18:28 RealBadAngel cool, rain will be possible :) 18:29 sapier are particles still entities? 18:29 PilzAdam no, not really 18:29 sapier ok goof 18:29 sapier good 18:29 VanessaE hmmmm: is a bump in protocol version going to end up breaking backward compat again? 18:34 thexyz no 18:48 VanessaE oh good 18:50 troller do want rain, snow, -> 1level water in core! 18:54 troller and weather must depends from temp+humidity dynamic! maps 18:54 troller and cloud amount 18:55 troller and cloud type 18:56 sapier and it'll have huricanes on warm water while blizzards if there aren't mountains stopping cold air from running to warm areas ;-) 18:58 troller and server must have 128 cores to calculate it 8) 18:58 sapier you forgot some factors maybe 10exp10000 18:58 troller moving t+h maps is easy 18:59 sapier thats's why weather simulation is only (almost) valid for about 3 days ;-) 19:05 troller i think perlinmap3d with moving by y = time with const speed, and random smooth x,z shift with speed shifts for cloud moving 19:05 troller and in can used for biome init 21:27 celeron55 hmmmm: do you understand you are using way more time to remake an existing thing than i most of the time had when i whipped up all this crap? 21:28 celeron55 if something is crap, it is because i wanted to make it in addition to a million other things in a limited time 21:29 celeron55 without even knowing what i actually even wanted to make 21:29 celeron55 it's prototype grade stuff for many parts 21:30 sapier1 celeron55 is this true for scriptapi integration too? 21:30 celeron55 what is "scriptapi integration" 21:30 sapier1 I'm taking about the way scriptapi is integrated to game 21:31 sapier1 e.g. the lua stack is create from server but a pointer is copied to environment and both, server and environment (concurrently) use it 21:32 celeron55 they don't concurrently use it 21:32 sapier1 yes atm they don't because of those big locks locking almost everything ;-) 21:33 celeron55 it was a design decision to facilitate getting stuff actually done instead of wiggling around with technical details that might be still completely rewritten 21:34 sapier1 so there is no deeper purpose for the way it is atm .. I already thought so 21:34 celeron55 without all the crappy code, there wouldn't be any code at all and minetest wouldn't even exist; polish is 90% of work 21:35 sapier1 yes of course better a working solution beeing creepy than none at all 21:37 sapier1 in some places within minetest there's singleton handling is this code to be removed or best practice for minetest? 21:37 celeron55 can i ask you to write so that i would immediately understand? 21:38 sapier1 I'll try 21:38 celeron55 "there's singleton handling" ...like ...what? 21:38 celeron55 i have no idea what you are talking about once again 21:38 sapier1 wait I'm looking for an example 21:42 celeron55 as far as i know, there are some singleton-like stuff only somewhere close to the main() function; those don't really matter 21:43 sapier1 e.g. SAO and CAO's use Singleton mechanism to register within factory. ... not best example, maybe it's better to see where I used it https://github.com/minetest/minetest/pull/535 21:44 sapier1 due to lack of component handling I used a singleton mechanism to isolate scriptapi/lua stack from server and environment 21:44 sapier1 imho both don't need any information about how scripting is done 21:44 sapier1 longterm solution would be replacing singleton by a server side component registry 21:45 sapier1 I hope i managed to explain it better 21:45 celeron55 the server and environment classes should be fully able to run as multiple instances 21:45 celeron55 if you're storing the lua state in a global variable, that's simply wrong 21:46 sapier1 hmm I didn't think about this usecase ... is there any situation where this happens? 21:47 celeron55 not currently, but it's good practice 21:48 sapier1 Yes I know it's meant as workaround for missing component registry but switching everything at once to this way is a very big task ... and nothing to do without conses between main developers 21:48 celeron55 it 1) makes it much easier to follow where things are stored as they never come from any magic global hideyholes, 2) not doing it makes it impossible to do unit tests on things 21:49 sapier1 you don't have to persuade me ;-) I'm with you in general 22:21 VanessaE can someone explain this error, while trying to link latest git against luajit? 22:21 VanessaE 18:21:12: ERROR[main]: ERROR: An unhandled exception occurred: ServerError: LuaError: error: /usr/local/share/minetest/builtin/misc.lua:17: bad argument #1 to 'unpack' (table expected, got nil) 22:21 VanessaE where is that function defined? 22:23 sapier1 hmm i know of a bug in serialize but not within misc 22:24 PilzAdam https://github.com/minetest/minetest/commit/fc5d2074b99d22022d2bf8e693351274bc3f6d09 22:24 VanessaE obviously that didn't work out so well 22:24 sapier1 variable but nt nil 22:25 sapier1 :-) 22:30 jin_xi unpack? isn't that a standard lua function? 22:30 VanessaE dunno, I've never used it 22:30 sapier1 don't know but at least it doesn't accept nil as parameter 22:30 VanessaE I guess luajit is slightly more strict about what arguments are used with it 22:30 VanessaE so a quick check against nil seems to be in order 22:34 VanessaE I expect if luajit catches it, regular interpereted lua would have as well, just later on 22:52 hmmmm quality over quantity anyday! 22:53 sapier1 what do you mean hmmmm? 22:53 hmmmm my response to what celeron was saying earlier 22:56 hmmmm as for the minetest.after thing, well... unpack is a standard lua function 22:56 hmmmm (see http://www.lua.org/pil/5.1.html) 22:58 hmmmm so i guess we'll need to pass nil if we get a nil table 22:59 hmmmm timer.func(timer.args == nil ? {} : unpack(timer.args)) or however you do that with Lua syntax 23:00 sapier1 hmmmm I thought about the scriptapi thing, atm I see only two possible options ... 1) leave it as is with all consequences for multithreading, 23:00 sapier1 2) create a single scriptapi object implementing core <-> scriptapi interface 23:01 hmmmm i would rather 2, but you'd have to be the person to do it 23:01 hmmmm just be sure that it's part of Server, not some global floating around on its own 23:02 sapier1 no proble I'd cleanup the mess with different codestyles within scritpapi too but it'd be a mayor change in design 23:02 sapier1 the global thing was only a temporary solution but I doubt adding a dynamic component interface can be done this fast 23:03 hmmmm what currently exists now was because it was done fast 23:03 sapier1 but I've got ideas how to go without the global variable 23:03 hmmmm now it's time to add the polish 23:03 sapier1 and be compatible to any future component interface (at least as far as you can be without knowing how this future thing will be ;)