Time |
Nick |
Message |
00:00 |
celeron55 |
the compiler can't do that because CONTENT_AIR isn't 0 |
00:00 |
celeron55 |
change it to be 0 and it might |
00:01 |
hmmmm |
speaking of that |
00:01 |
hmmmm |
is there any specific reason why the default content for a MapNode is CONTENT_AIR? |
00:01 |
hmmmm |
why not CONTENT_IGNORE? |
00:01 |
celeron55 |
it seems a bit odd to me too |
00:02 |
hmmmm |
more importantly... would the change break anything |
00:02 |
celeron55 |
it probably has some API implications |
00:02 |
Megaf |
Zeno`: ? Isnt it too late at your land now? |
00:02 |
Zeno` |
"would the change break anything" is the main reason I avoided it |
00:02 |
Megaf |
Hi celeron55, have you ever heard about this this? -> http://urho3d.github.io/ |
00:02 |
hmmmm |
i want to change it so I don't have to reset the entire buffer to CONTENT_IGNORE when allocating a blank buffer |
00:02 |
hmmmm |
lol |
00:02 |
hmmmm |
Megaf you silly |
00:03 |
celeron55 |
Megaf: what? buildat makes heavy use of that |
00:03 |
hmmmm |
celeron is already 5000 steps ahead of you |
00:03 |
celeron55 |
and i have even contributed fixes to urho3d 8D |
00:03 |
Megaf |
celeron55: cool |
00:03 |
Megaf |
so it might run well on Raspberry Pi |
00:03 |
Zeno` |
hmmmm, I'm sure it's POD. The only way (in C98) that it's not POD is if you have virtual functions, non-POD members, your own copy constructor or your own destructor |
00:03 |
Megaf |
kilbith: you could try buildat on your Raspberry Pi |
00:03 |
celeron55 |
Megaf: most likely not at all |
00:04 |
celeron55 |
but you can try |
00:04 |
kilbith |
GLES seems better supported than Irrlicht |
00:04 |
Megaf |
well, it it runs, we can try to make it better, if it doesnt, like minetest, then theres not much we can do about it |
00:05 |
Zeno` |
oh, the constructor |
00:05 |
Zeno` |
god c++ is hard sometimes |
00:05 |
Zeno` |
An aggregate is an array or a class (clause 9) with no user-declared constructors (12.1), no private or protected non-static data members (clause 11), no base classes (clause 10), and no virtual functions (10.3). |
00:05 |
Zeno` |
darn |
00:05 |
* Megaf |
throws C++ The Bible at Zeno` |
00:06 |
celeron55 |
Zeno`: hmmmm's previous point was that C++11 defines it differently and in it it can have a constructor |
00:06 |
hmmmm |
we're supposed to be "good" and use std::copy() |
00:06 |
Zeno` |
after 0.4.12 maybe I'll work on that whole struct... c55, yeah I know but that would imply dropping support for non C++11 targets |
00:07 |
hmmmm |
problem is that now unless we use restrict everywhere it'll place memmove() instead |
00:07 |
celeron55 |
Zeno`: my point is that C++03 compilers probably handle it like it was C++11 in practice |
00:07 |
hmmmm |
relying on UB is disasterous |
00:07 |
hmmmm |
please, don't advocate this |
00:07 |
celeron55 |
maybe i shouldn't 8) |
00:08 |
celeron55 |
speaking of this, what's the C++11 support status now in the compilers that we want to support |
00:08 |
celeron55 |
debian stable has had gcc 4.7 for a while now so that's not an issue anymore |
00:09 |
Zeno` |
ok, I'll mark the commit as WIP since it's too late for 0.4.11 anyway (it's not a feature). And then concentrate on the actual data type itself |
00:09 |
hmmmm |
I agree |
00:09 |
Megaf |
celeron55: 4.9 on the upcoming Debian 8 |
00:09 |
Megaf |
4.9.1 |
00:09 |
celeron55 |
the remaining issue might be windows, depending on things |
00:09 |
hmmmm |
the only reason why we're holding back on c++11 is because I'm a luddite and I don't update my operating system |
00:09 |
hmmmm |
:/ |
00:09 |
Zeno` |
Centos6.x does not have a C11 compliant compiler I don't think |
00:09 |
hmmmm |
there are other reasons too though |
00:09 |
celeron55 |
we don't officially support your OS so you're out of luck really 8) |
00:09 |
Zeno` |
and Centos6 is a LTS |
00:09 |
hmmmm |
what, FreeBSD 9.1? |
00:10 |
hmmmm |
minetest officially supported freebsd for a while |
00:10 |
celeron55 |
if it has a proper compiler, then yes |
00:10 |
celeron55 |
otherwise no |
00:10 |
hmmmm |
theoretically it supports freebsd to as far back as 5.x |
00:11 |
Zeno` |
I also just realised why many servers have had stuck liquids since 0.4.10 |
00:11 |
hmmmm |
:\ |
00:11 |
hmmmm |
because celeron was right and you were wrong |
00:11 |
hmmmm |
but eh |
00:11 |
hmmmm |
it seemed fine to me when i looked at it |
00:11 |
Zeno` |
no I'm talking about servers before my change |
00:12 |
hmmmm |
oh yeah, liquid transforming has always been broken it seems |
00:12 |
hmmmm |
it's a sad state of affairs |
00:12 |
Zeno` |
but it's related. That loop is limited (by iterations). If the server shuts down for whatever reason then that queue might still have 100000 or more items in it |
00:12 |
kahrl |
there's a PR about that IIRC |
00:13 |
Megaf |
I have never had problems with liquids |
00:14 |
celeron55 |
hmmmm: but seriously, you can get a recent gcc or clang on freebsd, right? |
00:15 |
hmmmm |
you can, but that complicates matters because that adds a build dependency |
00:15 |
celeron55 |
when will that happen then? |
00:15 |
hmmmm |
more dependencies are bad |
00:15 |
celeron55 |
if practically never, then we might just as well go to C++11 now because it will happen some day anyway |
00:16 |
celeron55 |
if one year from now, then waiting for it is possible while probably being a bad idea |
00:16 |
hmmmm |
i'm sort of scared that people will start using the bad C++11 features |
00:16 |
celeron55 |
you probably understand that C++11 makes development much more enjoyable and we have like 5 freebsd users |
00:16 |
celeron55 |
i'm going to rage at them and kick them out if they do, don't worry about that |
00:16 |
Zeno` |
I think that the UB in the case of 2000 is fine (ROFL). The constructor does nothing wanted anyway |
00:17 |
hmmmm |
i think the UB is the object lifetime |
00:17 |
hmmmm |
POD has different lifetimes than non-POD types |
00:17 |
celeron55 |
the important question is whether our visual studio guys are ready for C++11 |
00:17 |
Zeno` |
Yeah because of the destructor though (AFAIK) |
00:17 |
celeron55 |
that i do not know but would like to know |
00:17 |
Zeno` |
But yeah, UB is bad |
00:18 |
hmmmm |
visual studio 2008 is still widely used |
00:18 |
hmmmm |
wow, haha, 2008 seems like it's so recent when in fact it happened almost 7 years ago now |
00:18 |
Zeno` |
I know at least 2 server operators with VPSs that do not support C++11 |
00:18 |
celeron55 |
it really is ancient |
00:18 |
Zeno` |
One is me :) |
00:19 |
hmmmm |
I look forward to the relaxed PODness rules, move constructors, and std::unordered_map |
00:20 |
celeron55 |
frankly there are so little reasons to not move to C++11 now compared to before that we should arrange that to happen in the upcoming months |
00:20 |
celeron55 |
so get ready if you aren't |
00:21 |
celeron55 |
(personally i've been doing all my C++ programming with C++11 for two years now) |
00:21 |
Zeno` |
The easiest "correct" way to fix the issue I kludge in #2000 is to remove the default value for MapNode content_t content in it's constructor so there is a constructor that does nothing. But it's too late to do that now before 0.4.11 is released |
00:21 |
ShadowBot |
https://github.com/minetest/minetest/issues/2000 -- Large increase in performance by Zeno- |
00:21 |
hmmmm |
what's your take on the foreach loop |
00:22 |
celeron55 |
"take"? |
00:22 |
celeron55 |
is there an issue with it |
00:22 |
celeron55 |
my take is "it works fine, but god forbid anyone who wants to make their own iterable data types" |
00:22 |
hmmmm |
just feels like it strays too far from C |
00:23 |
celeron55 |
i like it and use it everywhere |
00:24 |
celeron55 |
for(auto &it : container){} is lovely |
00:25 |
hmmmm |
i've always had the philosophy of using C++ as a C with classes and some other convenience features |
00:25 |
celeron55 |
if you ask me, this, if anything, is a convenience feature |
00:26 |
celeron55 |
compared to all the inconvenience features that C++ introduces |
00:26 |
celeron55 |
but i still hate C++ iterators; they have been designed in hell |
00:27 |
celeron55 |
i like the guys who coded them for me for STL types |
00:28 |
celeron55 |
did you see my blog post about umm... well this post: http://c55.me/blog/?p=1723 |
00:28 |
celeron55 |
you might like the language he is designing |
00:28 |
celeron55 |
i certainly do |
00:28 |
celeron55 |
https://www.youtube.com/user/jblow888/videos |
00:28 |
celeron55 |
</offtopic><sleep> |
01:14 |
|
proller joined #minetest-dev |
01:19 |
|
paramat left #minetest-dev |
01:38 |
|
Megaf_ joined #minetest-dev |
02:18 |
|
paramat joined #minetest-dev |
02:21 |
paramat |
hmmmmm thanks for the help i was just trying to detect if a node was in the leaves group, however i realised my idea is not good, you were quite right it's too hardcoded |
02:21 |
|
Taoki_1 joined #minetest-dev |
02:39 |
|
kaeza joined #minetest-dev |
03:17 |
paramat |
okay hmmmm #2001 is ready to go, please could you review? I indented the description lines more for clarity, this file has always been hard on the eyes because the description lines are only indented by one space |
03:17 |
ShadowBot |
https://github.com/minetest/minetest/issues/2001 -- Update mapgen stuff in minetest.conf. Indent lines for clarity. by paramat |
03:19 |
Tesseract |
sfan5: You should set up a MSVC builder and test the Windows builds now. |
03:20 |
hmmmm |
are you really going to make a release with those two blockers? |
03:20 |
Tesseract |
hmmmm: Those vm helpers would be great, I wrote a few functions to help with that in WorldEdit (eg, we.manip_helpers.finish(vm, data)) |
03:21 |
hmmmm |
the windows freeze when selecting serverlist and the always bright wieldmesh with shaders |
03:21 |
Tesseract |
hmmmm: Depends if they're fixed in time I guess. |
03:22 |
Tesseract |
hmmmm: I heard the wieldmesh thing was an easy fix, but RBA wanted to do a bigger change to the weildhand. |
03:24 |
hmmmm |
=/ |
03:24 |
hmmmm |
so is he going to fix it or is he not going to fix it |
03:35 |
hmmmm |
frankly i don't think we can count on RBA |
03:35 |
hmmmm |
at least i don't count on him to get it fixed within a day |
03:38 |
hmmmm |
https://github.com/minetest/minetest/commit/249749dd8c06fc7902da648d7ab0986be203888e |
03:38 |
hmmmm |
who can help with testing on Windows? |
03:41 |
paramat |
tumbleweed can |
03:44 |
hmmmm |
so PR 2001 is not a WIP anymore? |
03:45 |
paramat |
correct |
03:46 |
paramat |
best pull number ever |
03:48 |
hmmmm |
who is tumbleweed and how can i get in touch with him? |
03:48 |
paramat |
lol |
03:48 |
hmmmm |
also wasn't somebody already working on 1959? |
04:22 |
paramat |
bbl |
04:22 |
|
paramat left #minetest-dev |
04:50 |
|
OldCoder joined #minetest-dev |
04:50 |
|
OldCoder joined #minetest-dev |
04:52 |
|
Zeno` joined #minetest-dev |
04:56 |
Zeno` |
2005 ok to merge? |
04:56 |
Zeno` |
#2005 |
04:56 |
ShadowBot |
https://github.com/minetest/minetest/issues/2005 -- Make limiting of the reflow liquids queue size optional by Zeno- |
05:07 |
|
cg72 joined #minetest-dev |
05:07 |
cg72 |
Zeno`?? |
05:13 |
kaeza |
hmmmm, it works OK, and `src/wieldmesh.cpp:307:17: warning: unused variable 'shdrsrc' [-Wunused-variable]` |
05:13 |
kaeza |
(MinGW32) |
05:21 |
cg72 |
and here is what i think of this bs >>> http://codepad.org/xJ2HOsMg |
05:22 |
cg72 |
go on ban me i dont care some of you have your heads up your rearends!!!! |
05:24 |
cg72 |
any comments, email me gingerpollard72gmail.com |
05:27 |
|
Miner_48er joined #minetest-dev |
05:27 |
cg72 |
Miner_48er hello |
05:28 |
Miner_48er |
hi |
05:28 |
Tesseract |
cg72: -> #minetest please. |
05:29 |
cg72 |
i was just gonna link him your and is chat log ;) |
05:34 |
|
paramat joined #minetest-dev |
05:41 |
hmmmm |
aghhh dammit |
05:41 |
hmmmm |
kaeza, did you say you were goign to work on fixing #1959? |
05:41 |
ShadowBot |
https://github.com/minetest/minetest/issues/1959 -- Checking public serverlist checkbox causes minetest to freeze. |
05:42 |
Zeno` |
Oh yeah. I spent some time on that (most of it installing @*$(@*($( what I thought was mingw and turned out not to be mingw :() |
05:44 |
hmmmm |
the current theory is that the usage of globals in a multithreaded environment caused a race condition that started affecting things when processing slowed down slightly |
05:44 |
Zeno` |
hmmmm, shall I merge 2005? (get the last thing apart from that final blocker out of the road) |
05:44 |
hmmmm |
yeah |
05:45 |
Zeno` |
hmmmm, kaeza mentioned clicking the checkbox calls async run twice I think. Does that sound right? |
05:45 |
Zeno` |
Perhaps the local is get stuck |
05:45 |
Zeno` |
grr lock* |
05:45 |
hmmmm |
no idea other than speculation |
05:45 |
Zeno` |
can't really see how though |
05:45 |
hmmmm |
haven't seen that code and i can't test it either |
05:57 |
hmmmm |
$%)@#$( |
05:58 |
hmmmm |
-Wextra enables a warning the specific flag doesn't exist for -Wtype-limits |
05:58 |
hmmmm |
so for g++42 you can't do -Wextra -Wno-type-limits |
06:00 |
hmmmm |
in fact, none of the -Wextra options exist in 4.2.2 |
06:04 |
|
sol_invictus joined #minetest-dev |
06:08 |
hmmmm |
there is, in fact, no way to silence the tmpnam() linker warning |
06:13 |
|
Wayward_One joined #minetest-dev |
06:37 |
|
srifqi joined #minetest-dev |
06:38 |
|
srifqi left #minetest-dev |
06:44 |
hmmmm |
has LuaJIT been broken for a very long time for anybody else? |
06:44 |
hmmmm |
LuaJIT detection, to be more precise |
06:44 |
Zeno` |
Why add Wno-type-limits? |
06:44 |
hmmmm |
because I get flooded with annoying type limit warnings |
06:44 |
hmmmm |
I guess it must be a gcc thing.. |
06:45 |
Zeno` |
I use gcc and get no type limit warnings |
06:46 |
Zeno` |
What's an example of one? |
06:47 |
hmmmm |
minetest/src/script/lua_api/l_item.cpp:116: warning: comparison is always false due to limited range of data type |
06:47 |
hmmmm |
basically all the places where serialization version constants are checked |
06:48 |
hmmmm |
e.g. #define BLAH_MIN_SUPPORTED_VERSION 0 |
06:48 |
hmmmm |
and then sometime later during serialization or deserialization |
06:48 |
hmmmm |
u32 thingversion = deSerializeThing(); if (thingversion < BLAH_MIN_SUPPORTED_VERSION) ... |
06:49 |
hmmmm |
this is how all ~20 or so cases occur |
06:49 |
Zeno` |
I wonder why I've never seen them. Didn't see them with TDM on Windows the other day either |
06:49 |
hmmmm |
they pop up with -Wextra |
06:50 |
Zeno` |
oh, I get ~~80000 warnings with -Wextra |
06:50 |
hmmmm |
if -Wextra isn't defined, then it just be my compiler acting retarded =] |
06:50 |
hmmmm |
any way you look at it, it's a bogus warning |
06:52 |
Zeno` |
the example you gave is not a bogus warning though |
06:53 |
Zeno` |
that expression *is* always true |
06:53 |
hmmmm |
sure |
06:53 |
hmmmm |
but it's a constant we're comparing it to |
06:53 |
hmmmm |
it's not a mistake like it's made out to be |
06:53 |
Zeno` |
it is a mistake, because item.wear cannot (ever) be > 65535 |
06:54 |
hmmmm |
oh you're talking about that precise instance |
06:54 |
Zeno` |
yeah |
06:54 |
hmmmm |
maybe that one is legit but 98% of them that pop up aren't |
06:55 |
Zeno` |
I just uneasy about suppressing that warning I guess |
06:55 |
hmmmm |
it's important to suppress bogus warnings because they make it difficult to notice actual warnings |
06:56 |
hmmmm |
like the last warning i just fixed with the unused variable - i simply could not see that over the flood of nonsense warnings |
06:58 |
Zeno` |
I agree there, but I (personally) have never seen a 100% bogus warning from -Wtype-limits ... Convincing myself now :) |
07:03 |
Zeno` |
checked 17 so far, and so far no false warnings |
07:03 |
Zeno` |
s/false/bogus |
07:03 |
hmmmm |
then they ought to be fixed.. from what i personally saw, the majority of them were version-checking-related |
07:04 |
Zeno` |
None of them are bogus |
07:04 |
Zeno` |
I checked all 33 |
07:05 |
hmmmm |
perhaps you have a different definition of 'bogus' then.. |
07:05 |
Zeno` |
yeah that's easily fixed. ser_ver_supported() macro is, basically, broken |
07:06 |
Zeno` |
possibly :/ |
07:10 |
Zeno` |
If they're "bogus" I'd prefer to fix/hide them rather than disabling the warning altogether |
07:16 |
Zeno` |
like, that l_item.cpp:116 warning... something is actually broken there. Is the item supposed to be cleared if it overflows or not? |
07:17 |
Zeno` |
because it's never true item.clear() can never be called so what was the intention of item.clear()? |
07:18 |
Zeno` |
Hiding these by suppressing them at the compiler level is not a great idea IMHO |
07:18 |
hmmmm |
got any better ideas? |
07:18 |
Zeno` |
yeah manually fix them |
07:18 |
hmmmm |
in any case, you're right and i never said otherwise |
07:18 |
Zeno` |
or, I'll do it |
07:18 |
hmmmm |
l_item.cpp:116 is busted |
07:18 |
Zeno` |
but I don't know what to do about l_item.cpp:116 heh |
07:19 |
hmmmm |
the logic is completely broken |
07:19 |
Zeno` |
Because I'm not sure what the original intention actually was |
07:19 |
hmmmm |
if the attempted wear setting results in an overflow, simply don't set it |
07:19 |
hmmmm |
nothing is documented about set_wear aside from the fact that it takes "wear" as a parameter |
07:20 |
hmmmm |
this documentation is so pathetic... |
07:20 |
VanessaE |
er, wouldn't the expected behavior be to max it out? |
07:20 |
hmmmm |
that's acceptable too |
07:20 |
hmmmm |
i'm trying to think of the situation where somebody would call set_wear() with too large of a value |
07:21 |
VanessaE |
"super" tool repair. |
07:21 |
hmmmm |
exactly |
07:21 |
hmmmm |
I'm thinking that maybe it would increment the wear every so much amount of time |
07:22 |
hmmmm |
+100, +100, +100, etc. |
07:22 |
hmmmm |
so who's fixing l_set_wear?? |
07:22 |
VanessaE |
or something like that too. something like the equivalent to "quad damage" |
07:22 |
hmmmm |
i agree that it should be MIN(luaL_checkinteger(L, 2), 65535) |
07:25 |
hmmmm |
PilzAdam wrote the entire series of set_* in that file and they all handle failure in the same defective manner |
07:25 |
hmmmm |
if he comes around I'd like to hear the rationale |
07:27 |
|
paramat left #minetest-dev |
07:30 |
hmmmm |
and then item:set_name(5) should in theory crash the game |
07:34 |
Zeno` |
so... 0: original networked test with 1-byte nodes <-- that serialization version is still supported? |
07:35 |
hmmmm |
technically yes |
07:37 |
|
jin_xi joined #minetest-dev |
07:43 |
Zeno` |
ok well that's easy to fix |
07:43 |
Zeno` |
then just the crazy ones in connection.cpp |
07:44 |
Zeno` |
(peer_id <= MAX_UDP_PEERS) is checked 5 times, but nothing seems to be done if it's false (probably because it can never be false) |
07:54 |
Zeno` |
so if peer_id <= MAX_UDP_PEERS is actually checked in a sensible way (not sure how) and only once then that's all but 1 of the warnings gone |
07:58 |
|
abstruselyarcane joined #minetest-dev |
07:59 |
|
abstruselyarcane left #minetest-dev |
08:01 |
Zeno` |
and that only remains because it's a bug |
08:01 |
Zeno` |
found because of the warning :P |
08:01 |
|
Hunterz joined #minetest-dev |
08:13 |
Zeno` |
https://github.com/Zeno-/minetest/commit/e517f0368b0f8b6bff49081541c0f0443e99b66c <-- all fixed |
08:13 |
Zeno` |
and we don't miss stuff that might be an actual error in the futue |
08:13 |
Zeno` |
night all |
08:24 |
|
SmugLeaf joined #minetest-dev |
08:51 |
|
gregorycu joined #minetest-dev |
08:57 |
|
kilbith joined #minetest-dev |
09:41 |
|
Krock joined #minetest-dev |
09:53 |
|
FR^2 joined #minetest-dev |
10:11 |
|
exio4 joined #minetest-dev |
10:17 |
|
CraigyDavi joined #minetest-dev |
10:39 |
|
selat joined #minetest-dev |
10:43 |
|
kilbith joined #minetest-dev |
11:00 |
|
ImQ009 joined #minetest-dev |
11:29 |
|
PilzAdam joined #minetest-dev |
11:53 |
kilbith |
sfan5: https://github.com/minetest/minetest_game/pull/386 |
11:56 |
|
PilzAdam joined #minetest-dev |
12:25 |
|
Krock joined #minetest-dev |
12:25 |
|
MichaelRpdx joined #minetest-dev |
12:25 |
|
kahrl joined #minetest-dev |
12:25 |
|
DuDraig joined #minetest-dev |
12:25 |
|
SmugLeaf joined #minetest-dev |
12:26 |
|
sol_invictus joined #minetest-dev |
12:26 |
|
compunerd joined #minetest-dev |
12:26 |
|
harrison joined #minetest-dev |
12:26 |
|
Tesseract joined #minetest-dev |
12:26 |
|
Aaron1011 joined #minetest-dev |
12:26 |
|
PilzAdam joined #minetest-dev |
12:26 |
|
jin_xi joined #minetest-dev |
12:26 |
|
Bratmon joined #minetest-dev |
12:26 |
|
Hunterz joined #minetest-dev |
12:26 |
|
Taoki_1 joined #minetest-dev |
12:26 |
|
celeron55 joined #minetest-dev |
12:26 |
|
blaise joined #minetest-dev |
12:28 |
|
OldCoder joined #minetest-dev |
12:28 |
|
JZTech101 joined #minetest-dev |
12:28 |
|
pitriss joined #minetest-dev |
12:34 |
|
gregorycu_ joined #minetest-dev |
12:40 |
|
proller joined #minetest-dev |
12:50 |
kilbith |
PilzAdam: 386 updated. |
12:59 |
* Megaf_ |
would like a new 80386. One like the original, but built with all new technology we have. |
12:59 |
Megaf_ |
I wonder how much energy would it comsume |
12:59 |
Megaf_ |
consume |
13:16 |
|
Amaz joined #minetest-dev |
13:24 |
gregorycu |
So, I think I've found a bug |
13:26 |
Krock |
gregorycu, get a book and kill that bug |
13:26 |
gregorycu |
It may be a feature... |
13:26 |
gregorycu |
It's one of those bugs that looks so bug that it can't be a bug |
13:26 |
gregorycu |
Looks so big |
13:57 |
|
roniz joined #minetest-dev |
14:03 |
|
proller joined #minetest-dev |
14:13 |
Megaf_ |
gregorycu: is that a spider? |
14:13 |
Megaf_ |
gregorycu: just say what you found at once. |
14:13 |
gregorycu |
I cleared it up with a dev, all good |
14:13 |
gregorycu |
User error |
14:13 |
gregorycu |
I was said user |
14:21 |
|
Anchakor_ joined #minetest-dev |
14:40 |
|
Robby joined #minetest-dev |
14:50 |
|
shadowzone joined #minetest-dev |
14:51 |
|
MinetestForFun joined #minetest-dev |
14:52 |
|
Amaz joined #minetest-dev |
15:15 |
kilbith |
sfan5: https://github.com/minetest/minetest_game/pull/387 |
15:37 |
kahrl |
why kilbith2/kilbith3? |
15:38 |
|
Bratmon joined #minetest-dev |
15:39 |
kilbith |
because haven't figure out how to submit PRs in ignoring the previous commits on the same account |
15:39 |
kahrl |
make a branch for each PR |
15:39 |
kahrl |
branches are much easier to manage than multiple SSH keys, IMO :P |
15:40 |
kilbith |
someones has explained me but Git is mysterious env. for me |
15:40 |
kahrl |
well if it works for you, no problem |
15:49 |
kahrl |
all you really need to know is these four steps: |
15:49 |
kahrl |
1. git checkout -b branchname # make a new branch |
15:49 |
kahrl |
2. git add ...; git commit ... # as usual |
15:49 |
kahrl |
3. git push origin branchname # replace "origin" if your remote is called something else |
15:49 |
kahrl |
and finally 4. git checkout master # switch back to the master branch |
15:52 |
kilbith |
ok, i paste those steps somewhere for an eventual try later |
16:16 |
|
zat joined #minetest-dev |
16:18 |
|
shadowzone joined #minetest-dev |
16:20 |
sfan5 |
http://sprunge.us/FCWP << pushing in 5 minutes |
16:22 |
PilzAdam |
sfan5, why does the build script fetch that from your server? |
16:24 |
|
luizrpgluiz joined #minetest-dev |
16:25 |
Krock |
PilzAdam, it's not sfan5's server :P |
16:27 |
|
hmmmm joined #minetest-dev |
16:27 |
kilbith |
PilzAdam: the straw texture is original from me, you should check that closely. |
16:27 |
PilzAdam |
Krock, it looks like it |
16:28 |
PilzAdam |
kilbith, see my comment on the issue |
16:28 |
hmmmm |
hello PilzAdam |
16:28 |
PilzAdam |
hi hmmmm |
16:28 |
hmmmm |
mind if I ask why you decided to clear the item on failure here https://github.com/minetest/minetest/commit/a9c0961e0c9c3b854aca34b6d582198be1cd2277 ? |
16:29 |
PilzAdam |
ummm.... because.... um... how old is this? |
16:30 |
hmmmm |
looks like a little over a year |
16:30 |
|
Amaz joined #minetest-dev |
16:30 |
Krock |
0.4.10 |
16:30 |
Krock |
no no. 0.4.8 actually |
16:30 |
PilzAdam |
I'm pretty sure I just copied it from somewhere else |
16:32 |
PilzAdam |
hmmmm, what do you mean by "failure"? |
16:33 |
PilzAdam |
it seems like it's the same result as if you would create a new itemstack with the same count / name / wear |
16:33 |
|
exio4 joined #minetest-dev |
16:33 |
hmmmm |
for example in l_set_wear, if the new value to set is greater than the max, instead of just setting the max you... clear all item attributes |
16:33 |
PilzAdam |
a wear of > max means the item is broken |
16:33 |
hmmmm |
or what if it could be getting repaired by something else in the mod and they do something like: |
16:34 |
hmmmm |
minetest.set_wear(minetest.get_wear() + 100) every use |
16:34 |
hmmmm |
surely that's not broken, right..? |
16:34 |
PilzAdam |
thats not repairing |
16:34 |
PilzAdam |
- 100 would be repairing |
16:35 |
hmmmm |
oh |
16:35 |
|
luizrpgluiz left #minetest-dev |
16:35 |
kilbith |
PilzAdam: i've never been credited for my previous textures. |
16:35 |
|
proller joined #minetest-dev |
16:35 |
hmmmm |
still though, why clear and not just item.wear = MYMIN(luaL_checkinteger, 65535)? |
16:35 |
PilzAdam |
kilbith, this should be fixed, then; please create an issue with the list of textures for that |
16:36 |
PilzAdam |
hmmmm, if you do minetest.set_wear(minetest.get_wear() + 100) each time you use a tool, you expect it to break automatically |
16:36 |
PilzAdam |
and "breaking" is clearing the itemstack |
16:36 |
kilbith |
nah, thank you. i don't want to bother with the licenses |
16:37 |
PilzAdam |
kilbith, this may bring us in legal trouble... *shrug* |
16:38 |
PilzAdam |
hmmmm, https://github.com/minetest/minetest_game/blob/master/mods/farming/api.lua#L48-51 e.g. here we just increase the wear each time |
16:38 |
PilzAdam |
hmmmm, maybe it should be documented in lua_api.txt? |
16:39 |
hmmmm |
i think so... |
16:39 |
hmmmm |
doesn't that break when uses == 1? |
16:40 |
PilzAdam |
yes, but there is no hoe with 1 use |
16:47 |
hmmmm |
fair enough... anyway would you care to fix the l_set_* item code? |
16:48 |
hmmmm |
and add better documentation |
16:52 |
|
celeron55 joined #minetest-dev |
16:55 |
|
T4im joined #minetest-dev |
16:59 |
|
nore joined #minetest-dev |
17:01 |
|
Calinou joined #minetest-dev |
17:30 |
sfan5 |
..that were some long 5 minutes |
17:30 |
sfan5 |
PilzAdam: because ubuntu's mingw is very outdated |
17:35 |
|
ImQ009 joined #minetest-dev |
17:40 |
PilzAdam |
hmmmm, fix? what is broken? |
17:59 |
|
sfan5 joined #minetest-dev |
18:05 |
|
exio4 joined #minetest-dev |
18:08 |
|
ImQ009 joined #minetest-dev |
18:12 |
|
PilzAdam joined #minetest-dev |
18:35 |
|
petrusd987 joined #minetest-dev |
18:35 |
|
ImQ009 joined #minetest-dev |
18:53 |
Calinou |
https://github.com/minetest/minetest_game/pull/387#issuecomment-67981441 |
18:53 |
Calinou |
WTF |
18:55 |
celeron55 |
why is kilbith ragequiting because of that |
18:55 |
celeron55 |
it's a 100% valid concern |
18:55 |
kilbith |
the reason is explicit |
18:55 |
celeron55 |
and easy to solvev |
18:55 |
celeron55 |
solve* |
18:56 |
celeron55 |
and the reply already solves the issue so there's no need to close it |
18:59 |
Krock |
I would love strawballs |
19:01 |
Calinou |
we can make our own texture anyway, if really needed |
19:01 |
Calinou |
would be sad, as the proposed one is g ood |
19:02 |
* Krock |
wonders about the difference of kilbith and kilbith3 |
19:03 |
kilbith |
none |
19:03 |
celeron55 |
that was discussed earlier here, see the same question from kahrl |
19:06 |
Krock |
kilbith, why do you close good pulls? #341 is fine to discuss header images and stuff. |
19:06 |
ShadowBot |
https://github.com/minetest/minetest/issues/341 -- minetest/doc/protocol.txt is far out of date |
19:06 |
Krock |
no no. the one from MTG |
19:07 |
celeron55 |
ShadowBot needs to support some kind of mt_game#341 style format |
19:07 |
Krock |
^ |
19:08 |
Krock |
Tesseract, have you got some free time? ^^ |
19:09 |
|
paramat joined #minetest-dev |
19:09 |
kilbith |
Krock: just tired of the constant beg for rise up the PRs, and polemical spirit. |
19:09 |
celeron55 |
kilbith: you are totally allowed to just leave PRs hanging around and go do something else meanwhile, and they often have to be discussed about quite much so you have to leave room for that |
19:09 |
Krock |
^ exactly, mostly, the theme still remains |
19:13 |
paramat |
i made a one-letter typo in .conf.example, fix incoming |
19:17 |
|
dzho joined #minetest-dev |
19:34 |
|
casimir joined #minetest-dev |
19:36 |
|
dzho joined #minetest-dev |
19:46 |
Tesseract |
game#341 |
19:46 |
ShadowBot |
https://github.com/minetest/minetest_game/issues/341 -- New header image by kilbith |
19:49 |
|
shadowzone joined #minetest-dev |
19:49 |
|
Selah joined #minetest-dev |
20:03 |
Krock |
:D |
20:07 |
|
ImQ009 joined #minetest-dev |
20:08 |
|
VanessaE joined #minetest-dev |
20:12 |
|
proller joined #minetest-dev |
20:17 |
paramat |
#2008 is ready for merge |
20:17 |
ShadowBot |
https://github.com/minetest/minetest/issues/2008 -- Conf.example: Fix typo in mapgen stuff by paramat |
20:19 |
hmmmm |
PilzAdam: specifically, the conditions of clearing for several of the api |
20:19 |
hmmmm |
1). l_set_name - why is item.empty() part of the condition? |
20:19 |
hmmmm |
2). l_set_count - copy paste error. you forgot to modify the condition to check for an item count overflow |
20:20 |
hmmmm |
3). l_set_wear - you assign the lua integer to a u16 and then do a comparison that could never evaluate to true due to the range of the data type |
20:23 |
hmmmm |
4). l_set_metadata - on invalid metadata, you don't clear the ItemStack like you do with the rest of the set_* apis |
20:23 |
sfan5 |
celeron55: the mesh-creation-is-slow problem doesn't seem to be limited to intel: https://cdn.mediacru.sh/d/dA2O0koHr3J_.png (AMD CPU + GPU, 0.4.11-rc1 win64) |
20:23 |
hmmmm |
but failure is impossible because the value at index 2 is a string. if it weren't a string, it would have thrown a LuaError and it'd never get a chance to execute the conditional |
20:23 |
celeron55 |
sfan5: intel is the only one that it generally *doesn't* affect |
20:24 |
hmmmm |
and why are you using checklstring anyway? you don't really need the length here.... |
20:24 |
sfan5 |
oh right |
20:24 |
celeron55 |
sfan5: because intel uses shared memory; that makes buffer transfer fast |
20:24 |
hmmmm |
item.metadata = luaL_checkstring(L, 2); |
20:24 |
sfan5 |
s/doesn't seem to be limited to intel/happens on windows too/ then |
20:24 |
celeron55 |
intel drivers on windows are bad |
20:24 |
celeron55 |
they use different code than linux ones |
20:28 |
celeron55 |
anyway, the limiting factor is the amount of opengl buffer objects; i.e. meshes should use as few meshbuffers (irrlicht terminology) as possible, in addition to there being as few meshes as possible |
20:28 |
celeron55 |
this means that texture atlases should be taken into use again |
20:28 |
sfan5 |
every MapBlock is a at least one mesh, correct? |
20:28 |
celeron55 |
yes, which currently has one meshbuffer per texture |
20:29 |
celeron55 |
one meshbuffer is one opengl object, basically |
20:29 |
hmmmm |
wait, texture atlases should be used again, for intel drivers? |
20:29 |
hmmmm |
or in general |
20:29 |
celeron55 |
it benefits others than intel the most |
20:30 |
celeron55 |
MT performs best on linux+intel currently due to... reasons |
20:30 |
celeron55 |
(when comparing to the actual performance of the given hardware) |
20:31 |
hmmmm |
there's a reason for that. i think you mentioned a while ago that minetest uses low-bandwidth streaming rather than bursts of data to the pipeline |
20:31 |
hmmmm |
or something like that |
20:31 |
celeron55 |
there are basically two performance reasons now for getting texture atlases back; one is rendering speed and one is mesh creation speed |
20:32 |
celeron55 |
both are limited by object count right now |
20:32 |
celeron55 |
(on modern hardware) |
20:32 |
hmmmm |
i thought the need for a texture atlas went away with texture sorting |
20:32 |
hmmmm |
so basically you're just looking to minimize the number of textures loaded? |
20:32 |
celeron55 |
not at all |
20:32 |
celeron55 |
it only helps rendering a bit |
20:33 |
Tesseract |
http://sprunge.us/CJYZ?diff fixes #2006 |
20:33 |
ShadowBot |
https://github.com/minetest/minetest/issues/2006 -- Error when deleting a world |
20:33 |
celeron55 |
that helps rendering but doesn't affect mesh creation |
20:33 |
Tesseract |
(untested though) |
20:33 |
hmmmm |
then how come we didn't see any real-world performance gains with the texture atlas enabled |
20:33 |
celeron55 |
hmmmm: there is a large cost in creating a new opengl object; which maps to an irrlicht meshbuffer; that's the mesh creation issue |
20:34 |
Tesseract |
Complies at least. |
20:34 |
celeron55 |
hmmmm: it must have been tested very poorly |
20:35 |
hmmmm |
so a texture atlas would help with cpu-bound mesh generation??? |
20:35 |
celeron55 |
yes; there is a large cost on dedicated GPUs for each created opengl object (=meshbuffer in irrlicht) |
20:35 |
hmmmm |
how would this affect multiple mesh making threads? |
20:35 |
celeron55 |
when each texture is actually the same texture, you often need only one meshbuffer |
20:36 |
celeron55 |
irrlicht only supports one thread so they are first given to the main thread |
20:36 |
celeron55 |
if we used raw opengl we could upload them to the GPU from multiple threads (if we drop support for old cards) |
20:37 |
celeron55 |
i guess that won't help much if the object count stays the same though |
20:37 |
celeron55 |
or maybe it might; there are all kinds of tricks that are doable at that level |
20:37 |
hmmmm |
obviously we can add options to this or auto-detect based on card |
20:39 |
PilzAdam |
hmmmm, sorry, I don't have time for this now |
20:39 |
PilzAdam |
can you create an issue on github for that? |
20:39 |
hmmmm |
i could just do it in 5 minutes |
20:40 |
celeron55 |
http://www.seas.upenn.edu/~pcozzi/OpenGLInsights/OpenGLInsights-AsynchronousBufferTransfers.pdf |
20:40 |
celeron55 |
here's the full log with this channel's opengl driver guy: |
20:40 |
celeron55 |
http://fpaste.org/162548/67191141/ |
20:40 |
celeron55 |
if someone has time for investigating this issue |
20:44 |
celeron55 |
so, well, basically there are two layers to this issue: 1) MT is using irrlicht inefficiently (no texture atlas, maybe too small meshes) and 2) irrlicht cannot provide very good performance for an open world block game like MT because it simply wasn't made for that; it's a generic engine that uses an unsuitable abstraction level for getting top performance out of hardware in this case |
20:45 |
hmmmm |
i think it's the nail in the coffin for including a forked irrlicht |
20:45 |
hmmmm |
(besides, you did that with urho3d) |
20:45 |
sfan5 |
would it be a good tradeoff to merge 4x4x4 (or 2x2x2) "cubes" of MapBlocks? |
20:45 |
celeron55 |
my urho3d fork is actually currently totally following upstream except for a bugfix that i was too lazy to PR |
20:46 |
hmmmm |
if it's sufficiently compartmentalized i think we'd be able to follow upstream |
20:46 |
hmmmm |
and make PRs for them concurrently |
20:46 |
sfan5 |
https://github.com/minetest/minetest/pull/2008.diff << merging in 5 mins (it's paramat's typo fix) |
20:46 |
hmmmm |
sfan5: sure |
20:47 |
celeron55 |
sfan5: 2x2x2 would probably give a lot of benefit on modern hardware, yes |
20:47 |
celeron55 |
assuming mesh upload is does not get too slow |
20:48 |
celeron55 |
(it probably won't) |
20:48 |
celeron55 |
2x2x2 would also destroy performance on old hardware like the laptop i originally made MT on |
20:48 |
celeron55 |
too many vertices |
20:48 |
celeron55 |
it should be configurable at runtime |
20:49 |
sfan5 |
benchmark this once, save results in a file, load on every startup; ???; profit |
20:49 |
celeron55 |
also 2x2x2 is too small for really fast hardware |
20:49 |
sfan5 |
I think that might work |
20:49 |
celeron55 |
on some $1000 cards you probably want 3x3x3 or even more |
20:52 |
|
paramat left #minetest-dev |
20:53 |
kahrl |
<hmmmm> and why are you using checklstring anyway? you don't really need the length here.... <-- item metadata can contain NULs |
20:53 |
hmmmm |
ahhh.. |
20:59 |
|
chchjesus joined #minetest-dev |
21:11 |
|
electrodude512 joined #minetest-dev |
21:14 |
|
Sokomine joined #minetest-dev |
21:29 |
|
calgui joined #minetest-dev |
21:31 |
|
calgui left #minetest-dev |
21:35 |
|
Krock joined #minetest-dev |
21:53 |
|
OldCoder joined #minetest-dev |
21:53 |
|
OldCoder joined #minetest-dev |
22:15 |
|
shadowzone joined #minetest-dev |
22:15 |
Wayward_One |
I too have a typo fix for minetest.conf.example: https://github.com/minetest/minetest/pull/2009 |
22:20 |
|
shadowzone joined #minetest-dev |
22:42 |
|
FungusAdam joined #minetest-dev |
22:44 |
|
prol joined #minetest-dev |
22:44 |
|
pro joined #minetest-dev |
22:46 |
|
proller joined #minetest-dev |
22:54 |
|
paramat joined #minetest-dev |
22:56 |
paramat |
Wayward_One, i can include your typo fix in my next edit of .conf.example if that's okay with you |
22:59 |
paramat |
i actualy have another edit of that file i'd like to do within the next hour, if there's time before release |
22:59 |
Wayward_One |
Sure, go ahead :) |
23:03 |
paramat |
ok i'll get working on it now. i want to state biome noises in positional format and increase indentation for the rest of the file (if that's okay with devs) |
23:20 |
|
MinetestForFun joined #minetest-dev |
23:22 |
|
Zeno` joined #minetest-dev |
23:27 |
shadowzone |
Hi Zeno` |
23:33 |
|
mrtux joined #minetest-dev |