Time |
Nick |
Message |
00:03 |
|
dandelion joined #minetest-dev |
00:03 |
|
kilbith joined #minetest-dev |
00:04 |
kilbith |
someone should try out MT on a Wayland session and see what happens with the camera... |
00:05 |
|
cib0 joined #minetest-dev |
00:05 |
|
Anchakor left #minetest-dev |
00:07 |
JohnnyComeL8ly |
kilbith, mind telling me what happens? |
00:07 |
JohnnyComeL8ly |
I don't want to switch right now. :-P |
00:07 |
kilbith |
kind of indescriptible |
00:08 |
JohnnyComeL8ly |
Ah, well, that merits a try! |
00:08 |
kilbith |
but XWayland ensure a compat with X11 and it works more or less finely on other games |
00:08 |
kilbith |
in a mediocre way on MT |
00:08 |
kilbith |
i'm concerned since it'll be the new standard on Linux very soon |
00:10 |
JohnnyComeL8ly |
kilbith, I want to see Wayland support too, but it is dependent upon Irrlicht... and they said that isn't a priority for them. |
00:10 |
kilbith |
well that's a real treat for the future of MT |
00:11 |
est31 |
what is a priority for irrlicht either way? |
00:11 |
est31 |
irrlicht is more dead than minetest is. |
00:14 |
hmmmm |
at least upgrade to Antartica (SuperTuxCart fork of Irrlicht) |
00:14 |
|
dandelion1 joined #minetest-dev |
00:15 |
JohnnyComeL8ly |
I'm thinking that they are caught up in trying to match a commercial engine.... |
00:16 |
est31 |
I don't really know what Antartica is about... is it more a generic engine? is it one tailored for STK's needs? |
00:17 |
hmmmm |
read http://supertuxkart.sourceforge.net/Antarctica:_Technical_Details |
00:17 |
JohnnyComeL8ly |
est31, providing a patch for Wayland support is possible, is it not? |
00:19 |
est31 |
JohnnyComeL8ly, idk whether this mouse pointer capture thing still works |
00:19 |
est31 |
but ask c55 he has talked in his channel about irrlicht minetest before |
00:24 |
est31 |
oh this is cool |
00:24 |
est31 |
starting STK gives me [warn ] [IrrDriver Temp Logger]: Level 3: Vertex shader compilation failed at position -1: right away |
00:24 |
est31 |
but it still runs! |
00:24 |
hmmmm |
they have a Beastie character! |
00:29 |
|
dandelion1 left #minetest-dev |
00:30 |
|
dandelion1 joined #minetest-dev |
00:30 |
|
est31 joined #minetest-dev |
00:31 |
est31 |
and yes I've timed out because I've tried to start stk |
00:31 |
dandelion1 |
Hey, I'm new. Would someone recommend a little maintenance issue to get me started? |
00:32 |
est31 |
seems 4gb aren't enough to have stk + firefox with a moderate number open + hexchat |
00:32 |
est31 |
dandelion1, a starter issue? |
00:32 |
dandelion1 |
Yeah |
00:33 |
est31 |
dandelion1, which part of minetest are you interested in helping in? minetest_game, minetest engine? client? server? |
00:34 |
dandelion1 |
Engine. Eventually I want to do sqlite or threading |
00:37 |
dandelion1 |
Those two things I'm new to. I've done a lot with fractals/cellular automata/dungeon generation |
00:47 |
est31 |
dandelion1, do you know how to use c++ templates? |
00:47 |
dandelion1 |
Yes |
00:47 |
est31 |
nice. |
00:48 |
est31 |
can you write a ring buffer type and place it in src/util/container.h ? |
00:48 |
dandelion1 |
Okay |
00:48 |
est31 |
& then use it to speed up on gregorycu's speedup of the profiler code |
00:50 |
est31 |
the class is called ProfilerGraph and resides in src/game.cpp |
00:50 |
est31 |
idea is to replace m_log with a ring buffer |
01:03 |
|
paramat joined #minetest-dev |
01:08 |
paramat |
now merging https://github.com/minetest/minetest_game/pull/722 Default/mapgen: Fix missing taiga pine (trivial fix) |
01:13 |
paramat |
done |
01:13 |
hmmmm |
heh |
01:13 |
hmmmm |
just played super tux kart for a while |
01:13 |
hmmmm |
it's a really cute game |
01:16 |
paramat |
i intend to check out the latest version |
01:37 |
|
kaeza joined #minetest-dev |
01:45 |
paramat |
hmmmm with some help i managed to get mgfractal using mgv5 cavegen, it works but please can you review the implementation sometime? https://github.com/minetest/minetest/pull/3351 |
01:56 |
hmmmm |
oh god wtf |
01:57 |
hmmmm |
paramat: why do you need to cast mg to a MapgenV5 exactly? |
01:57 |
paramat |
to fix an error message after applying pilzadam's advice |
01:58 |
hmmmm |
that doesn't really fix the error... |
01:58 |
hmmmm |
okay do you see this line? https://github.com/minetest/minetest/pull/3351/files#diff-b3b3932e4dba81e4e399d61603c86d8aR33 |
01:58 |
paramat |
https://github.com/minetest/minetest/pull/3313#issuecomment-152870648 |
01:58 |
hmmmm |
change that from MapgenV5 to Mapgen |
01:58 |
paramat |
^ that was pilzadam's advice |
01:58 |
hmmmm |
then change this line https://github.com/minetest/minetest/pull/3351/files#diff-e876a0a129495f2b2dd1182861fa6ea3R36 to remove the cast |
01:59 |
hmmmm |
then tell me if you get any errors from that |
01:59 |
paramat |
okay |
01:59 |
paramat |
i may have tried that before, will report |
01:59 |
hmmmm |
yes, so you did change the first parameter to a Mapgen, but you didn't follow along with the rest of the steps needed to generalize that cave code.. |
02:00 |
hmmmm |
this is kind of like somebody asking for a blue house and you paint the front door blue |
02:00 |
hmmmm |
and then when they ask about the rest of it you cover it over with a giant tarp and say, "oh I casted it blue, see this blue tarp?" |
02:00 |
paramat |
lol |
02:05 |
|
Miner_48er joined #minetest-dev |
02:08 |
paramat |
ok i did try this before. 'mg->ystride' in the cavegen code now causes this error ‘class Mapgen’ has no member named ‘ystride’ |
02:08 |
|
cib0 joined #minetest-dev |
02:09 |
paramat |
no other errors |
02:09 |
|
crazyR_ joined #minetest-dev |
02:11 |
paramat |
maybe define ystride in the constructor.. |
02:11 |
hmmmm |
surely you can figure out how to solve that |
02:12 |
paramat |
ok i'll fiddle for a while |
02:12 |
hmmmm |
well logically, tell me how you think it could be solved |
02:13 |
hmmmm |
if MapgenV5 has a member 'ystride' but Mapgen does not, what's the first thing you need to figure out here |
02:17 |
paramat |
i was going to try defining it in the ctor 'this->ystride = mg->ystride', there's not much logic behind it |
02:18 |
paramat |
somehow i need to access the subclass |
02:23 |
paramat |
fiddling.. |
02:24 |
hmmmm |
paramat: defining it in the ctor is a good idea |
02:24 |
paramat |
ah it compiles |
02:24 |
hmmmm |
also consider moving it out to the base class as well |
02:25 |
hmmmm |
the first question I'd ask myself is, "what is this 'ystride' variable? what does it do? where does it come from?" |
02:26 |
paramat |
i added 'MapgenV5 *mgv5;' to header, then to cpp: 'this->mgv5 = (MapgenV5 *)mg;' and 'this->ystride = mgv5->ystride;' |
02:26 |
paramat |
but not tested yet |
02:26 |
hmmmm |
lol |
02:26 |
hmmmm |
that breaks MapgenFractal now |
02:27 |
paramat |
heh |
02:27 |
hmmmm |
in general, don't cast things unless you actually know what it is you're doing |
02:27 |
paramat |
i rarely know what i'm doing hehe |
02:27 |
hmmmm |
in that case what it does is reinterprets the memory at the location specified by "mg" as a MapgenV5 |
02:28 |
hmmmm |
if the object at that location is actually a MapgenFractal, are you sure the same variables will line up in the same exact order and offsets as with MapgenV5? |
02:28 |
paramat |
ah, of course not |
02:31 |
paramat |
notice i changed the way to get the content ids, to fix an error message, if ystride can be accessed i can go back to getting those ids from mapgenv5 |
02:31 |
paramat |
sorry i have studied pointers a little but still don't understand them, need to work through some tutorials again |
02:32 |
hmmmm |
maybe it would help if you saw what was going on at a lower level of abstraction |
02:32 |
hmmmm |
have you ever stepped through code using a debugger? |
02:33 |
paramat |
nope |
02:33 |
paramat |
i have used gdb though |
02:34 |
paramat |
i have spent many hours on this cavegen problem, it's beginning to drive me nuts =) |
02:34 |
hmmmm |
ahh don't worry I'll get it then |
02:35 |
hmmmm |
this takes like 5 sec for me to do |
02:35 |
paramat |
ok remember to include the adding of a lava level constant |
02:36 |
paramat |
or you could tell me what to do |
02:37 |
paramat |
probably less work to do it than explain though |
02:39 |
paramat |
then i'll learn from it and apply this to mgflat also, to use mgv5 cavegen |
02:39 |
paramat |
thanks |
02:40 |
VanessaE |
celeron55: impressive "far mesh" image |
02:42 |
paramat |
VanessaE http://irc.minetest.ru/minetest-dev/2015-11-08#i_4445983 |
02:42 |
VanessaE |
saw that |
02:42 |
VanessaE |
I'd tend to agree though :) |
02:43 |
VanessaE |
celeron55: regarding that ^^^ storing objects in a separate database would at least mean than a /clearobjects could just delete the objects database. I'd say that would be rather fast :) |
02:44 |
hmmmm |
the primary problem is that certain databases minetest uses does not efficiently support spatially stored data |
02:44 |
VanessaE |
how does sqlite handle it? |
02:44 |
hmmmm |
sqlite can do this because it has a range query and it also has an R* tree implementation |
02:44 |
hmmmm |
sqlite uses SQL |
02:44 |
VanessaE |
because really, is there any reason to support multiple backends for the object database? |
02:44 |
hmmmm |
redis has a similar query language too |
02:45 |
hmmmm |
it's literally just because leveldb is a key-value store, there's no way to ask for all rows with X >= -400 AND X <= 400 AND Y >= ... |
02:46 |
hmmmm |
the way minetest hashes its block positions makes it so that it can't do range queries, but increases compatibility with modern "no-SQL" databases |
02:47 |
hmmmm |
in any case I'm not convinced a really fast /clearobjects is worth the massive design change this entails |
02:48 |
VanessaE |
well |
02:48 |
VanessaE |
I don't personally run /clearobjects very often |
02:48 |
|
dandelion1 left #minetest-dev |
02:48 |
|
dandelion1 joined #minetest-dev |
02:48 |
VanessaE |
but I *do* find myself using worldedit's selection-limited version fairly often (//clearobjects with two slashes) |
02:49 |
VanessaE |
so at the very least, est31's idea would be useful anyway |
02:50 |
dandelion1 |
What C++ standard are we using? |
02:51 |
VanessaE |
whatever one step short of C++11 is :) |
02:51 |
dandelion1 |
98? |
02:52 |
dandelion1 |
What's the thinking on that? |
02:52 |
est31 |
03 |
02:52 |
paramat |
ok i'm going to do stony desert another way, making it a highland biome stacked above desert, as in mgv6. it makes sense that sand would collect on lower ground and the redstone mountains will look good |
02:53 |
VanessaE |
because not all supported OS's have full C++11 support |
02:53 |
est31 |
and some core devs are even users of those OSes |
02:53 |
est31 |
(not me) |
02:53 |
paramat |
also i feel rainforest should stop at some point below the clouds, so i'll vertically limit that biome |
02:53 |
VanessaE |
paramat: well |
02:54 |
VanessaE |
belay that for a moment.. |
02:54 |
est31 |
there have been lots of discussions on the c++11 topic |
02:54 |
dandelion1 |
Sore subject? |
02:54 |
paramat |
sure input welcome |
02:54 |
est31 |
earlier this year, there has been a very strong one led by gregorycu, back then c55 decided to change to c++11 when the new debian came out |
02:54 |
VanessaE |
I live in the mountains of western North Carolina, and while it ain't a rain forest by any stretch, clouds *below* the mountain tops (themselves covered with evergreens and deciduous) are a common occurrence |
02:55 |
est31 |
then later on, somehow that descision got forgotten |
02:55 |
est31 |
but it is consensus it seems that we will require c++11 once precise (ubuntu 12.04) is out of support |
02:55 |
est31 |
which is 2017. |
02:55 |
VanessaE |
mountain tops here peak in the 1000 to 2000-ish meters range, or perhaps a bit more |
02:56 |
VanessaE |
(this area would be considered "temperate") |
02:59 |
paramat |
ok |
02:59 |
est31 |
Any progress with the ring buffer dandelion1? Any problems? |
03:00 |
VanessaE |
this is the sort of area where the elevation varies so much that in the winter (or the end thereof), one end of say, a 10 km drive will have wet ground and tolerable temperatures, while the other is snow-covered and too cold to go out without at least a light coat |
03:01 |
paramat |
certainly appletrees and pines should continue up into floatlands, but rainforest seems to need to be below the primary cloud cover to be wet enough |
03:01 |
VanessaE |
maybe the clouds themselves ought to be raised up? |
03:01 |
paramat |
anyway i'm not sure |
03:01 |
VanessaE |
or a second, high-altitude layer could be added. |
03:02 |
paramat |
i prefer extra layers of clouds, but i doubt another layer of drifting clouds would be accepted |
03:03 |
VanessaE |
you never know |
03:03 |
|
cib0 joined #minetest-dev |
03:03 |
VanessaE |
it's not like they're made up of tons of polys |
03:03 |
paramat |
well if we end up with multiple stacked realms.. |
03:03 |
paramat |
but that's the future |
03:03 |
VanessaE |
yes |
03:03 |
dandelion1 |
The buffer going to be full all of the time? |
03:04 |
VanessaE |
but then again, stacked realms wouldn't even have the clouds anyways |
03:04 |
est31 |
no |
03:04 |
VanessaE |
and if you give say a 2km separation between layers, with a second clout layer at, let's say 500m above sea level, then no problem. |
03:04 |
VanessaE |
cloud* |
03:04 |
paramat |
so currently all biomes go up to 31000, the issue is what to change with altitude, and what biomes/resources will be wanted on high floatlands |
03:05 |
VanessaE |
to me, elevation correlates with drier, colder air anyway |
03:05 |
paramat |
yeah clouds disappear at 2kn distance, so we'd never need to render 2 layers at one time |
03:05 |
est31 |
well dandelion1 once its filled it will be full, all the time, just until then, it won't be. |
03:05 |
VanessaE |
so unless a stacked realm specifies some other mapgen parameters or something, then it should eventually turn to something like tundra and then eventually glaciers |
03:05 |
dandelion1 |
It's for the graph thing of a profiler, yeah? It can be filled with nothing values |
03:06 |
paramat |
sure realistically all floatlands and mountains would be tundra, but for gameplay that would make floatlands unplayable |
03:06 |
VanessaE |
naw I don't mean like that |
03:07 |
VanessaE |
a quick google says 9.8 degrees C per 1000 meters of elevation |
03:07 |
VanessaE |
so if you used real numbers, you wouldn't get into permafrost until you're nearly at the top of the world anyway |
03:08 |
paramat |
well temp doesn't vary with altitude in MT, it's 2D noise |
03:08 |
VanessaE |
I know. |
03:08 |
VanessaE |
just something to consider for the future when these realms become possible. |
03:09 |
paramat |
cotton comes from junglegrass, so that will be wanted high up, perhaps rainforest should continue up then |
03:09 |
paramat |
i'll just do the stony desert for now |
03:10 |
paramat |
that means no cacti or desert sand high up |
03:33 |
paramat |
hmmmm how about calculating ystride from csize in the cavegen ctor? csize is a member of class Mapgen |
03:39 |
paramat |
i'll try it, i'd like to do this commit myself if possible =) |
03:44 |
paramat |
compiles |
03:49 |
paramat |
it works. thanks for the hints. it came to me while washing-up, as always |
03:50 |
paramat |
will update the pr |
03:51 |
paramat |
this->ystride = mg->csize.X; |
03:52 |
sofar |
$ bin/minetest |
03:52 |
sofar |
Segmentation fault (core dumped) |
03:52 |
sofar |
wheps? master not building atm? |
03:56 |
sofar |
Program received signal SIGSEGV, Segmentation fault. |
03:56 |
sofar |
0x00000000006625c4 in ClientActiveObject::registerType(unsigned short, ClientActiveObject* (*)(IGameDef*, ClientEnvironment*)) () |
03:56 |
sofar |
at start, no params or anything |
03:56 |
hmmmm |
sounds like you might be using irrlicht 1.8.2 |
03:56 |
est31 |
sofar, gentoo user? |
03:57 |
sofar |
est31: archlinux |
03:57 |
est31 |
if your system is up to date, you should have 1.8.3 |
03:57 |
sofar |
sucks that it segfaults, is it that hard to detect an incompatible api? |
03:58 |
est31 |
1.8.2 is broken |
03:58 |
est31 |
that bug has nothing to do with api incompatiblity |
03:58 |
est31 |
but is rather a bug in irrlicht itself |
03:58 |
est31 |
fixed in 1.8.3 |
03:59 |
* sofar |
upgrades |
04:00 |
|
Miner_48er joined #minetest-dev |
04:09 |
|
Fritigern joined #minetest-dev |
04:09 |
hmmmm |
https://github.com/kwolekr/minetest/commit/bdb7b9b2b73929d0315ef5c022ae03cedbe933de |
04:09 |
hmmmm |
PTAL |
04:09 |
paramat |
wow |
04:09 |
hmmmm |
paramat: that's doable too |
04:10 |
paramat |
acceptable? |
04:10 |
hmmmm |
sure |
04:10 |
|
est31 joined #minetest-dev |
04:10 |
paramat |
ok good pr is updated and ready to go |
04:12 |
hmmmm |
looks good |
04:12 |
est31 |
Can you change "Irrlicht 1.8.2 known to be broken with Minetest Client" to "Irrlicht 1.8.2 is known to be broken - please update ..." ? |
04:12 |
est31 |
so add "is" and remove "with minetest client"? |
04:12 |
paramat |
great |
04:12 |
est31 |
I consider a library that can'T even execute its own examples to be broken |
04:13 |
hmmmm |
ok fine |
04:14 |
hmmmm |
https://github.com/kwolekr/minetest/commit/889f893ff37021d97d1805c2e21128b5befa21f5 |
04:14 |
est31 |
the problem is just that irrlicht has so few users these days, that we are the first to have the bug. |
04:14 |
est31 |
+1 |
04:14 |
hmmmm |
PROBLEM SOLVED. |
04:15 |
hmmmm |
now we will never get another "can somebody please help minetest crashes on startup" person |
04:15 |
est31 |
well, there is suse |
04:15 |
est31 |
they keep ignoring my bug report https://bugzilla.opensuse.org/show_bug.cgi?id=951710 |
04:16 |
hmmmm |
it's only been like two weeks |
04:16 |
hmmmm |
give it some more time |
04:16 |
est31 |
perhaps I should have pointed out that I am dev for minetest and that all our users report it, its no edge case |
04:16 |
hmmmm |
agh |
04:17 |
hmmmm |
should have I added a check for gcc version too, you think? |
04:18 |
est31 |
well if you want amend the commit |
04:18 |
est31 |
now its still inside 10 minute range |
04:18 |
hmmmm |
is it broken with ANY other ccs? |
04:18 |
est31 |
but doing a commit extra for that? I dont think thats needed. |
04:19 |
est31 |
well it is broken I think if irrlicht was compiled with gcc 5 and the program with non-gcc |
04:19 |
est31 |
but im not sure |
04:19 |
hmmmm |
ugh |
04:19 |
est31 |
it really is the best option to avoid 1.8.2 entirely |
04:19 |
hmmmm |
true |
04:19 |
ShadowNinja |
est31: (Re: C++11) IIRC I think we came to a decision to release it when latest debian stable supported it, which is now the case. PilzAdam then stated the 2017 date and I supported him because someone was starting a "when to switch to C++11" debate and we'd already had that discussion. 2017 is way too late IMO, we should be on C++14 or C++17 by then. Even if your distro's default compiler is horribly, horribly old you can always add |
04:19 |
ShadowNinja |
an updated repo to your package manager or cross-compile, so even obsolete distros aren't completely dropped. |
04:20 |
hmmmm |
i had a lot of trouble compiling minetest with gcc on this machine because it expects a certain libcxxrt version |
04:21 |
est31 |
who needs type deduction |
04:22 |
est31 |
rust could have had type deduction in the function return type too but they decided against |
04:22 |
est31 |
at some point you do want to know the type |
04:22 |
est31 |
thats the whole point of strongly typed language |
04:30 |
dandelion1 |
Type deduction is really nice when you're writing templates |
04:31 |
dandelion1 |
I could also do with range-based for loops and unordered maps |
04:31 |
hmmmm |
we avoid templates unless it's really really convenient otherwise |
04:31 |
hmmmm |
just because C++ has it does not mean it's a good feature |
04:31 |
est31 |
well, its good for generic containers |
04:31 |
hmmmm |
it's *okay* for generic containers |
04:32 |
hmmmm |
you have the whole problem that it needs to be wholly defined in a header |
04:32 |
hmmmm |
forward defining is difficult too |
04:32 |
hmmmm |
very annoying slow and bloated |
04:32 |
hmmmm |
also another nitpick but it seems like a lot of IDEs screw up syntax highlighting with templated functions |
04:33 |
hmmmm |
but the main reason to hate templates is the complexity of them |
04:34 |
dandelion1 |
They are a tool and a sometimes complex tool but when used properly the make the solving a problem simpler |
04:36 |
hmmmm |
right it's just that a lot of the language fanboys seem to use them improperly |
04:36 |
hmmmm |
i don't have a problem with tasteful template usage... |
04:37 |
dandelion1 |
People get excited about their new toys |
04:37 |
hmmmm |
dandelion1: Are you gregorycu? |
04:37 |
dandelion1 |
I'm learning databases right now and every problem looks like it can be solved with a database |
04:38 |
dandelion1 |
No |
04:39 |
hmmmm |
oh. you kind of talk like him |
04:41 |
hmmmm |
paramat: PTAL https://github.com/kwolekr/minetest/commit/9f0efd53358f16108dea4c69d9d7834ec024f78e |
04:42 |
paramat |
ok will check it |
04:52 |
|
FR^3 joined #minetest-dev |
04:57 |
|
FR^3 joined #minetest-dev |
05:03 |
paramat |
hmmmm your pr seems okay AFAIK +1 |
05:05 |
est31 |
PTAL https://github.com/est31/minetest/commit/63e7137e3bb3ef2531faac995e8817b2c3fedc8c |
05:05 |
est31 |
before, we had a line with == 90 chars |
05:06 |
est31 |
& it violated the < 6 lines of indentation rule too |
05:07 |
|
FR^3 joined #minetest-dev |
05:07 |
est31 |
(on wish of ShadowNinja) |
05:17 |
|
FR^3 joined #minetest-dev |
05:18 |
ShadowNinja |
LGTM |
05:19 |
paramat |
seems okay to me |
05:21 |
ShadowNinja |
hmmmm: Why the constants added to the seeds? |
05:22 |
paramat |
i'd like to merge https://github.com/minetest/minetest/pull/3351 now can i go ahead? |
05:23 |
paramat |
now merging 3351 |
05:23 |
paramat |
oh i need to rebase nvm |
05:23 |
ShadowNinja |
If for uniquness, then just add 1, 2, 3, ... if PCG handles that well, or do something more thorough like "seed ^ 0xF0F0F0F0" if not. |
05:24 |
paramat |
anyway me next |
05:28 |
paramat |
ok now merging |
05:32 |
paramat |
done |
05:37 |
hmmmm |
ShadowNinja: ? |
05:40 |
ShadowNinja |
hmmmm: PcgRandom ps(blockseed + 53); -- Why 53? |
05:41 |
hmmmm |
because i like the number 53 |
05:45 |
dandelion1 |
est31: The ring buffer is finished |
05:46 |
paramat |
progres on cavegen means mgflat will be ready to go in soon, but hidden while we sort out mgflags |
05:48 |
est31 |
okay dandelion1. Th next step is to use it in game.cpp |
05:48 |
est31 |
or have you done that already as well? |
05:49 |
dandelion1 |
No. I was thinking code review and merge and do the use of it separately. |
05:50 |
est31 |
having it both in one is okay too |
05:50 |
est31 |
that way you know right away what it's for. |
05:51 |
est31 |
but two changes, okay for me |
05:51 |
est31 |
do you know how to make pull requests on github etc? |
05:51 |
est31 |
if yes then make one :) |
05:52 |
|
Player2 joined #minetest-dev |
05:53 |
dandelion1 |
Okay, I'll finish this up tomorrow. Goodnight |
05:54 |
|
dandelion1 left #minetest-dev |
05:54 |
est31 |
night |
05:54 |
est31 |
I'll go too |
06:22 |
|
paramat left #minetest-dev |
06:33 |
|
Calinou joined #minetest-dev |
06:42 |
|
Hunterz joined #minetest-dev |
07:00 |
|
est31 joined #minetest-dev |
08:01 |
celeron55 |
oh, about C++11 |
08:01 |
celeron55 |
the thing is, we can't start using it before deciding how exactly we do it |
08:02 |
celeron55 |
it's not a good idea to just declare that "now we use it" |
08:02 |
celeron55 |
that would be just a mess |
08:03 |
celeron55 |
we need to have a plan that tells us what features are encouraged and what are not, and what things will be allowed to be reworked for the sake of it and what things will be left as-is until they actually need changing |
08:03 |
est31 |
well, we won't need out threading lib anymore, do we |
08:04 |
est31 |
agree on the idea to first make a plan before discussing about PRs that change all for loops or make everything auto |
08:08 |
hmmmm |
i don't think i like those types of PRs anyway |
08:10 |
celeron55 |
i guess we could propose random things now and try to form a coherent wiki page at some point |
08:10 |
hmmmm |
well whatever it is, it has to actually help minetest in some way |
08:10 |
hmmmm |
really want people to get into the habit of asking themselves, "how does this PR help minetest" before they decide to make one |
08:11 |
hmmmm |
really tired of these massive and random bullshit changes |
08:12 |
celeron55 |
i guess we're going to be pretty strict about changing old code just for stylistic reasons |
08:13 |
celeron55 |
so we should mainly talk about what to allow in new code |
08:13 |
hmmmm |
well right off I can say that unordered_set and unordered_map should go in |
08:13 |
hmmmm |
i love the new emplace() for containers |
08:14 |
hmmmm |
foreach is great for iterators |
08:14 |
hmmmm |
auto is great too, but it's potentitally dangerous |
08:14 |
hmmmm |
i don't think it should be used for anything aside from iterator types |
08:14 |
hmmmm |
(that's also where the greatest benefit is imo) |
08:15 |
celeron55 |
i'll start by saying that allowing auto for iterators and allowing non-static member initializers are things that makes programming an important bit more pleasant |
08:15 |
hmmmm |
old non-C++11 threading/mutex/what have you code should not be trashed right away if at all |
08:15 |
celeron55 |
(well you started already, but i started that line like that before you said anything lol) |
08:16 |
celeron55 |
but changing those just for the sake of changing them makes no sense |
08:16 |
hmmmm |
initializer lists got better |
08:16 |
hmmmm |
like for example NoiseParams could benefit from this |
08:17 |
hmmmm |
I don't want a bunch of PRs going around changing this though unless it's unobtrusive |
08:17 |
hmmmm |
we can change the statically initialized std::maps (for example the color names to color map) |
08:19 |
celeron55 |
i would also allow unique_ptr for memory management in new code; maybe not shared_ptr due to the reasons you have said before |
08:19 |
hmmmm |
yeah, unique_ptr doesn't have all the same problems as shared pointers |
08:19 |
hmmmm |
I still think it's kind of BS though |
08:20 |
celeron55 |
well, if it makes someone more comfortable developing things, you don't have a good reason against it |
08:20 |
hmmmm |
outright ban on lambdas |
08:21 |
hmmmm |
also there's that custom literal modifier function but I forget what it's called |
08:21 |
hmmmm |
where you can do H"32" and it'd transform the string to "0x20" or something like that |
08:21 |
hmmmm |
i agree it's really cute but i think it's a little too implicit |
08:22 |
hmmmm |
people need to actually be aware that there's code running when they add that little "H" or what have you |
08:22 |
celeron55 |
i don't like those at all |
08:22 |
celeron55 |
i like lambdas though, but in current minetest i don't see many places where they would be useful so it's a good idea to make people talk before doing |
08:23 |
hmmmm |
my take on C++11 lambdas |
08:23 |
hmmmm |
it's not going to boost our productivity |
08:23 |
hmmmm |
it's going to confuse the crap out of everybody though |
08:23 |
celeron55 |
they allow making completely different kind of code than you traditionally do in C++ |
08:23 |
hmmmm |
like you said, there are not many places to actually put them to "good use" |
08:23 |
hmmmm |
right, AKA confusing the crap out of people |
08:23 |
celeron55 |
if you'd see the code of one of my projects where i use them, it's like a completely different language |
08:24 |
hmmmm |
because functional programming is a meme |
08:24 |
hmmmm |
and C++11 is just C++'s attempt to latch onto it |
08:24 |
hmmmm |
"am I cool yet guise??? look i have functional programming" |
08:25 |
hmmmm |
what do you think about nullptr? |
08:26 |
celeron55 |
well, what is there to think about it? i have found no benefit from using it but i guess it's fancy |
08:26 |
celeron55 |
i use it in my C++11 projects |
08:26 |
hmmmm |
my thoughts exactly |
08:26 |
celeron55 |
no benefit or disbenefit whatsoever |
08:26 |
celeron55 |
you could just sed -i -e's/NULL/nullptr/g' and whatever lol |
08:26 |
hmmmm |
i see in tons of other projects people running around adding nullptr everywhere |
08:26 |
hmmmm |
it's distracting |
08:26 |
hmmmm |
they think it makes the code better somehow |
08:27 |
celeron55 |
i guess we could ban if just for the lulz |
08:27 |
hmmmm |
C++ fucked up early on with some edge cases and now they're trying to fix them all... too late, everybody accepts NULL's quirks |
08:27 |
celeron55 |
ban it* |
08:27 |
hmmmm |
I think it should be banned for the sake of consistency with everything else |
08:28 |
hmmmm |
I mean all of a sudden we're going to have old code with NULL and new code with nullptr, and new code from old people with NULL, and some new people who think nullptr is the greatest thing since sliced bread who go around changing NULLs to nullptr |
08:28 |
hmmmm |
or modifying old code and using nullptr |
08:28 |
hmmmm |
basically a mess |
08:29 |
hmmmm |
i can't think of any other new C++11 features off the top of my head |
08:30 |
celeron55 |
i'm sure the reworkninjas will just keep their mouths shut until they have made a PR that uses some loopholes in our rules |
08:30 |
hmmmm |
just one more thing about smart pointers |
08:30 |
hmmmm |
one thing that I deeply hate about it |
08:30 |
hmmmm |
the syntax |
08:31 |
hmmmm |
why is it a template for some certain type? why isn't it like a new @ or something? |
08:31 |
celeron55 |
i have STL's bloated identifiers overally and typedef things in my projects started after minetest to ss_, sv_, sm_, sp_, up_ and stuff |
08:31 |
celeron55 |
being std::string, std::vector, std::map, std::sharerd_ptr, std::unique_ptr |
08:31 |
celeron55 |
have? *hate |
08:32 |
celeron55 |
i should wake up before trying to type on IRC |
08:32 |
hmmmm |
the length of std::unique_ptr< ... > is enough to make me want to never use it |
08:32 |
hmmmm |
I know it's making my code "better" in some vague manner |
08:32 |
celeron55 |
up_<Thing> is awesome |
08:32 |
hmmmm |
Thing @ would be the best |
08:33 |
celeron55 |
i would really like if i could get these shorthands into minetest but i haven't bothered trying because i guess people that like typing twice the amount of characters all the time would object |
08:33 |
hmmmm |
that's because you're you, doing it for your own personal project, and you're the only one working on it |
08:34 |
celeron55 |
how does that explain anything |
08:34 |
hmmmm |
don't increase the mental load for 100+ contributors... |
08:34 |
hmmmm |
they don't know your bits of shorthand |
08:34 |
celeron55 |
i'm sure people would get used to those very fast because they are so common; and rare ones don't need shorthands because they are rare |
08:35 |
celeron55 |
we have all these u16's and stuff too; they are not that much different |
08:35 |
hmmmm |
hrmm |
08:36 |
hmmmm |
is $ a valid identifier character in C++03? |
08:36 |
celeron55 |
it... is |
08:36 |
hmmmm |
hm it's not |
08:36 |
hmmmm |
that's just a GCC-ism |
08:36 |
hmmmm |
also other old compilers allow it |
08:36 |
celeron55 |
oh, so it's valid in g++, not c++03 8) |
08:36 |
hmmmm |
that would've been nice |
08:37 |
hmmmm |
I can live with $V<Type here> |
08:37 |
hmmmm |
that looks really nice in fact and I can hold onto the shift bar for three characters |
08:37 |
celeron55 |
$V is harder to type than something like up_ |
08:37 |
celeron55 |
$ comes from altgr+4 in finnish and german keyboards |
08:37 |
hmmmm |
I'm trying to type it right now and it seems like the opposite for me |
08:38 |
hmmmm |
oh okay |
08:38 |
celeron55 |
and < doesn't need shift |
08:38 |
hmmmm |
well |
08:39 |
hmmmm |
I guess it would make sense to optimize for german keyboards since for whatever strange reason a majority of minetest devs seem to be german... |
08:39 |
hmmmm |
i'd rather try to find something universal though |
08:40 |
celeron55 |
$v<> would be kind of fine because of not having to switch between pressing altgr and pressing shift |
08:40 |
celeron55 |
actually really fine |
08:40 |
hmmmm |
harder for me though |
08:40 |
hmmmm |
because I have an american keyboard |
08:40 |
hmmmm |
well what a moot point |
08:40 |
|
nrzkt joined #minetest-dev |
08:40 |
hmmmm |
it's not like we can actually use $ for real |
08:40 |
celeron55 |
why not just V<> though? |
08:41 |
celeron55 |
it's not like anyone uses a thing like V for anything anyway |
08:41 |
hmmmm |
macro parameters, template parameters, |
08:41 |
celeron55 |
oh, template parameters i guess yeah |
08:41 |
hmmmm |
in any case I'm not really sure if inserting our own shorthand is that great of an idea into an already established project |
08:42 |
hmmmm |
it's good to be as non-weird as possible |
08:42 |
|
jin_xi joined #minetest-dev |
08:42 |
hmmmm |
a lot of the style decisions have been made on the basis of it being a quasi-standard |
08:42 |
celeron55 |
well, a C++11 transition is the absolute best time for it; no other such chance comes ever again |
08:42 |
hmmmm |
really? |
08:43 |
celeron55 |
well, maybe in 10 years but anyway |
08:43 |
hmmmm |
I don't think a C++11 transition should mean anything except switching a few compiler flags |
08:43 |
hmmmm |
and if people want to start using their C++11 features... they can |
08:43 |
celeron55 |
well the transition means that we have to write stuff down and people have to read the stuff |
08:43 |
celeron55 |
so the stuff could mention something like this if we want to |
08:43 |
hmmmm |
but god no, no big effort to ctrl+H everything just for the sake of replacing it |
08:45 |
hmmmm |
alright how about Vec |
08:45 |
hmmmm |
std::vector, 11 characters, to 3 |
08:45 |
celeron55 |
that would be fine |
08:46 |
hmmmm |
this needs to be a gradual change though |
08:46 |
hmmmm |
add the typedef to... util/misc.h (we'll rename basic_macros I guess) and just *start* using it |
08:48 |
hmmmm |
those big omni-commits really mess with git blame |
08:51 |
celeron55 |
hmm... i think i'm not ready for doing that now though; i'll try to investigate at some point what the usage of those identifiers is and maybe even approximate how many hard-to-read newlines they would have removed or something |
08:51 |
hmmmm |
this is the fault of the language |
08:52 |
hmmmm |
it can be fixed with a single piece of syntax like ^ or % or @ or $ |
08:52 |
celeron55 |
there's a benefit but it really may not be high enough; i'm not going to mess things up just for the sake of it |
08:52 |
hmmmm |
revision after revision they just keep adding things in the form of a template |
08:54 |
hmmmm |
anyway |
08:54 |
hmmmm |
I don't necessarily dislike long type names since they typically give some kind of mental note that the type is bigger than some POD thing |
08:57 |
celeron55 |
std:: contains many POD types though |
08:57 |
celeron55 |
it's just a stylistic choice for us to not use them from there |
08:57 |
hmmmm |
those should be abbreviated for sure |
08:57 |
hmmmm |
but "std::big_thing_here" makes me think twice before typing that big thing a lot |
08:57 |
hmmmm |
and unconsciously i know that big thing here is bigger than int or u64 or something |
08:58 |
hmmmm |
subconsciously i mean |
09:26 |
|
proller joined #minetest-dev |
11:00 |
|
proller joined #minetest-dev |
11:36 |
|
proller joined #minetest-dev |
11:46 |
|
proller joined #minetest-dev |
11:49 |
celeron55 |
wtf is wrong with logging |
11:49 |
celeron55 |
i'm printing truckloads of stuff into infostream and it just isn't showing up anywhere |
11:49 |
celeron55 |
if i change it to std::cout, it shows up |
11:50 |
celeron55 |
the weirdest thing is that some of it shows up |
11:50 |
celeron55 |
but only like two lines out of a thousand lines |
12:27 |
|
troller joined #minetest-dev |
12:36 |
|
gregorycu joined #minetest-dev |
12:37 |
gregorycu |
Someone should tell hmmm that I am not everyone |
12:39 |
|
Amaz joined #minetest-dev |
12:57 |
|
leat joined #minetest-dev |
13:00 |
|
proller joined #minetest-dev |
13:00 |
|
liq_over_ignore joined #minetest-dev |
13:00 |
nrzkt |
!tell hmmmm: gregorycu said he isn't everyone |
13:00 |
ShadowBot |
nrzkt: O.K. |
13:00 |
nrzkt |
gregorycu, done :D |
13:00 |
gregorycu |
Thank you shadowbot |
13:00 |
gregorycu |
And nrzkt |
13:13 |
celeron55 |
http://i.imgur.com/axtJ31S.jpg |
13:13 |
celeron55 |
holy fucking shit |
13:14 |
celeron55 |
at this point i am completely terrified of myself, my computer and this weird piece of software |
13:16 |
celeron55 |
this has some real character to itself too |
13:16 |
nrzkt |
celeron55, seems better |
13:16 |
celeron55 |
it's not just "a LOD system" |
13:24 |
celeron55 |
that screenshot is quite magical to anyone that has used watershed, actually |
13:24 |
celeron55 |
nobody has ever had such a view of it while in theory that's what it has been generating all the time |
13:28 |
celeron55 |
large plain areas are actually pretty fun with this because you can always easily find a forest if you want to; just look around and walk straight into one |
13:32 |
|
zat joined #minetest-dev |
13:38 |
celeron55 |
oh, looks like a thing isn't even working correctly in that screenshot |
13:38 |
celeron55 |
well whatever 8) |
13:44 |
|
nrzkt2 joined #minetest-dev |
13:46 |
|
iqualfragile joined #minetest-dev |
14:04 |
|
cib0 joined #minetest-dev |
14:10 |
|
proller joined #minetest-dev |
14:24 |
|
iqualfragile joined #minetest-dev |
14:37 |
|
iqualfragile joined #minetest-dev |
14:41 |
|
Darcidride joined #minetest-dev |
14:46 |
|
proller joined #minetest-dev |
14:48 |
|
iqualfragile joined #minetest-dev |
14:50 |
RealBadAngel |
celeron55, thats lookin real good. but it should be blurred somehow |
14:51 |
RealBadAngel |
i mean just the farmesh |
14:52 |
celeron55 |
i'm not interested in such things |
14:52 |
RealBadAngel |
thats eye candy im talkin about, so i do undersrtand you |
14:53 |
celeron55 |
to me eye candy is clear pictures |
14:53 |
RealBadAngel |
youre not 90% of the population ;) |
14:54 |
celeron55 |
i don't need anyone to simulate short sightedness for me in my games |
14:54 |
RealBadAngel |
have you saw my gimp blur with your farmesh mountain? |
14:55 |
RealBadAngel |
that made farmesh lose its line-y style |
14:55 |
celeron55 |
yes; it does not look any better |
14:55 |
celeron55 |
why on earth are you even here if you don't like lines and cubes |
14:55 |
celeron55 |
go do something else |
14:56 |
RealBadAngel |
i do love them, but a bit softer :P |
14:57 |
RealBadAngel |
have u thought u got rid of me already? |
14:57 |
RealBadAngel |
sorry, winnetou, mt is my hobby :P |
14:59 |
RealBadAngel |
celeron55, and i should say im sorry to you and hmmm at this point. i had problems with my health, high pressure |
15:00 |
RealBadAngel |
im treating it now |
15:01 |
RealBadAngel |
so, again sorry for my attitude |
15:02 |
RealBadAngel |
that wasnt me |
15:03 |
celeron55 |
that we will see |
15:03 |
RealBadAngel |
ofc |
15:03 |
RealBadAngel |
but please do accept that im sorry |
15:04 |
RealBadAngel |
i took long break for everybody to calm down |
15:08 |
|
iqualfragile joined #minetest-dev |
15:12 |
|
Hunterz joined #minetest-dev |
15:13 |
RealBadAngel |
i dont want my code be called "half-assed", im still here and want to work on it |
15:33 |
|
hmmmm joined #minetest-dev |
15:35 |
|
iqualfragile joined #minetest-dev |
15:39 |
VanessaE |
[11-09 08:00] <nrzkt> !tell hmmmm: gregorycu said he isn't everyone |
15:50 |
VanessaE |
um, wut? http://pastebin.ubuntu.com/13209282/ (server is at commit 1384108f) |
16:02 |
celeron55 |
so... i think this may be testable by someone else now |
16:02 |
celeron55 |
https://github.com/celeron55/minetest/commits/far_map_wip |
16:02 |
celeron55 |
there it is |
16:03 |
celeron55 |
it's fully protocol compatible so it can be thrown anywhere anyone likes |
16:04 |
celeron55 |
but it might bloat up a world pretty badly; and running a lua map generator with is completely insane |
16:04 |
* VanessaE |
clones... |
16:05 |
|
cib0 joined #minetest-dev |
16:06 |
celeron55 |
really any map generator other than paramat's built-in watershed (that is included in that barnch) is mostly nonsense |
16:06 |
celeron55 |
branch* |
16:11 |
VanessaE |
"creating farmap atlas" hm |
16:12 |
VanessaE |
very interesting effect. |
16:13 |
VanessaE |
it's a little fiddly in a couple places but it DOES give the impression of more, distant land. |
16:13 |
|
jin_xi joined #minetest-dev |
16:14 |
VanessaE |
suggestion: ignore plantlike objects when generating the far meshes |
16:15 |
|
Krock joined #minetest-dev |
16:15 |
VanessaE |
also, sink the farmesh into the fog a bit more |
16:19 |
celeron55 |
press ctrl+- to make it not try to render it so far |
16:20 |
VanessaE |
ah, that helps a bit yet |
16:20 |
VanessaE |
yes* |
16:20 |
celeron55 |
it defaults to 500 and it will not adjust the fog to differ from that in any circumstance |
16:20 |
celeron55 |
and this is intentional |
16:21 |
celeron55 |
maybe the fog should get thicker earlier but i didn't bother modifying the shader to make that effect |
16:22 |
VanessaE |
300 is a good setting for VE-Survival (well, local copy thereof) |
16:24 |
celeron55 |
take a screenshot or something |
16:24 |
celeron55 |
i don't really have a library of worlds to try it in |
16:25 |
VanessaE |
http://digitalaudioconcepts.com/vanessa/hobbies/minetest/screenshots/Screenshot_2015-11-09_11-25-26.png |
16:26 |
celeron55 |
i bet that it's not that impressive in existing worlds though; people will start building stuff very differently once they have this in their hands |
16:26 |
celeron55 |
how about in some open area? |
16:26 |
VanessaE |
sec |
16:28 |
celeron55 |
also, everybody should note that my to-do list contains about 20 entries; don't expect it to work or be what i want it to be |
16:28 |
VanessaE |
no worries. |
16:29 |
VanessaE |
http://digitalaudioconcepts.com/vanessa/hobbies/minetest/screenshots/random/Screenshot_2015-11-09_11-28-37.png |
16:29 |
Krock |
404 |
16:29 |
celeron55 |
200 |
16:30 |
Krock |
stil 404 |
16:30 |
Krock |
VanessaE, could it be that I'm being pranked? Your homepage root shows up a Nginx welcome page here |
16:30 |
VanessaE |
the "stripey" effect can be mitigated somewhat if you always choose the "base" texture, e.g. the dirt layer for dirt with grass. |
16:31 |
VanessaE |
Krock: the homepage root shows my usual landing page here. |
16:31 |
sfan5 |
blame your ISP |
16:31 |
VanessaE |
"Welcome to Abe and Vanessa's website. Please choose a destination:" plus Abe's and my pictures. |
16:32 |
Krock |
*does a IP lookup* |
16:32 |
celeron55 |
VanessaE: the stripey effect is very intentional; i could make an option out of it though |
16:32 |
celeron55 |
VanessaE: what does that blue stuff look like up close? |
16:32 |
VanessaE |
Krock: should resolve to 198.27.68.162 |
16:32 |
celeron55 |
i need some reference pictures to improve these approximations |
16:32 |
VanessaE |
checking.. |
16:32 |
hmmmm |
holy shit @ the farmap branch |
16:33 |
hmmmm |
how is it even possible to generate so many commits |
16:33 |
Krock |
Got answer from [2607:5300:60:1da2::1] ... must blame my ISP then |
16:33 |
celeron55 |
VanessaE: also what on earth is that yellow block in the sky? |
16:33 |
hmmmm |
i wonder if celeron has git commit -a -m ... on a "save" button in his code editor |
16:33 |
sfan5 |
Krock: what you described happens when your browser doesn't send a Host: header |
16:33 |
hmmmm |
lol |
16:33 |
VanessaE |
celeron55: when I fly closer to those blue blocks, they turn into this: http://digitalaudioconcepts.com/vanessa/hobbies/minetest/screenshots/random/Screenshot_2015-11-09_11-33-19.png |
16:34 |
VanessaE |
yellow block in the sky.. you mean the yellow/black striped thing? |
16:34 |
celeron55 |
yes |
16:34 |
VanessaE |
technic HV power cable |
16:34 |
jin_xi |
nice to see the work on far terrain preview. currently huge generated structures are wasted because they never get fully loaded anyway |
16:35 |
VanessaE |
goes to the nuke reactor back in the spawn area some 500m away or so |
16:35 |
celeron55 |
is it just one node wide and high? |
16:37 |
celeron55 |
is this world downloadable from somewhere, this seems like a suitably impossible exercise for this system |
16:37 |
VanessaE |
it's a nodebox, 1x0.25x0.25 I think |
16:37 |
VanessaE |
oh sure, but it's a HUGE download |
16:37 |
VanessaE |
http://digitalaudioconcepts.com/vanessa/hobbies/minetest/worlds/Survival_World.tar.bz2 |
16:37 |
VanessaE |
about 10 GB |
16:37 |
celeron55 |
umm... do we have a tool for cropping worlds |
16:37 |
VanessaE |
nope |
16:38 |
VanessaE |
closest would be worldedit, but it can only save small pieces (100 cube maybe) before it becomes unmanageable. |
16:38 |
VanessaE |
if you want, go to digitalaudioconcepts.com port 30001 |
16:38 |
VanessaE |
turn on local map saving |
16:40 |
Krock |
sfan5, are you sure? It sends the host header when I visit https://www.whatismybrowser.com |
16:41 |
sfan5 |
¯\_(ツ)_/¯ |
16:41 |
sfan5 |
no idea whether thats actually the problem |
16:41 |
|
proller joined #minetest-dev |
16:41 |
sfan5 |
it's just something that will cause the same result |
16:41 |
VanessaE |
celeron55: also, I take no responsibility if your CPU melts down :D |
16:41 |
Krock |
Okay, thanks for the help anyway |
16:42 |
Krock |
VanessaE, don't worry. He should use water to cool |
16:42 |
VanessaE |
Krock: I only say that because that server has a history of stressing peoples' computers :D |
16:43 |
Krock |
Lol okay :) |
16:45 |
|
proller joined #minetest-dev |
16:46 |
VanessaE |
well that's interesting. I just noticed that, mostly, the shapes of stuff in the farmesh stay put, but the *textures* change as I approach. this: http://digitalaudioconcepts.com/vanessa/hobbies/minetest/screenshots/random/Screenshot_2015-11-09_11-45-38.png versus this, when I fly jut a tad closer: http://digitalaudioconcepts.com/vanessa/hobbies/minetest/screenshots/random/Screenshot_2015-11-09_11-45-43.png |
16:46 |
VanessaE |
just* |
16:48 |
|
kilbith joined #minetest-dev |
16:52 |
VanessaE |
<celeron55> god damn it my computer is on fire now. how did this shit happen? |
16:52 |
VanessaE |
:) |
16:54 |
|
Hunterz joined #minetest-dev |
16:56 |
celeron55 |
okay that's some kind of a mipmapping error |
16:58 |
* Krock |
wonders why celeron55 is the only person I know who uses the 8) smiley |
16:59 |
celeron55 |
maybe your GPU doesn't like the 4096x4096 texture atlases this thing uses... |
16:59 |
VanessaE |
celeron55: possible; this is an R9 280x running the open source gallium driver |
16:59 |
hmmmm |
doubleyou tee eff |
16:59 |
hmmmm |
i'm not even sure what that's supposed to look like 8) |
17:00 |
hmmmm |
anyway I thought node tile textures were supposed to be downscaled |
17:04 |
VanessaE |
it looks like a lot of older hardware can only do 2048x2048 or smaller, though |
17:05 |
|
troller joined #minetest-dev |
17:08 |
celeron55 |
i hope i can get that information from irrlicht somehow |
17:18 |
VanessaE |
celeron55: GL_MAX_TEXTURE_SIZE |
17:18 |
VanessaE |
if you can read that var from wherever, there's your limit |
17:18 |
VanessaE |
http://stackoverflow.com/questions/18674909/what-is-the-maximum-dimension-a-texture-atlas-should-have |
17:19 |
|
kilbith left #minetest-dev |
17:19 |
|
troller joined #minetest-dev |
17:20 |
VanessaE |
looks like if you split the texture atlas into multiple 2k x 2k chunks, it'll works pretty much everywhere |
17:22 |
celeron55 |
but that will unnecessarily degrade performance where larger is supported |
17:22 |
VanessaE |
true |
17:22 |
celeron55 |
a lot |
17:22 |
celeron55 |
rendering the far map on a high-end GPU is currently practically a completely free operation |
17:22 |
celeron55 |
if you start doing stuff like that, soon it won't be |
17:24 |
RealBadAngel |
with texture atlas you wont be able to get all the texture rotations |
17:24 |
celeron55 |
ehm... or "high-end"; as if anything i have were high end |
17:24 |
VanessaE |
RealBadAngel: in this case, it doesn't matter |
17:24 |
celeron55 |
i just have some recent laptop GPUs |
17:25 |
RealBadAngel |
either atlas or again copy rotated ones |
17:25 |
RealBadAngel |
and "modifiers" |
17:25 |
celeron55 |
thanks for reminding me why i hate to discuss anything with RBA |
17:25 |
RealBadAngel |
lol |
17:26 |
RealBadAngel |
i just highlighrted why atlas was off |
17:26 |
celeron55 |
completely irrelevant complaints |
17:26 |
RealBadAngel |
and i did that |
17:26 |
RealBadAngel |
you want it back |
17:26 |
celeron55 |
this will be three strikes and then kickban |
17:26 |
RealBadAngel |
really? |
17:27 |
celeron55 |
yes |
17:27 |
RealBadAngel |
i dont care, bye |
17:27 |
celeron55 |
some people are incompatible; we are |
17:27 |
celeron55 |
i am learning to accept the fact |
17:29 |
* RealBadAngel |
is waving from far away :P |
17:30 |
VanessaE |
celeron55: http://sourceforge.net/p/irrlicht/patches/152/ |
17:30 |
VanessaE |
looks like it IS possible to query irrlicht for max texture size. |
17:30 |
celeron55 |
thought so; that's good |
17:31 |
crazyR_ |
dont most games use an atlas of some sort anyway? |
17:32 |
celeron55 |
yes; minetest used to use but then someone broke it and everyone were too lazy to fix it |
17:32 |
celeron55 |
now i am using one for this FarMap thing because... well, everything should use one |
17:32 |
crazyR_ |
lol, Well i gues someone need to fix it :/ |
17:32 |
celeron55 |
it was fully removed |
17:32 |
crazyR_ |
*hides* |
17:33 |
VanessaE |
crazyR_: you just volunteered. :D |
17:33 |
crazyR_ |
haha i wish im not that technically advanced or i really would have volunteered |
17:33 |
crazyR_ |
*and then i would probably have regreted it afterward |
17:34 |
crazyR_ |
*correction: not my area of expertise :D sounds better |
17:38 |
|
younishd joined #minetest-dev |
17:41 |
RealBadAngel |
celeron55, with atlases u cant do reverse mapping of the texture, flipping it |
17:41 |
RealBadAngel |
thats why we dropped it |
17:41 |
hmmmm |
this new version of the atlas you have; I take it that it's been generalized this time around for farmap usage and regular node tiling usage? |
17:41 |
hmmmm |
RealBadAngel: really? because I thought the reason why it got dropped was because it wasn't useful and it caused bugs |
17:42 |
RealBadAngel |
no |
17:42 |
RealBadAngel |
that was the main reason |
17:42 |
hmmmm |
that's sort of a dumb reason |
17:42 |
RealBadAngel |
not really |
17:42 |
hmmmm |
at least, in theory, a texture atlas is a huge speedup |
17:42 |
hmmmm |
not having to switch textures while drawing |
17:42 |
RealBadAngel |
and memory eater |
17:43 |
hmmmm |
that's why it was optional |
17:43 |
hmmmm |
enable_texture_atlas |
17:43 |
celeron55 |
these logging bugs really bother me right now |
17:43 |
celeron55 |
i can't use infostream at all |
17:43 |
celeron55 |
i have to use std::cout because otherwise i don't see the stuff i output |
17:43 |
RealBadAngel |
that was not a big problem for 16px |
17:43 |
celeron55 |
how can *this* be broken? |
17:44 |
RealBadAngel |
but higher resolution tps? |
17:44 |
hmmmm |
maybe you didn't set your logging level to "info"? |
17:44 |
celeron55 |
i use --info |
17:44 |
hmmmm |
yeah dunno. |
17:44 |
celeron55 |
and expect to see everything on the terminal where i run the thing |
17:44 |
hmmmm |
does it work if you set it to info in the config file? |
17:44 |
celeron55 |
it isn't happening; i only see some info lines |
17:44 |
hmmmm |
interesting |
17:45 |
hmmmm |
ShadowNinja: it sounds like there's a big bug in logging |
17:45 |
hmmmm |
hey, at least it's been cleaned up. |
17:45 |
hmmmm |
that's what's truly important :-) |
17:46 |
RealBadAngel |
celeron55, we both know we are incompatible, but im still here and will do my job. chill out. |
17:46 |
RealBadAngel |
as i will |
17:46 |
hmmmm |
RealBadAngel you spend 70% of your time on this channel talking about how people don't like you instead of talking about code |
17:46 |
hmmmm |
seriously wtf |
17:47 |
celeron55 |
that was the second strike, by the way |
17:47 |
RealBadAngel |
hmmm, youre right, i should shut up and post links to code |
17:47 |
celeron55 |
i am *not* joking |
17:47 |
VanessaE |
RealBadAngel: the reason texture atlases were originally dropped was because there was no way for them to expand to handle large textures or large numbers of tiles. e.g. HDX32 on default game was enough to break it. |
17:48 |
celeron55 |
i will be the RBA kick machine if that's where this is going |
17:48 |
VanessaE |
and no one wanted to fix it. |
17:48 |
VanessaE |
when it DID work, it worked perfectly fine as far as I could tell |
17:49 |
RealBadAngel |
VanessaE, reason for atlases to drop was they were not working with 6d facedir |
17:49 |
VanessaE |
no. |
17:49 |
celeron55 |
i don't have an opinion on whether RBA can contribute, but i suggest not talking here |
17:49 |
VanessaE |
they were dropped long before that. |
17:49 |
RealBadAngel |
a bit after 6d facedir |
17:50 |
celeron55 |
IIRC they were dropped after RBA failed to implement 6d facedir with them |
17:50 |
RealBadAngel |
atlases was a blocker for 6d facedir code |
17:50 |
celeron55 |
and frankly, it should have been possible |
17:50 |
VanessaE |
the code might have been removed, but the use of them was dropped ages before. |
17:50 |
celeron55 |
there's nothing that would have made it impossible |
17:50 |
RealBadAngel |
celeron55, rolling over the texture, that was a blocker |
17:51 |
VanessaE |
anyway c55 is right. less talk, more code :) |
17:51 |
celeron55 |
i don't know what that even means |
17:51 |
RealBadAngel |
if we have single one, we can reverse it |
17:51 |
celeron55 |
now stop it |
17:51 |
|
proller joined #minetest-dev |
17:51 |
RealBadAngel |
in atlas we were at another texture simply |
17:51 |
celeron55 |
ok; i have to kick you out |
17:52 |
|
RealBadAngel was kicked by celeron55: RealBadAngel |
17:52 |
celeron55 |
that's a knockout |
17:52 |
VanessaE |
celeron55: the texture-switching glitch actually looks more like some kind of off-by-1 error; I can't imagine 4096^2 being too big for my GPU (though it's surely possible) |
17:52 |
VanessaE |
fwiw, it also switches if I just pan sideways a little, if I'm in *just* the right spot |
17:53 |
VanessaE |
s/pan/yaw/ |
17:53 |
celeron55 |
that's very characteristic of mipmaps |
17:53 |
VanessaE |
hm, ok |
18:00 |
|
nrzkt joined #minetest-dev |
18:02 |
|
DFeniks joined #minetest-dev |
18:05 |
|
cib0 joined #minetest-dev |
18:08 |
|
nrzkt joined #minetest-dev |
18:14 |
|
RealBadAngel joined #minetest-dev |
18:43 |
celeron55 |
VanessaE: grep for 4096 in util/atlas.cpp and see if changing it fixes the problem |
18:43 |
celeron55 |
wait |
18:43 |
celeron55 |
there's no such number in there |
18:44 |
celeron55 |
oh it's 2048 |
18:44 |
VanessaE |
well that ain't it, then :) |
18:44 |
celeron55 |
well... you could still try |
18:44 |
VanessaE |
sure. |
18:44 |
celeron55 |
it's not like i know what the problem is anyway |
18:47 |
VanessaE |
trying 1024.. |
18:51 |
VanessaE |
nope. |
18:51 |
VanessaE |
still the same textures-swapping-weirdly glitch |
19:08 |
* VanessaE |
throws HDX256 at it, just for shits and grins :D |
19:11 |
VanessaE |
well it works, and the glitch isn't any worse :) |
19:11 |
VanessaE |
so that's a good sign |
19:13 |
|
zupoman joined #minetest-dev |
19:13 |
|
zupoman joined #minetest-dev |
19:15 |
celeron55 |
yes the farmesh atlas is independent of original resolution; it always generates the atlas from low-resolution versions of textures it's always enough at that range |
19:15 |
celeron55 |
+because |
19:15 |
VanessaE |
right |
19:17 |
VanessaE |
anyways, at far_map.cpp around like 547, I would recommend you filter-out plantlike, torchlike, and probably also signlike and anything else that's "thin" |
19:18 |
VanessaE |
line* |
19:18 |
celeron55 |
i'll get to it once i manage to get this otherwise working |
19:18 |
VanessaE |
ok. |
19:18 |
celeron55 |
this exploded at me when i tried to make an option so that i can disable the mapgen triggering from farmap requests |
19:18 |
VanessaE |
damn it I wish I could read this better. |
19:19 |
celeron55 |
and now i'm trying to get logging even remotely working so that i could see what is wrong |
19:19 |
celeron55 |
because LOGGING IS BORKED |
19:19 |
celeron55 |
this is stupid |
19:21 |
|
rubenwardy joined #minetest-dev |
19:24 |
kahrl_ |
I think dstream still works |
19:24 |
kahrl_ |
I always use dstream so I never noticed that infostream and friends are now FUBAR |
19:26 |
RealBadAngel |
im using dstream too for debug and output all the time |
19:28 |
|
RealBadAngel left #minetest-dev |
19:33 |
celeron55 |
ShadowNinja: holy shit wake up already |
19:34 |
celeron55 |
ShadowNinja: my respect towards you is declining so fast after this particular utter fiasco that i don't even know what to say |
19:35 |
|
Amaz joined #minetest-dev |
19:38 |
|
kilbith joined #minetest-dev |
19:38 |
hmmmm |
celeron is management material |
19:39 |
hmmmm |
errr oops.... the correct quote is "celeron has upper management written all over him" |
19:41 |
celeron55 |
what the fuck is the point of this rework even |
19:41 |
celeron55 |
log.h and log.cpp is much larger for no good reason |
19:41 |
celeron55 |
and there are more random classes |
19:41 |
celeron55 |
and everything depends on miscellaneous things from the new versions for no reason |
19:41 |
hmmmm |
he removed the "ugly C non-OOP interface" |
19:42 |
celeron55 |
this is it; ShadowNinja is not allowed to commit anything anymore unless i review it |
19:42 |
celeron55 |
this is utter junk |
19:43 |
rubenwardy |
Who approved? |
19:43 |
hmmmm |
here's the PR discussion: https://github.com/minetest/minetest/pull/2628 |
19:43 |
rubenwardy |
hmmmm did |
19:44 |
rubenwardy |
as far as I can see |
19:44 |
hmmmm |
no definitely not |
19:44 |
hmmmm |
PRs require more reviewers the larger they are |
19:44 |
hmmmm |
there are others here |
19:45 |
rubenwardy |
Must have been in IRC :P |
19:45 |
hmmmm |
there was a lot of talk about this |
19:45 |
hmmmm |
the main win was the addition of warningstream |
19:46 |
celeron55 |
warningstream is a loss in my opinion; i intentionally left it out |
19:46 |
celeron55 |
but it's a small problem compared to everything else that PR contains |
19:46 |
hmmmm |
the rest... I was really neutral about but if a core developer wants to do that stuff who am I to say no exactly? |
19:46 |
hmmmm |
I'm not the minetest boss or something |
19:50 |
hmmmm |
in any case I feel like you would be way more productive if you channel the energy to fixing infostream instead of bitching |
19:51 |
celeron55 |
i'm not going to fix that crap; i'm porting my old logging back |
19:51 |
celeron55 |
at least i know how it works |
19:54 |
hmmmm |
in any case I hope you now realize why I've become so anal about commit quality and usefulness |
19:55 |
hmmmm |
here, it's not like i left my guard down or anything, i believe i did my due dilligence as a reviewer/approver |
20:01 |
|
Robert_Zenz joined #minetest-dev |
20:02 |
|
JohnnyComeL8ly joined #minetest-dev |
20:09 |
|
cib0 joined #minetest-dev |
20:13 |
|
proller joined #minetest-dev |
20:16 |
|
VanessaE joined #minetest-dev |
20:17 |
|
RealBadAngel joined #minetest-dev |
20:20 |
VanessaE |
celeron55: btw, once you sort out that glitch, might I recommend binding the farmesh to 'r' so that one can cycle between normal, normal w/farmesh, and all-range |
20:23 |
|
Darcidride joined #minetest-dev |
20:25 |
|
kilbith left #minetest-dev |
20:31 |
crazyR_ |
^ +1 |
20:31 |
RealBadAngel |
celeron55, https://github.com/celeron55/minetest/commit/059a8bb888b4096adeb21d504bcd303b96105e35#diff-f9ac0e5fb8fc639e1307b9e92244357bR649 |
20:31 |
RealBadAngel |
typo here? |
20:39 |
celeron55 |
VanessaE: i like it that i can toggle farmap and all-range separately |
20:40 |
celeron55 |
but dunno |
20:40 |
celeron55 |
it's bindable to a separate key in case you didn't notice |
20:55 |
|
proller joined #minetest-dev |
20:58 |
celeron55 |
this logging thing is just pure what the fuck |
20:58 |
celeron55 |
i replaced the class thing with the old implementation, and the problem still exists |
20:58 |
nrzkt |
celeron55, did you look at the ncurses implementation ? i think your problem comes from here |
21:01 |
celeron55 |
my branch does not contain it |
21:11 |
celeron55 |
if i step with a debugger to the place where something should be printed to infostream and step through it, it generally seems to work |
21:11 |
celeron55 |
but when i let it run freely, it never works after some time from startup |
21:13 |
celeron55 |
this damned thing makes no sense at all; i even did a complete rebuild |
21:14 |
celeron55 |
except that in one place where i tried, gdb wasn't even able to break at the infostream statement and acted like it didn't exist |
21:18 |
hmmmm |
i hope you're compiling with -O0 |
21:19 |
celeron55 |
i guess -O1, so that can explain it not finding it; however everything is still weird |
21:20 |
celeron55 |
...i just checked my GCC version; it's 5.1.1 |
21:20 |
celeron55 |
is GCC 5 even stable yet |
21:21 |
celeron55 |
i don't trust this |
21:24 |
sofar |
it is |
21:24 |
sofar |
(and I wouldn't either) |
21:26 |
celeron55 |
with -O0 gdb acts exactly like with -O1, it seems |
21:30 |
|
liq_over_ignore joined #minetest-dev |
21:33 |
rubenwardy |
celeron55, segfault. Will rebuild in debug to see if I can get better info. |
21:33 |
rubenwardy |
https://gist.github.com/rubenwardy/66875c356f0f2be9f252 |
21:34 |
hmmmm |
heh, not very helpful |
21:34 |
rubenwardy |
Yeah |
21:35 |
hmmmm |
reminds me of those new Windows 8 "Something happened" bluescreens |
21:35 |
rubenwardy |
bt full in release build is useless |
21:36 |
celeron55 |
now i recompiled with clang 3.7.0, and get pretty much the exact same behavior |
21:38 |
celeron55 |
there is no conceivable way this could happen |
21:38 |
celeron55 |
i need to throw my computer in the trash and become a farmerr |
21:39 |
celeron55 |
-r |
21:39 |
celeron55 |
logic has ended |
21:41 |
celeron55 |
i guess clang++ is using the same libstdc++ though |
21:41 |
celeron55 |
it could be shit |
21:48 |
rubenwardy |
I can't see any difference in terms of view range with far map on and off |
21:48 |
rubenwardy |
or FPS |
21:49 |
rubenwardy |
wait |
21:50 |
rubenwardy |
nevermind, it was because the areas weren't generated |
21:53 |
celeron55 |
eh, i guess i'm taking the original minetest laptop to the rescue - it has debian; it will work unlke fedora 22 |
21:53 |
celeron55 |
maybe i'll be disappointed though |
21:53 |
|
Robert_Zenz joined #minetest-dev |
22:03 |
rubenwardy |
Weird color for a sea: https://cdn.pbrd.co/images/217avOR2.png |
22:05 |
rubenwardy |
and weird blocks |
22:07 |
|
liq_over_ignore joined #minetest-dev |
22:16 |
|
Taoki joined #minetest-dev |
22:16 |
|
cib0 joined #minetest-dev |
22:18 |
|
Taoki joined #minetest-dev |
22:23 |
celeron55 |
i think this behaves exactly the same on this gcc 4.9 -based build |
22:24 |
celeron55 |
i'm going to give up on this and hope that this is reproducible and someone figures this out |
22:42 |
|
proller joined #minetest-dev |
22:43 |
VanessaE |
you can't give up :) |
22:45 |
|
proller joined #minetest-dev |
23:02 |
|
proller joined #minetest-dev |
23:26 |
|
proller joined #minetest-dev |