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 ;) |