Minetest logo

IRC log for #minetest-dev, 2013-03-17

| Channels | #minetest-dev index | Today | | Google Search | Plaintext

All times shown according to UTC.

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:15 Kray joined #minetest-dev
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:09 Taoki joined #minetest-dev
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 hmmmm joined #minetest-dev
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_ joined #minetest-dev
04:39 mrtux_ join #minetest-m13
04:39 mrtux_ eh
04:46 mrtux joined #minetest-dev
05:10 Exio night :)
07:33 Calinou joined #minetest-dev
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
08:22 troller joined #minetest-dev
09:01 PilzAdam joined #minetest-dev
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:21 darkrose joined #minetest-dev
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:30 Kray joined #minetest-dev
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:05 serengeor joined #minetest-dev
11:12 iqualfragile joined #minetest-dev
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:33 Calinou joined #minetest-dev
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:02 iqualfragile1 joined #minetest-dev
12:07 Jordach joined #minetest-dev
12:08 PilzAdam anything else missing? https://github.com/PilzAdam/minetest/commit/5a9fd8f433e9d2a71266dd6b76174e84a5ebaa8f
12:12 Jordach PilzAdam, checking
12:13 Jordach it's good
12:18 iqualfragile joined #minetest-dev
13:10 whirm joined #minetest-dev
13:53 sapier joined #minetest-dev
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:02 whirm joined #minetest-dev
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:13 hmmmm joined #minetest-dev
15:16 proller joined #minetest-dev
15:28 Taoki joined #minetest-dev
15:34 troller joined #minetest-dev
15:35 ecube joined #minetest-dev
15:36 ecube_ joined #minetest-dev
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 BackupCoder joined #minetest-dev
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:12 proller__ joined #minetest-dev
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 proller joined #minetest-dev
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 iqualfragile joined #minetest-dev
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
17:38 Calinou joined #minetest-dev
18:07 hnefatl joined #minetest-dev
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:39 troller joined #minetest-dev
18:48 iqualfragile joined #minetest-dev
18:48 VanessaE oh good
18:50 troller do want rain, snow, -> 1level water in core!
18:52 iqualfragile1 joined #minetest-dev
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:04 sapier1 joined #minetest-dev
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
20:26 ShadowNinja joined #minetest-dev
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
21:51 jin_xi joined #minetest-dev
22:00 mrtux joined #minetest-dev
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:53 Taoki joined #minetest-dev
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 ;)

| Channels | #minetest-dev index | Today | | Google Search | Plaintext