Time |
Nick |
Message |
00:00 |
paramat |
with water level + 128 all spawns are close to (0, 0) |
00:00 |
celeron55 |
ehm |
00:00 |
celeron55 |
you're forgetting that watershed generates huge oceans |
00:00 |
paramat |
oh yeah |
00:00 |
celeron55 |
don't forget that |
00:01 |
twoelk |
if water at sawn then add boat :) |
00:01 |
paramat |
heh |
00:02 |
twoelk |
you may leave out the tiger though |
00:02 |
celeron55 |
boating 1500 nodes is not fun |
00:02 |
twoelk |
ok add some rations |
00:03 |
paramat |
the big oceans are a dilemma, maybe i'll only allow those away from world centre |
00:05 |
twoelk |
mmh like my old dream with a mt.meru at the center? (drool) |
00:06 |
paramat |
i actually considered a multi-level world with a connecting tower at (0,0) |
00:07 |
hmmmm |
maybe there should be a new strategy instead making another tweak to a fundamentally flawed algorithm |
00:08 |
hmmmm |
this should really be information provided by the mapgen |
00:08 |
twoelk |
http://www.woelknet.de/pages2/minetest/screenshots/lone-isle.jpg <- another suggestion for watershed spawn :D |
00:08 |
hmmmm |
getPlayerSpawnArea() ? |
00:08 |
hmmmm |
getIdealSpawnLocation()? |
00:09 |
twoelk |
if we get a mapgen preview, couldn't that be used? |
00:10 |
hmmmm |
huh? |
00:10 |
hmmmm |
no idea what you mean by that. |
00:11 |
twoelk |
thought I heard talk about seed preview in this channel |
00:11 |
twoelk |
or whatever it was called |
00:13 |
twoelk |
:( cant find it |
00:13 |
|
Puka joined #minetest-dev |
00:14 |
paramat |
hmmmmm ok, i know you are thinking of working on findSpawnPos. a range of +-1000 nodes is big enough |
00:15 |
paramat |
core watershed needs a lot of work. i may well bias it towards dry land, or at least near world centre |
00:17 |
twoelk |
http://irc.minetest.ru/minetest-dev/2015-07-09#i_4315545 |
00:19 |
|
Puka_ joined #minetest-dev |
00:20 |
paramat |
well a simple auto-mapgen-preview could provide an 'ideal spawn location' |
00:21 |
paramat |
it would be code in the mapgen file that just uses the basic terrain height noise to find an area of dry land |
00:21 |
paramat |
easy to do |
00:22 |
paramat |
it means the primary player spawn area could be a few 1000n away from 0,0 |
00:24 |
paramat |
perhaps it could provide the central point around which the existing findSpawnPos extends it's search |
00:32 |
paramat |
one idea behind watershed/riverdev is variation on every scale. the largest (8000-16000 nodes) being average terrain height, some areas being continents with large lakes, in other areas the tops of the mountain ridges form chains of islands in huge oceans |
00:34 |
|
est31 joined #minetest-dev |
00:36 |
est31 |
hmmmm, can you please give people a chance to answer on your answers on a PR before merging it? |
00:36 |
hmmmm |
you said +1 if I fix the documentation |
00:36 |
hmmmm |
I fixed the documentation |
00:36 |
est31 |
no you didnt |
00:36 |
hmmmm |
yes I did |
00:36 |
est31 |
"Queue all blocks in the area from `pos1` to `pos2`, inclusive, to be asynchronously fetched from memory, loaded from disk, or if inexistent, generates them." |
00:37 |
est31 |
I have asked you to change it "generates them" to "generated" |
00:37 |
est31 |
-it |
00:37 |
hmmmm |
that's incorrect English grammar |
00:37 |
est31 |
whats there ,thats incorrect english grammar |
00:38 |
est31 |
I admit I'm not the native speaker here tho |
00:38 |
est31 |
but why not say then: "Queue all blocks in the area from `pos1` to `pos2`, inclusive, to be asynchronously fetches them from memory, loads them from disk, or if inexistent, generates them." |
00:38 |
hmmmm |
wait a minute |
00:38 |
hmmmm |
this isn't the right sentence |
00:39 |
hmmmm |
oh |
00:40 |
hmmmm |
what happened was that I thought the sentence was "Fetched from memory, loaded form disk, or if inexistent, generates them" |
00:40 |
hmmmm |
you know how in the Lua API a new line sometimes ends the sentence of documentation |
00:41 |
est31 |
the line break was after "asynchronously". |
00:42 |
hmmmm |
well it's a simple fix, who cares |
00:43 |
est31 |
This really seemed like pushed in a rush |
00:43 |
est31 |
My mapgen did take more than 2 secs and it didnt print the update |
00:43 |
est31 |
but lemme check again |
00:44 |
hmmmm |
oh that's another thing |
00:44 |
hmmmm |
it's "at least 2 seconds after the next environment step" |
00:44 |
hmmmm |
so if you're using a lua mapgen and serverthread is blocked on generation, it'll take longer than 2s |
00:44 |
hmmmm |
this is literally unavoidable |
00:44 |
est31 |
no prob with that I tried with mgv6 vanilla mtgame |
00:45 |
est31 |
no mods active |
00:45 |
est31 |
hmm seems to work now |
00:45 |
est31 |
nvm then |
00:46 |
est31 |
heisenbug |
00:46 |
est31 |
:) |
00:46 |
hmmmm |
it's simple |
00:46 |
hmmmm |
I chose literally the simplest way to demonstrate the correct usage of this callback mechanism to do something useful the players might want |
00:47 |
hmmmm |
of course it's not perfect though because of the mentioned locking issues |
00:48 |
est31 |
ok |
00:48 |
est31 |
well that cant really be avoided |
00:48 |
est31 |
not unless you fix the locking stuff |
00:48 |
est31 |
which that pr wasnt about |
00:49 |
est31 |
and its useful already now |
00:49 |
hmmmm |
you can't fix the locking stuff without having separate lua environments |
00:49 |
hmmmm |
we'll eventually have to do that |
00:49 |
hmmmm |
i still haven't decided if i want to use lua lanes or the serialization library we have for the main menu |
00:51 |
est31 |
pipe it through python |
00:53 |
|
sloantothebone joined #minetest-dev |
01:00 |
|
sloantothebone joined #minetest-dev |
01:17 |
hmmmm |
oh uh oh i really understand what happened now |
01:18 |
hmmmm |
i had two instances of kwrite open on lua_api.txt at the same time |
01:18 |
hmmmm |
i edited one and then i mistook it for the other and when i updated the old version to have optional params it overwrote my edited sentence |
01:19 |
JohnnyComeL8ly |
That's too bad... at least you caught the mistake. |
01:34 |
|
Supertan1er2 joined #minetest-dev |
02:05 |
|
JohnnyComeL8ly joined #minetest-dev |
02:12 |
|
cheapie joined #minetest-dev |
02:13 |
|
Supertanker2 joined #minetest-dev |
02:23 |
|
paramat left #minetest-dev |
02:25 |
|
JohnnyComeL8ly joined #minetest-dev |
02:41 |
|
gregorycu joined #minetest-dev |
02:42 |
gregorycu |
What's happening nigs |
02:53 |
gregorycu |
So, I've been thinking |
02:54 |
gregorycu |
The ways settings are shared across threads has always offended me |
02:55 |
gregorycu |
The fact there is locking to read a setting, is pretty bad |
02:55 |
gregorycu |
Especially because it seems that the server component and the client component share the same settings map |
02:56 |
JohnnyComeL8ly |
Offended you? |
02:56 |
gregorycu |
Yes, as a professional |
02:57 |
JohnnyComeL8ly |
Well, it doesn't sound too professional to say that. |
02:57 |
gregorycu |
I couldn't care less what sounds professional |
02:58 |
gregorycu |
Anyway, back on track, I think I'll do some work to remove the contention with the settings |
03:17 |
|
JohnnyComeL8ly joined #minetest-dev |
03:18 |
hmmmm |
[09:55 PM] <gregorycu> The fact there is locking to read a setting, is pretty bad |
03:19 |
hmmmm |
there is a lot of contention in g_settings on singleplayer |
03:19 |
gregorycu |
Yeah, I figured as much |
03:19 |
hmmmm |
because of the way it's shared between both client and server and both loops hit hard on it |
03:19 |
hmmmm |
est has a PR to speed up Settings that we just didn't get around to merging |
03:20 |
hmmmm |
you don't need to worry, it's getting worked on |
03:20 |
gregorycu |
There are other ways to share data, apart from locks, segmentation is one way, we can segment between client/server, or segment per thread |
03:20 |
gregorycu |
Oh, ok |
03:20 |
hmmmm |
thread local settings |
03:20 |
hmmmm |
heh |
03:20 |
hmmmm |
TLS |
03:20 |
gregorycu |
It works, in practice :) |
03:21 |
JohnnyComeL8ly |
TLS security is in the works too? (Or wrong TLS?) |
03:21 |
hmmmm |
I'm honestly not too sure which settings are set in threads other than where they're used |
03:21 |
hmmmm |
TLS is completely unnecessary |
03:21 |
gregorycu |
In that case, yeah, it would be |
03:21 |
gregorycu |
Obviously, we want proper segmentation between server and client in any case |
03:21 |
Hijiri |
which channel does modding discussion/questions go? |
03:21 |
hmmmm |
minetest already has a key exchange by virtue of authenticating with SRP, all that needs to be done is a cipher for encryption over UDP |
03:21 |
JohnnyComeL8ly |
#minetest |
03:22 |
Hijiri |
alright, thanks |
03:22 |
gregorycu |
Well, guess I'll go back to optimizing lighting :) |
03:22 |
JohnnyComeL8ly |
np |
03:26 |
gregorycu |
Where does infostream go? |
03:49 |
hmmmm |
? |
03:53 |
gregorycu |
Couln't make it log to file, just changed the level to warn |
04:00 |
|
paramat joined #minetest-dev |
04:03 |
hmmmm |
check out debug_log_level |
04:14 |
paramat |
gregorycu good to see you around, i remember you worked on the liquid flow code, i'm keen to see this fixed if you are ever inspired to work on it #2977 hmmmmm suggests a new method in the thread. it would be good to have tidy columns of water falling from floatlands |
04:15 |
gregorycu |
Let me take a look |
04:16 |
gregorycu |
Is kwolekr == hmmmm ? |
04:17 |
paramat |
yes |
04:19 |
gregorycu |
What's the problem? Distill it down for me. When there are floatlands, water doesn't go through unloaded blocks? |
04:19 |
gregorycu |
Unloaded chunks? |
04:20 |
paramat |
it hits ignore in an ungenerated mapblock and then stops and and spreads outwards horizontally |
04:21 |
paramat |
(-and) |
04:21 |
gregorycu |
Urgh |
04:21 |
gregorycu |
What should it do? Stop spreading right? |
04:22 |
paramat |
a column of water should just stop, not spread outwards, then when the block gets generated/loaded whatever it should continue down as a column |
04:23 |
gregorycu |
Or spread out horizonally if that block is land |
04:23 |
paramat |
yeah |
04:23 |
paramat |
might be a difficult one to solve it seems |
04:23 |
gregorycu |
mm.... maybe |
04:24 |
gregorycu |
Lol, it's been so long, how do I give myself a bucket? |
04:26 |
paramat |
creative mode or /giveme bucket:bucket_water |
04:27 |
gregorycu |
Thanks |
04:31 |
gregorycu |
Ok, yeah, I understand the approach |
04:32 |
gregorycu |
Gotta figure out a way to test this |
04:33 |
gregorycu |
Fuck me single player is slow |
04:33 |
paramat |
erm i have some floatland mods i'll find you one.. |
04:34 |
gregorycu |
I need to toggle and untoggle chunk loading |
04:36 |
paramat |
hm |
04:37 |
gregorycu |
I'll add a command to unload/load pointed to block |
04:37 |
gregorycu |
(blockchunk) |
04:37 |
gregorycu |
lol, actually, how the fuck would loading work |
04:38 |
paramat |
didn't 'disable camera update' do that (f4?) but it may have been removed |
04:40 |
paramat |
'keymap_toggle_update_camera = ' it's there but no key assigned |
04:41 |
hmmmm |
gregorycu: There is the /emergeblocks command to load a block |
04:41 |
gregorycu |
In debug, it's f4 |
04:41 |
hmmmm |
there is no command to unload a block though |
04:41 |
gregorycu |
Maybe I should add one |
04:41 |
hmmmm |
that would technically require a complete overhaul of the way blocks are retrieved by the client |
04:42 |
gregorycu |
urgh |
04:42 |
gregorycu |
Maybe I won't add one |
04:43 |
gregorycu |
I'll look at this in 30 min, I should get my perf improvement submitted |
04:46 |
hmmmm |
hmmm |
04:47 |
gregorycu |
gregorycu |
04:48 |
hmmmm |
let's see what's on my todo list.. |
04:49 |
hmmmm |
mostly annoying things like switch all the ore/decoration gen stuff to PcgRandom |
04:49 |
hmmmm |
and move log level conversions to log.cpp |
04:50 |
hmmmm |
i was supposed to resume client side modding after that but celeron took it over (phew, that's a load off my chest) |
04:50 |
hmmmm |
hmmm |
04:50 |
hmmmm |
I'll do the water thing I guess, or do you want to? |
04:51 |
gregorycu |
Go for it |
04:51 |
gregorycu |
I made it fast, you can make it work |
04:52 |
hmmmm |
ultimately, i'd want water and lighting computations would have their own threads |
04:52 |
hmmmm |
that's a bit further off into the future though :/ |
04:52 |
hmmmm |
need to do a lotta other stuff before then |
05:07 |
gregorycu |
So, looks like I made spreadLight 3.5x faster |
05:09 |
hmmmm |
cool stuff |
05:09 |
hmmmm |
how's that? |
05:10 |
gregorycu |
Inside spreadLight it would assemble a set::set iteratively |
05:10 |
gregorycu |
It only added to the set, and at the end of the function, it would recursively call spreadLight |
05:11 |
gregorycu |
Anyway, if you replace the std::set with a std::vector+sort+unique you get better perf |
05:12 |
gregorycu |
std::set is great if you need uniqueness guaranteed at all times, but sometimes less optimal if you don't mind duplicates temporarily |
05:12 |
|
Miner_48er joined #minetest-dev |
05:14 |
gregorycu |
Not claiming 3.5x improvement on all arch, would be good if someone could test on linux (I'm on win x64) |
05:15 |
gregorycu |
Maybe it's only 2.5x, my maths is a little wonky I think |
05:16 |
paramat |
nice |
05:22 |
hmmmm |
gregorycu: do you mind writing a unit test to compare exact results of spreadLight()? |
05:22 |
hmmmm |
just to make sure there are no regressions here |
05:22 |
gregorycu |
How does one write a speed unit test? |
05:22 |
gregorycu |
or do you mean correctness? |
05:22 |
hmmmm |
dunno, not particularly concerned about speed though. |
05:23 |
hmmmm |
looking for correctness. |
05:24 |
gregorycu |
That's a pretty big task |
05:24 |
hmmmm |
need to make sure "optimizations" don't break things |
05:26 |
gregorycu |
Well, in answering your question, I would mind |
05:26 |
gregorycu |
(No offense intended) |
05:33 |
|
deltib joined #minetest-dev |
05:37 |
hmmmm |
people need to get into the habit of writing unit tests |
05:38 |
hmmmm |
as a developer, I want assurance that an optimization of some feature will not modify the output of said feature to something unexpected |
05:38 |
sofar |
that kind of discipline is really hard to teach new programmers |
05:39 |
sofar |
and tools are more of a barrier than help, often |
05:39 |
gregorycu |
I am in the habit of writing unit tests, just not going to do it for this change |
05:39 |
hmmmm |
well okay then :/ |
05:40 |
gregorycu |
I'd have to understand exactly how the Map class works |
05:40 |
gregorycu |
Because there are heaps of methods, and no clear SoC |
05:41 |
hmmmm |
fair enough =D |
05:41 |
hmmmm |
somebody's gotta fix all this stuff at some point though |
05:42 |
gregorycu |
Yeah, would be nice if the light spreading engine wasn't part of map for instance |
05:42 |
hmmmm |
minetest is so close to going bankrupt, it's in such TD |
05:42 |
gregorycu |
lol |
05:42 |
hmmmm |
but no, the users want features |
05:42 |
gregorycu |
My sole job in RL is to wind back the technical debt |
05:43 |
hmmmm |
the pull request section never dips below 90 |
05:43 |
hmmmm |
would-be contributors keep piling them on |
05:43 |
hmmmm |
then get angry when they sit for too long |
05:44 |
hmmmm |
my past 5 or 6 commits have been, "Fix thing" |
05:44 |
hmmmm |
speaking of which, it doesn't look like est fixed the getTimeOfDay mutex |
05:53 |
gregorycu |
What should i do? |
05:55 |
hmmmm |
whatever you feel like :-) |
05:57 |
gregorycu |
What would benefit MT the most? |
05:57 |
gregorycu |
And don't say unit tests |
05:58 |
hmmmm |
trashing the whole thing and starting from scratch |
05:58 |
hmmmm |
i don't know, do i look like a business analyst to you? |
05:59 |
hmmmm |
do you play minetest? |
05:59 |
gregorycu |
No |
05:59 |
hmmmm |
well then why work on it |
05:59 |
gregorycu |
For funsies |
05:59 |
hmmmm |
if you spent enough time in the code the problems would be immediately obvious |
05:59 |
gregorycu |
I mean, to spend quality time with you folk |
06:00 |
hmmmm |
and it'd drive you insane |
06:00 |
gregorycu |
When I go to play singleplayer, it's slow as shit |
06:00 |
hmmmm |
"slow" how |
06:00 |
hmmmm |
FPS? |
06:00 |
gregorycu |
Jerky, FPS is poor |
06:00 |
hmmmm |
ya |
06:00 |
gregorycu |
I'm putting that down to the shared settings |
06:00 |
hmmmm |
it's not |
06:00 |
hmmmm |
the FPS problems are mostly due to crappy rendering code |
06:01 |
hmmmm |
things are not getting occluded that should be for example |
06:02 |
hmmmm |
also the frustrum culling got F'd up the last time somebody touched it btw |
06:02 |
gregorycu |
isBlockInSight is broken? |
06:02 |
hmmmm |
I think so yea |
06:02 |
hmmmm |
it's all broken |
06:02 |
hmmmm |
god dammit |
06:02 |
gregorycu |
lol |
06:04 |
hmmmm |
https://github.com/kwolekr/minetest/commit/6ba4f3775e9b2a5bacb2537c058728a67222b67d PTAL |
06:06 |
paramat |
ah the warning during compiling, nice |
06:10 |
gregorycu |
I'll take a look at isBlockInSight |
06:11 |
hmmmm |
paramat what compiler do you use |
06:12 |
hmmmm |
you know what I'm going to make a pull request for this commit just in case |
06:13 |
paramat |
erm i'm not sure how to find out |
06:13 |
hmmmm |
cc --version |
06:13 |
hmmmm |
lol -.- |
06:15 |
paramat |
cmake version 2.8.12.2 ? |
06:16 |
hmmmm |
on second thought nevermind |
06:18 |
paramat |
ok :] |
06:20 |
gregorycu |
haha wtf |
06:21 |
gregorycu |
You're funny paramat. I like you. |
06:21 |
gregorycu |
hmmmm: With regards to isBlockInSight, it doesn't appear to be horribly broken |
06:21 |
hmmmm |
it's subtly broken though |
06:21 |
gregorycu |
Does look a little wrong in places though |
06:21 |
gregorycu |
Yeah |
06:22 |
hmmmm |
so things look great at ground level |
06:22 |
hmmmm |
fly up 100 nodes, turn full view range on, look down at the ground |
06:22 |
hmmmm |
fly up 100 more, then look down again |
06:22 |
gregorycu |
how does one fly? |
06:22 |
hmmmm |
hmm I don't know |
06:23 |
hmmmm |
i changed the keybinding from the default, but I press "F" |
06:23 |
paramat |
'/grant singleplayer all' turn on fly with 'k' |
06:23 |
hmmmm |
yep KEY_KEY_K |
06:25 |
gregorycu |
Well, it seems to show less than it should |
06:25 |
hmmmm |
there was some "optimization" |
06:25 |
hmmmm |
it worked fine before, now it doesn't work fine... |
06:26 |
gregorycu |
Sounds like something I'd do, but worse |
06:27 |
hmmmm |
actually nvm it wasn't an optimization, it was a fix: https://github.com/minetest/minetest/commit/1369503aba1ae0c64e6c25b32cc5552bbdead8fb |
06:28 |
hmmmm |
/ WTF is this? It can't be right |
06:30 |
paramat |
ah the way blocks disappear at screen corners, something to do with fov? |
06:31 |
gregorycu |
Yeah |
06:31 |
gregorycu |
Surely we are second-guessing opengl here |
06:33 |
gregorycu |
Can't we just ask it if a point will be inside the frustum |
06:34 |
paramat |
i use a 16:9 ratio game screen and get this problem a lot |
06:34 |
hmmmm |
gregorycu: the problem is that code needs to run on the server too |
06:34 |
gregorycu |
oh |
06:35 |
hmmmm |
the client just so happens to use isBlockInSight() as well for its own frustrum culling |
06:35 |
hmmmm |
when it goes to render the map in ClientMap::renderMap() |
06:35 |
gregorycu |
Seems a bit wrong though |
06:35 |
hmmmm |
also the occlusion culling in renderMap() is totally fucked |
06:35 |
gregorycu |
How does the server use isBlockInSight |
06:35 |
hmmmm |
you can look straight at a wall and it'll still render blocks in back |
06:36 |
hmmmm |
it uses it to determine which blocks to send to the client |
06:36 |
gregorycu |
Maybe the client could pull? |
06:36 |
hmmmm |
the client doesn't request which blocks it wants from the server, the server keeps track of where the client's position and rotation and sends it the blocks it determines the client needs |
06:36 |
hmmmm |
well |
06:37 |
hmmmm |
it's been attempted before |
06:37 |
hmmmm |
it doesn't really help anything except make things laggier |
06:37 |
hmmmm |
it's the "client request blocks" branch |
06:38 |
gregorycu |
ok |
06:38 |
gregorycu |
In any case, surely the server needs to load blocks more aggressively than the client |
06:38 |
gregorycu |
Or rather, send more aggressively |
06:39 |
gregorycu |
If I'm a client and I do a 180 turn, won't it take a while for the server to send me the blocks? |
06:39 |
hmmmm |
yea it does |
06:39 |
hmmmm |
that's the dumb part |
06:39 |
hmmmm |
blocks in the client's view frustrum should probably be prioritized, but blocks in back of the player still ought to get loaded as well |
06:40 |
hmmmm |
you can notice this especially if you fall off a cliff and look straight up |
06:40 |
hmmmm |
you'll keep stopping because none of the blocks below you are getting sent until you're right on top of them |
06:40 |
gregorycu |
Well, I'm thinking that all blocks within a certain radius of the client should be sent, and the client can request other blocks |
06:41 |
hmmmm |
yea I wanted to do that for a while |
06:41 |
hmmmm |
but i never had the guts to make such a huge change |
06:41 |
hmmmm |
well putting things into perspective it really isn't |
06:42 |
gregorycu |
Maybe a good first step is to split it so the server and client uses two different functions |
06:42 |
gregorycu |
Then change the server to be more aggressive in sending |
06:43 |
gregorycu |
Means drawing can be optimal at the very least |
06:45 |
gregorycu |
I know duplicated code is bad, but I think these are two concepts which _happen_ to have the same implementation at the moment |
06:51 |
|
HighTechGamer_ joined #minetest-dev |
06:54 |
|
Hunterz joined #minetest-dev |
06:55 |
|
paramat left #minetest-dev |
07:28 |
gregorycu |
lol, this code works well... Just... "don't look down" |
07:35 |
celeron55 |
i like sapier's stance on the "rewriting minetest from scratch" thing |
07:36 |
celeron55 |
that is, it still isn't wise because we don't have solutions to many of the problems we have, and we wouldn't have then either |
07:37 |
celeron55 |
that and the fact that minetest has an enormous amounts of features that you don't even realize are there until you start rewriting it and realize how much work there is |
07:39 |
celeron55 |
we don't exactly have code around that isn't doing anything, and that can be said of over 100k lines of code |
07:41 |
gregorycu |
I think he was only half-joking |
07:42 |
celeron55 |
i don't think hmmmm is ever going to start rewriting minetest but it still is a thing that many people have mind so i might as well state these things once in a while |
07:42 |
celeron55 |
have in mind* |
07:42 |
hmmmm |
(: |
07:42 |
hmmmm |
I'm just kidding |
07:43 |
hmmmm |
but sometimes it really is worth it to nuke something from orbit and re-code it from scratch |
07:43 |
hmmmm |
at work I inherited this scrappy russian coded bug-filled network driver that bluescreens if you sneeze around it |
07:44 |
celeron55 |
MT would be there if we had a lot of time for this, but we don't, so the smartest thing to do is just to stick with it |
07:44 |
hmmmm |
the whole thing was written from the ground up with sloppy, horrible coding practices, tons of copy pasted code, overcomplicated mechanisms, and a total disrespect for testability |
07:45 |
|
est31 joined #minetest-dev |
07:45 |
gregorycu |
Yeah, whoever started this project should be ashamed of themselves |
07:45 |
est31 |
wtf |
07:45 |
gregorycu |
Oh, hi est31 |
07:46 |
hmmmm |
[02:45 AM] <est31> wtf |
07:46 |
hmmmm |
^ minetest in a nutshell |
07:46 |
gregorycu |
hmmmm was just brutally bagging the creator of minetest, whoever that was |
07:46 |
est31 |
hah |
07:47 |
hmmmm |
FWIW celeron tried to rewrite minetest |
07:47 |
hmmmm |
it's called "buildat" |
07:47 |
celeron55 |
and it's not a rewrite |
07:47 |
est31 |
thats no rewrite |
07:47 |
gregorycu |
it's not a rewrite |
07:47 |
est31 |
lol |
07:47 |
hmmmm |
BS you can't convince me otherwise |
07:48 |
|
nrzkt joined #minetest-dev |
07:48 |
celeron55 |
you can kind of compare it in terms of amount of work, but its issues come mainly from the fact that it tries to be quite different |
07:48 |
hmmmm |
but it's the way minetest would have been written if you had traveled back in time |
07:48 |
celeron55 |
i would have gotten it into a usable state in the time i used if it was a rewrite of minetest |
07:49 |
hmmmm |
or i mean if you had knowledge of the future |
07:49 |
celeron55 |
but very bare-bones |
07:49 |
hmmmm |
build dat shit, yo |
07:49 |
celeron55 |
well maybe, or maybe not; let's say it's one of the ways i might have chosen to write minetest if i knew the future |
07:50 |
hmmmm |
ok it's time to start drinking beers |
07:50 |
hmmmm |
once i hit ballmer's peak it'll be time to start coding |
07:53 |
gregorycu |
How does one go from aabbox3d<s32> to aabbox3d<f32> |
07:53 |
hmmmm |
i'm pretty sure there's no constructor to do that conversion for you |
07:53 |
gregorycu |
Yeah, that's fucking annoying |
07:55 |
gregorycu |
irrlich is being a dick |
07:56 |
hmmmm |
btw your nemesis Zeno` was last working on an irrlicht abstraction layer and replacing it with Ogre3d |
07:56 |
gregorycu |
A noble cause, there is hope for him yet |
07:57 |
hmmmm |
he disappeared about a month or two after you disappeared |
07:57 |
hmmmm |
and then just 2 or 3 days ago he left a comment on a PR |
07:57 |
gregorycu |
Yeah, sorry for disappearing |
07:58 |
hmmmm |
it's ok I used to disappear for a while |
07:58 |
nrzkt |
IRL > MT :D |
07:58 |
est31 |
hmmmm, PTAL https://github.com/est31/minetest/commit/12fd36af2de845daa1364b0542914841d22372a7 |
07:58 |
est31 |
and nrz :) |
07:58 |
hmmmm |
thank you |
07:58 |
hmmmm |
that wasn't so hard, was it? |
07:58 |
nrzkt |
est31, why not use fucking atomics ? |
07:59 |
nrzkt |
those variables could be atomic :) |
07:59 |
est31 |
nrzkt, because its doing too complex operations on the variables in order to be atomic |
07:59 |
nrzkt |
lol |
07:59 |
hmmmm |
oh gregorycu I have the perfect thing for you to do |
07:59 |
est31 |
nrzkt, really |
07:59 |
hmmmm |
add MSVC intrinsics for Atomic |
07:59 |
est31 |
look at the stepTimeOfDay method |
07:59 |
gregorycu |
lol |
07:59 |
gregorycu |
std::atomic bro |
07:59 |
hmmmm |
we don't have C++11 until Debian stops being a snail |
08:00 |
est31 |
you can't run two instances of that method simultaneously with atomics |
08:00 |
gregorycu |
I think we can, does anyone even use Debian? |
08:00 |
celeron55 |
debian already supports C++11 |
08:00 |
est31 |
and until PilzAdam installs newer linux |
08:00 |
hmmmm |
gregorycu: there is an abstraction layer for C++11 atomics anyway |
08:00 |
est31 |
he has 12.04 LTS |
08:01 |
celeron55 |
the only reason we wouldn't use C++11 is because old versions of MSVC don't support it and people insist on using them |
08:01 |
gregorycu |
I'll do this fustrum shit first |
08:01 |
celeron55 |
and the fact that BSDs don't have recent compilers installed by default |
08:01 |
nrzkt |
est31, maybe rewriting stepTimeOfDay to be atomic compliant is better ? :) |
08:01 |
gregorycu |
My visual studio doesn't have full C++11 support |
08:01 |
nrzkt |
celeron55 not a problem |
08:01 |
hmmmm |
btw celeron I updated to FreeBSD 10 |
08:01 |
celeron55 |
and the fact that some people here use some incredibly old enterprise distributions on servers that don't support C++11 |
08:01 |
nrzkt |
clang 3.4 is pretty well |
08:01 |
hmmmm |
it's just 9.x that has that problem |
08:01 |
hmmmm |
9.x is -STABLE right now |
08:01 |
celeron55 |
none of those should be concerns to us, franly |
08:01 |
celeron55 |
frankly* |
08:02 |
hmmmm |
CentOS? |
08:02 |
nrzkt |
look at std::put_time in c++11; supported by clang 3.4 and not by GCC 5.0... |
08:02 |
nrzkt |
RHEL7 is okay |
08:02 |
hmmmm |
using really outdated packages != stable |
08:02 |
celeron55 |
oh, well, also, one reason is that nothing supports full C++11 yet, and we have to define a subset if we use it |
08:02 |
celeron55 |
quite a large subset, but a subset anyway |
08:02 |
hmmmm |
well |
08:03 |
gregorycu |
As it turns out, the most important features are the ones that everyone supports |
08:03 |
hmmmm |
yeah |
08:03 |
hmmmm |
we can remove a lot of platform specific threading code |
08:03 |
hmmmm |
and we have move constructors |
08:03 |
hmmmm |
and foreach loops |
08:03 |
hmmmm |
and... |
08:04 |
est31 |
unordered map |
08:04 |
hmmmm |
that's really good^ |
08:04 |
hmmmm |
lol speaking of foreach loops I randomly looked at freeminer the other day and proller made one of those "fix" commits |
08:04 |
hmmmm |
for (auto o : <container here>) { |
08:04 |
nrzkt |
unordered_map give ~15% perf on some maps like the node resolver, tested on my forked, and set in production now :) |
08:05 |
hmmmm |
not a reference to o, he did an actual copy |
08:05 |
hmmmm |
inserting subtle bugs |
08:05 |
hmmmm |
lolol |
08:05 |
nrzkt |
hmmmm, proller is not a reference sometimes :) |
08:05 |
hmmmm |
man |
08:05 |
hmmmm |
freeminer is the perfect example of what not to do with minetest |
08:06 |
nrzkt |
maybe, i haven't looked their code very much, i have my own |
08:06 |
hmmmm |
i am glad it exists |
08:06 |
nrzkt |
also: std::mutex is not as fast as in UNIX on Windows |
08:07 |
est31 |
one fork better than no fork |
08:07 |
gregorycu |
Zeno wouldn't like switching to C++11 |
08:07 |
est31 |
two forks better than one fork |
08:09 |
hmmmm |
fork muh dongles |
08:10 |
nrzkt |
it's for my experimentations in production mode :) |
08:10 |
nrzkt |
MT is also an interesting study case , but i could not propose every change as a PR :p |
08:12 |
nrzkt |
for example my tests on the libapr integration on MT could not be proposed as a PR /p |
08:12 |
hmmmm |
never heard of libapr |
08:13 |
hmmmm |
there must be 5000 different kinds of these exact libraries out there already |
08:13 |
|
jin_xi joined #minetest-dev |
08:14 |
nrzkt |
libapr is the threading,mutex,socket lib used by apache & tomcat |
08:14 |
nrzkt |
:p |
08:14 |
nrzkt |
i think you heard |
08:14 |
est31 |
isnt tomcat java? |
08:14 |
hmmmm |
they start out as a small and focused collection of platform specific code bits, sort of like our util directory |
08:14 |
est31 |
and for java the JRE provides that stuff |
08:14 |
hmmmm |
and then some devs get this bright idea - "what if we were to make this util directory into our own toolkit! people would love to use our toolkit library, apache style ;)" |
08:15 |
celeron55 |
apache's libraries are pretty competent though |
08:15 |
nrzkt |
celeron55, yes |
08:15 |
hmmmm |
this toolkit library exists for every large project |
08:16 |
hmmmm |
and they all have roughly the same amount of content and they're all really good |
08:16 |
hmmmm |
it's just that programmers are like crack addicts |
08:16 |
celeron55 |
they make sense for large server applications because you want to get as much speed as possible with disregard to portability and how difficult the thing is to compile |
08:16 |
est31 |
there is no way I can have READ AND SET access to an atomic variable? |
08:16 |
hmmmm |
they love coding shit like this because it's so satisfying |
08:16 |
hmmmm |
but ultimately useless imho |
08:16 |
gregorycu |
Reason: cannot convert from 'irr::core::vector3d<irr::s16>' to 'const irr::core::line3d<irr::s16>' |
08:17 |
gregorycu |
Great |
08:17 |
nrzkt |
apache runtime library has a long long time experience, and i would try to experiment their approch :) i looks similar to pthread for threading and same for mutex but they give one thing: i don't care about portability, they already done a very good multiplatform code for me :p |
08:17 |
celeron55 |
hmmmm: apache would be doing those libraries internally anyway, so they just publish them with almost zero extra effort |
08:17 |
celeron55 |
that's really what is going on |
08:18 |
hmmmm |
somebody out there polished it up into a proper library |
08:18 |
hmmmm |
they must've been sooo proud of themselves too |
08:18 |
celeron55 |
do you realize apache has quite a lot of projects that they use these base libraries for? |
08:18 |
nrzkt |
est31: yes tomcat is java but you can remplace some JAVA connectors like BIO to NIO and better libAPR, then your tomcat can handle massive connections. It's why we have tested and designed our tomcat for industry in production at work |
08:18 |
celeron55 |
those are not some one-off things |
08:19 |
celeron55 |
i'm not saying any of apache's things suit minetest though |
08:20 |
nrzkt |
celeron55, i didn't say it, but i said libapr is a very good library which has some age and which has been improved over time and which is now on 80% world wide web servers :p |
08:23 |
est31 |
I mean e.g. you have a variable flt, and its a float |
08:23 |
est31 |
then you want to get its value, and set it to 0 the same time |
08:23 |
est31 |
so that when another thread does that operation, it gets either 0, or the value if its faster |
08:24 |
est31 |
but no way your thread and the other thread both believe they have got the content of flt |
08:24 |
celeron55 |
there's no instruction for doing that atomically in x86 |
08:24 |
gregorycu |
huh? |
08:24 |
est31 |
I need that to adjust integer conversion skew |
08:25 |
est31 |
thats why the environment has m_time_counter |
08:25 |
gregorycu |
Compare and swap? |
08:25 |
gregorycu |
What am I missing |
08:25 |
celeron55 |
...or is there |
08:25 |
est31 |
Compare and swap would work but I'd need a while loop for it |
08:25 |
celeron55 |
does that work for floats? if it does and exist on other platforms too, then it should be possible 8) |
08:25 |
gregorycu |
cas loop |
08:26 |
gregorycu |
It's a thing |
08:26 |
est31 |
and we have no cas just yet |
08:26 |
est31 |
our atomic abstraction layer just simply doesnt have it |
08:27 |
celeron55 |
it's not exactly hard to add it there |
08:28 |
celeron55 |
they are just wrappers to GCC builtin functions |
08:33 |
est31 |
man I really dont want to mess with that code |
08:34 |
est31 |
I could, but in two weeks SN will come along and think my implementation is "too complicated" |
08:34 |
est31 |
and will propose a "cleanup" |
08:34 |
gregorycu |
Are you a scaredy cat? |
08:34 |
est31 |
which will replace my code with a hacked together improper implementation |
08:34 |
hmmmm |
"AreaStore, fixed! ShadowNinja style ;-)!" |
08:35 |
celeron55 |
i wouldn't be afraid of ShadowNinja |
08:35 |
hmmmm |
"Logging, cleaned up!" |
08:35 |
est31 |
"don't care about clock skew anding with 0 is ugly" |
08:35 |
hmmmm |
"Threading, cleaned up!" |
08:35 |
est31 |
it IS ugly but thats the best way to do it in my eyes |
08:36 |
hmmmm |
"I added 3x as many preprocessor if statements." |
08:36 |
hmmmm |
"I also underscored all of the variables." |
08:36 |
hmmmm |
"It is much better this way." |
08:36 |
celeron55 |
we should be more afraid of hmmmm than ShadowNinja now that hmmmm decided that quality is everything that matters 8) |
08:38 |
* est31 |
afraid of nobody, not even the enderman, whoever the enderman is. I know the enderman isnt real! |
08:38 |
est31 |
gotta go bbiab |
08:56 |
celeron55 |
hmm |
08:56 |
celeron55 |
this is kind of hard to design |
08:56 |
celeron55 |
i need to decide where the distant map rendering data and functionality will go |
08:57 |
celeron55 |
well i guess it can just live inside Client like pretty much absolutely everything else |
08:59 |
gregorycu |
What is distant map rendering data? |
09:28 |
|
Megaf joined #minetest-dev |
10:06 |
|
est31 joined #minetest-dev |
10:07 |
gregorycu |
Hooray \o/ he is back |
10:07 |
est31 |
okay eliminated all issues, except one. |
10:09 |
|
Puka joined #minetest-dev |
10:09 |
est31 |
celeron55, I'd think the server should do it, just like the lighting. It has the map. |
10:13 |
est31 |
otherwise the client has to download the whole map in raw form |
10:13 |
est31 |
including all the stuff it doesn't need like the metadata |
10:14 |
est31 |
(metadata arent needed for drawing objects far away, right??) |
10:14 |
est31 |
the server can probably do it like with lighting, and update the "far away info" like the lighting, when the map changes |
10:14 |
est31 |
would be how I'd do it |
10:15 |
est31 |
lol I said "like with lighting" too often |
10:20 |
gregorycu |
You really love lighting |
10:22 |
est31 |
light is the sun of my life. |
10:23 |
gregorycu |
I have no idea what I'm doing |
10:23 |
gregorycu |
Frustum culling |
10:24 |
|
nrzkt joined #minetest-dev |
10:26 |
est31 |
nrzkt, https://github.com/est31/minetest/commit/ef0a9b18607fc062f4310124a8b877231754c932 |
10:26 |
est31 |
but doesnt compile yet |
10:26 |
est31 |
I'm the first to use Atomic, so I have to sort out the compilation bugs caused by it first lol |
10:28 |
est31 |
so there is no real way around that race condition that commit adds |
10:28 |
est31 |
other than back to locks |
10:28 |
est31 |
or making the code that is under lock smaller |
10:29 |
est31 |
ermm |
10:29 |
est31 |
disregard that <est31> or making the code that is under lock smaller |
10:30 |
est31 |
what I wanted to say is "You can add locks here and their scope will be smaller than before, and they will be needed for less methods, but you still will need locks" |
10:30 |
|
rubenwardy joined #minetest-dev |
10:31 |
nrzkt |
courage ! |
10:32 |
|
turtleman_ joined #minetest-dev |
10:47 |
|
Fixer joined #minetest-dev |
11:00 |
|
est31 joined #minetest-dev |
11:02 |
|
Darcidride joined #minetest-dev |
11:23 |
est31 |
oh great, no atomic floats |
11:23 |
est31 |
well, then we can forget it. |
11:35 |
celeron55 |
est31: are you implying that the client can magically render the stuff without any code added to the client just if the server knows about the things? |
11:35 |
est31 |
no |
11:35 |
celeron55 |
i think you are kind of missing the point of what i'm doing 8) |
11:35 |
est31 |
what do you want to do |
11:35 |
celeron55 |
i want to add the code so that the client can render the things |
11:36 |
celeron55 |
but don't worry, i'm already on my way |
11:36 |
est31 |
but I wonder how it would work if the client requests blocks from the server and no further changes to the protocl |
11:36 |
est31 |
protocol* |
11:37 |
celeron55 |
i'm adding stuff to the protocol too |
11:37 |
est31 |
what you add? |
11:39 |
celeron55 |
well, it's probably going to be a message using which the client asks stuff from the server and a message where the server puts the answer |
11:39 |
celeron55 |
this is not exactly rocket science to be honest |
11:39 |
est31 |
and the answer will b in mapblocks? |
11:39 |
est31 |
be* |
11:40 |
rubenwardy |
Is this for a farmesh like system? |
11:40 |
celeron55 |
in larger subdivisions of mapblocks than nodes, i'm thinking |
11:40 |
rubenwardy |
Level of detail would be awesome |
11:40 |
est31 |
how does the client know there is something, and not air for 2k? |
11:40 |
celeron55 |
why are you asking so much |
11:40 |
celeron55 |
it's like you wanted to do this instead |
11:41 |
est31 |
no, do it, I shut up. |
11:46 |
est31 |
your project, not mine. |
11:48 |
|
ItalianCoder joined #minetest-dev |
11:49 |
|
ItalianCoder left #minetest-dev |
11:50 |
|
Calinou joined #minetest-dev |
12:36 |
|
Puma_rc joined #minetest-dev |
13:08 |
|
DFeniks joined #minetest-dev |
13:18 |
|
PilzAdam joined #minetest-dev |
13:22 |
|
leat joined #minetest-dev |
13:43 |
|
Puma_rc left #minetest-dev |
14:19 |
|
kaeza joined #minetest-dev |
14:33 |
|
est31 joined #minetest-dev |
14:33 |
est31 |
can sb review #3334 |
14:33 |
est31 |
https://github.com/minetest/minetest/pull/3334 |
14:33 |
* VanessaE |
pokes ShadowBot |
14:34 |
est31 |
ShadowBot gone ShadowNinja gone why is all the shadow gone |
14:34 |
ShadowBot |
est31: Error: You must be registered to use this command. If you are already registered, you must either identify (using the identify command) or add a hostmask matching your current hostmask (using the "hostmask add" command). |
14:36 |
nrzkt |
ShadowBot, did you love est31 ? |
14:37 |
VanessaE |
yesterday's network outage pissed her off :) |
14:38 |
nrzkt |
her ? |
14:38 |
nrzkt |
ShadowNinja is a woman ? :) |
14:38 |
est31 |
no female bot |
14:39 |
nrzkt |
oh, ShadowBot is a woman :p |
14:39 |
nrzkt |
ShadowBot did you like Justin Bieber ? |
14:39 |
nrzkt |
ShadowBot, doesn't like me :p |
14:39 |
nrzkt |
est31, seems okay for me |
14:39 |
VanessaE |
all bots are female, apparently. |
14:40 |
est31 |
pushing then |
14:43 |
nrzkt |
VanessaE, are you a bot ? :p |
14:44 |
VanessaE |
nope |
14:49 |
|
zat joined #minetest-dev |
14:52 |
|
Darcidride_ joined #minetest-dev |
14:56 |
kahrl |
est31: I looked through the ncurses PR code a bit a didn't notice any more problems |
14:56 |
kahrl |
est31: except perhaps it would be more performant to use addstr instead of printw in a few places |
14:57 |
kahrl |
also perhaps addwstr to write wide strings directly instead of doing wide_to_utf8 first |
14:58 |
kahrl |
but that might have bad side effects |
15:15 |
|
Hunterz joined #minetest-dev |
15:19 |
est31 |
yea, better we use addstr |
15:21 |
|
Player2 joined #minetest-dev |
15:23 |
|
JohnnyComeL8ly joined #minetest-dev |
15:23 |
est31 |
do you +1 ? |
15:28 |
est31 |
okay kahrl changed the printw to addstr |
15:28 |
kahrl |
yes, although I think BlockMen (or someone else) should try building on windows again before it is merged |
15:29 |
kahrl |
since the whole curses detection in cmake was changed |
15:29 |
|
CraigyDavi joined #minetest-dev |
15:29 |
est31 |
ok |
15:30 |
|
ADFENO joined #minetest-dev |
15:30 |
celeron55 |
lol |
15:30 |
celeron55 |
the scene node id of ClientMap is statically set to 666 |
15:31 |
ADFENO |
Hi- .... :O |
15:31 |
celeron55 |
this is clearly some of the first ever lines of code in minetest |
15:34 |
ADFENO |
Well... Hi, does the development wiki has a translation templete or a special page one can use to create translations for other pages? Or does the wiki recognizes subpages with ISO language codes and inserts links to these subpages in the beginning of the parent page when such translation exists? |
15:37 |
ADFENO |
I'm asking because I'm planning to translate some of the development wiki text on my free time every Tuesday. :D |
15:41 |
ADFENO |
Hm.... I guess I'll have to create subpages for the time being. |
15:44 |
celeron55 |
umm |
15:44 |
celeron55 |
don't mess up it too much |
15:44 |
celeron55 |
is there a difference between wiki.minetest.net and dev.minetest.net? |
15:46 |
ADFENO |
I don't know since I don't visit wiki.minetest.net. I usually visit dev.minetest.net because a lot of mates of mine are into modding, although their mods are written in Brazillian Portuguese. |
15:47 |
est31 |
dev. is both about coredev and moddev |
15:47 |
est31 |
I guess coredev needs no translation, but moddev, why not. |
15:48 |
|
_occl_cul_per_bl joined #minetest-dev |
15:48 |
ADFENO |
That's my first thought. :D |
15:49 |
celeron55 |
let me investigate this a bit |
15:53 |
celeron55 |
i wonder who actually knows how to set up the multilanguage stuff in mediawiki |
15:53 |
ADFENO |
At first I was going to contribute to "the Brazilian Minetest community" (as one of my mates from there says) but then I thought: "Perhaps it's better to contribute to the Minetest communnity directly". |
15:53 |
celeron55 |
for some reason wiki.minetest.net has it but dev.minetest.net does not, and i can't find a difference in configuration regarding to that |
15:55 |
celeron55 |
Calinou? |
15:55 |
celeron55 |
ShadowNinja? |
15:55 |
ADFENO |
Perhaps we must investigate more on the languages tag "{{languages}}". :D |
15:55 |
celeron55 |
pls help |
15:55 |
celeron55 |
i tried adding that tag but it does nothing |
15:55 |
celeron55 |
on this page http://dev.minetest.net/Modding_FAQ |
15:57 |
celeron55 |
bleh |
15:57 |
celeron55 |
well i am stuck until somebody who actually understands mediawiki comes up |
15:57 |
|
hmmmm joined #minetest-dev |
15:57 |
kahrl |
I think you have to create http://dev.minetest.net/Template:Languages |
15:57 |
celeron55 |
and then it magically works? why would it |
15:58 |
celeron55 |
well i guess i'll copy it from wiki.minetest.net |
15:58 |
kahrl |
well yeah, use the source from http://wiki.minetest.net/index.php?title=Template:Languages&action=edit |
15:59 |
kahrl |
it uses a couple other templates too, looks like |
16:00 |
ADFENO |
A-ha!.... |
16:00 |
ADFENO |
It REALLY seems that you have to create the template. :D |
16:01 |
ADFENO |
But that's OK... Now we have something to play with. :D |
16:03 |
celeron55 |
okay looks like i added things for german as a test |
16:03 |
celeron55 |
you need to make a version of this for your language http://dev.minetest.net/Template:Languages/de |
16:03 |
ADFENO |
Oh right. :D |
16:04 |
celeron55 |
then you can just add the stuff and create new pages in that language exactly like in wiki.minetest.net |
16:05 |
celeron55 |
like this http://dev.minetest.net/Modding_FAQ/de |
16:07 |
celeron55 |
looks like Calinou set up this system on wiki.minetest.net early this year |
16:08 |
celeron55 |
i added {{Languages}} on the protected main page |
16:08 |
ADFENO |
Hm... Just a minor bug (don't worry, I won't pick on anyone for this, :D) when viewing the English page, the templete equivalent to "Language" seems to be creating a link to some non-existing page. However, the equivalent on the German test page, is right as it displays "Sprache" (I don't speak German, but it seems to be "Language", and besides, the bug disappears there). :D |
16:08 |
celeron55 |
i think i fixed that already |
16:09 |
ADFENO |
Oh... He's quick :D |
16:09 |
ADFENO |
Working fine now. :D |
16:11 |
ADFENO |
Well... Another day, another progress. It was really interesting to help you on this. I'm sorry for not being able to translate a page right now, but my free time is now over. I'll try to be back next Tuesday. :D |
16:12 |
ADFENO |
Bye. |
16:12 |
|
ADFENO left #minetest-dev |
16:27 |
|
nrzkt joined #minetest-dev |
17:00 |
|
Hunterz joined #minetest-dev |
17:03 |
|
VargaD_ joined #minetest-dev |
17:12 |
|
luizrpgluiz joined #minetest-dev |
17:14 |
|
Krock joined #minetest-dev |
17:27 |
|
luizrpgluiz left #minetest-dev |
17:38 |
|
PilzAdam joined #minetest-dev |
17:43 |
|
proller joined #minetest-dev |
17:45 |
|
Robert_Zenz joined #minetest-dev |
17:47 |
|
rubenwardy joined #minetest-dev |
18:04 |
|
Darcidride joined #minetest-dev |
18:22 |
|
leat joined #minetest-dev |
18:42 |
|
est31 joined #minetest-dev |
19:13 |
kahrl |
Krock: I don't know much about how to customize the cmake gui |
19:13 |
kahrl |
(I always use it from the command line) |
19:14 |
kahrl |
one thing that should definitely be done though: https://gist.github.com/kahrl/5fbe9e56fd57778da833 |
19:15 |
est31 |
will apply |
19:19 |
kahrl |
cmake-gui with advanced settings only shows CURSES_FORM_LIBRARY, CURSES_INCLUDE_PATH and CURSES_NCURSESW_LIBRARY here |
19:19 |
kahrl |
and ENABLE_CURSES, of course |
19:21 |
Krock |
kahrl, example: set(CURSES_NCURSESW_LIBRARY "" CACHE PATH "Path to file <xyz.abc> for ncurses library") |
19:22 |
Krock |
A short description where the path goes to.. like it's done with other libraries. See also README |
19:24 |
kahrl |
ugh, I hate how cmake has no manpage anymore |
19:26 |
est31 |
rly? still has it, for me. |
19:26 |
est31 |
man these guys got an exception |
19:26 |
est31 |
"August 24, 2015" |
19:26 |
kahrl |
No manual entry for cmake |
19:26 |
est31 |
seems they got the new version in after the window closed for 15.10... |
19:26 |
kahrl |
you have to type something like: cmake --help-manual cmake|less |
19:27 |
est31 |
wtf |
19:27 |
est31 |
well still better than GNU info lol |
19:27 |
kahrl |
heh yeah |
19:29 |
kahrl |
hrmm, could be a bug with gentoo's ebuild for cmake |
19:29 |
kahrl |
or it only installs with the doc useflag |
19:29 |
kahrl |
oh well |
19:40 |
kahrl |
yeah, looks like it was gentoo. moving on... |
19:41 |
est31 |
I've thought you've installed arch? |
19:43 |
kahrl |
yeah but a botnet took that machine over |
19:43 |
est31 |
lol |
19:44 |
est31 |
and they installed gentoo right? |
19:44 |
kahrl |
yep |
19:44 |
est31 |
yea probably a wise choice. |
19:45 |
kahrl |
heh |
19:45 |
est31 |
:) |
19:45 |
est31 |
well, if you have such an event, there really isn't much fun about it. |
19:46 |
est31 |
I mean for pokemon you can say "but I want to do it this way" or that way etc |
19:46 |
est31 |
but with arch there are tons of guides out there how to install |
19:47 |
kahrl |
well, you have the choice between parted, fdisk, cfdisk, sfdisk, ... |
19:47 |
kahrl |
sfdisk would have been fun |
19:50 |
kahrl |
also that tug of war between the noppers and the ctrl-c-ers while it was installing packages was pretty fun |
19:50 |
est31 |
lol |
19:54 |
|
JohnnyComeL8ly joined #minetest-dev |
20:03 |
|
younishd joined #minetest-dev |
20:14 |
kahrl |
dang there goes Krock :P |
20:15 |
kahrl |
anyway: est31: here's a few additional DOCs: https://gist.github.com/kahrl/e6c67a01bc45089509ad |
20:15 |
kahrl |
I don't think I can add DOCs for the variables that are set by FindCurses.cmake, unfortunately |
20:19 |
est31 |
ncurses commit has 1227 insertions |
20:19 |
est31 |
why cant it be 110 more :) |
20:19 |
* est31 |
adds lots of newlines to group code |
20:19 |
est31 |
lol jk |
20:25 |
est31 |
I really should take some time to read this http://en.cppreference.com/w/cpp/language/implicit_cast |
20:25 |
est31 |
but not today |
20:25 |
est31 |
bye I'm gone |
20:33 |
|
paramat joined #minetest-dev |
20:40 |
|
luizrpgluiz joined #minetest-dev |
20:42 |
paramat |
nore PilzAdam sfan5 any comments on game#718 ? |
20:42 |
paramat |
https://github.com/minetest/minetest_game/pull/718 |
20:43 |
PilzAdam |
why is snow so close to desserts? |
20:43 |
PilzAdam |
also, won't this break existing worlds? |
20:44 |
paramat |
unfortunately that's unavoidable when world is equally split into frozen, temperate and tropical |
20:45 |
paramat |
remember this map has shrunk biomes |
20:45 |
paramat |
this is for the biome api only, not mgv6 |
20:45 |
paramat |
so mgv5/v7/fractal/flat |
20:46 |
PilzAdam |
there are existing worlds with these mapgens, since it's selectable from the GUI |
20:46 |
paramat |
mgv6 has the same division of snow, temperate and tropical biomes |
20:47 |
paramat |
yes but the biome api, it's biomes, and mgv5/v7 are all unstable |
20:47 |
PilzAdam |
there is nothing in the GUI that indicates this |
20:48 |
paramat |
we could add notes |
20:50 |
PilzAdam |
I guess the PR is good; the GUI thing was a mistake in the past |
20:52 |
paramat |
when world area is equally divided into 3 by noise, the extremes of noise tend to form blobs and the mid-values tend to form a web inbetween the blobs, the web appears thin in places of transition between frozen and tropical blobs |
20:53 |
paramat |
however the thresholds, octaves and persistence are all identical to mgv6 so it's consistent |
20:55 |
paramat |
reducing persistence to 0.4 might help though, less small-scale variation |
20:56 |
paramat |
maybe i'll do another map with 0.4 to test |
20:57 |
paramat |
thanks |
21:03 |
paramat |
yeah they do get too close together, we may have to use 0.4, i'll test and post a map for consideration |
21:17 |
|
Miner_48er joined #minetest-dev |
21:23 |
|
Hunterz left #minetest-dev |
21:24 |
|
Robert_Zenz joined #minetest-dev |
21:34 |
paramat |
hmmmm while i remember, we need a way to copy an .mts schematic into the luavoxelmanipulator (without the lighting update). browsing the forums i'm seeing a lot of modders using 'place schematic' during mapgen, sometimes multiple times, which is slow and causes lighting bugs |
21:48 |
|
paramat left #minetest-dev |
22:15 |
|
asl97 joined #minetest-dev |
23:07 |
|
gregorycu joined #minetest-dev |
23:08 |
|
gregorycu joined #minetest-dev |
23:11 |
gregorycu |
So, pretty much gave up on the frustum stuff last night |
23:12 |
gregorycu |
It left me too frustrumurated |
23:12 |
gregorycu |
See what I did there |
23:20 |
|
gregorycu_ joined #minetest-dev |
23:26 |
|
sloantothebone joined #minetest-dev |
23:49 |
|
Player2 joined #minetest-dev |
23:56 |
|
asl joined #minetest-dev |