Time |
Nick |
Message |
00:25 |
|
Fritigern joined #minetest-dev |
00:35 |
|
est31 joined #minetest-dev |
01:02 |
hmmmm |
i'm gonna try a bit harder to get above-water-level lakes for the next mapgen |
01:02 |
hmmmm |
http://i.imgur.com/WiqbgvF.jpg this is ultimately what i'd like to replicate |
01:36 |
|
est31 joined #minetest-dev |
01:53 |
est31 |
about mesh caching |
01:53 |
est31 |
It requires vast amounts of memory |
01:54 |
est31 |
and only pays out when you have loaded very much things |
01:54 |
est31 |
perhaps set the default to disable? |
01:55 |
est31 |
until it is improved so that it behaves more like a real cache |
01:55 |
est31 |
right now that is responsible for a majority of the load time and a majority of the allocated memory |
01:57 |
est31 |
I dont have enough insight into irrlicht to really improve the cache |
01:58 |
est31 |
my idea would be: at the start, the cache is empty, and when a special rotation is requested, it gets cached. |
01:59 |
est31 |
and we should add a cool-down, so that the cache doesn't behave like a memory leak for the first 600 MB |
01:59 |
est31 |
(or a cap) |
02:00 |
est31 |
so that the cache throws non used items out when its full |
02:01 |
est31 |
will make an issue... |
02:05 |
est31 |
or PR... |
02:07 |
ShadowNinja |
hmmmm: Do you have a chance to look at the mailing list now? |
02:07 |
hmmmm |
yeah |
02:07 |
hmmmm |
i should go do that |
02:10 |
est31 |
btw, idk why android is failing for #2596. It fails in the linker step because it cant find a function I use now. |
02:10 |
ShadowBot |
https://github.com/minetest/minetest/issues/2596 -- Crafting speedup by est31 |
02:13 |
hmmmm |
est31, when you say mesh cache, do you mean VBOs? |
02:14 |
est31 |
hmmmm, https://github.com/minetest/minetest/commit/dd4c21c1808acedfbcf8402c09ce9129b6ac31c7 |
02:14 |
est31 |
and my PR #2597 |
02:14 |
ShadowBot |
https://github.com/minetest/minetest/issues/2597 -- Disable mesh cache by default by est31 |
02:15 |
hmmmm |
oh it's already there and enabled |
02:15 |
hmmmm |
I'll have to test and see what kind of different i personally see |
02:15 |
hmmmm |
we should get a consensus of whether it helps or hurts the majority of people |
02:19 |
est31 |
added ideas |
02:19 |
est31 |
(to 2597) |
02:30 |
hmmmm |
ShadowNinja: what does the Mailman list do? |
02:30 |
hmmmm |
do I sign up for that? |
02:30 |
|
chchjesus joined #minetest-dev |
02:31 |
ShadowNinja |
hmmmm: Well, it's a mailing list like you wanted. It doesn't really do anything unless someone sends messages to it. |
02:31 |
hmmmm |
yea doing that =] |
02:31 |
hmmmm |
so anymore when I go on my rants about design matters, it's going to be on the dev mailing list |
02:31 |
ShadowNinja |
hmmmm: You can subscribe to receive messages from it, and I can add you as a moderator if you like. |
02:31 |
hmmmm |
and if somebody asks me, I'll say, "check the mailing list" |
02:31 |
hmmmm |
sure |
02:32 |
ShadowNinja |
It currently requires you to send one approved message before you can send unapproved messages. |
02:35 |
est31 |
hm, I can reproduce that build problem locally |
02:36 |
est31 |
ah I know what the issue is |
02:36 |
est31 |
or guess |
02:36 |
est31 |
think |
02:37 |
est31 |
the android makefile has its own file list |
02:46 |
est31 |
ok android build is fixed now |
02:46 |
est31 |
bye |
02:54 |
* ShadowNinja |
looks at the main menu code and cringes. |
02:54 |
ShadowNinja |
Pushing without popping, looking up one table a dozen times, using functions meant for function argumens for table lookups... |
02:55 |
ShadowNinja |
ModApiMainMenu::get*Data has to go. |
02:56 |
ShadowNinja |
Also, using globals for *everything*. |
02:58 |
hmmmm |
hmmm |
02:58 |
hmmmm |
ShadowNinja: do you think we should post our public keys on the main minetest.net? |
02:58 |
ShadowNinja |
*shrug* |
02:59 |
ShadowNinja |
I have a GnuPG key somewhere, but I may have lost it. |
03:00 |
|
OldCoder joined #minetest-dev |
03:03 |
hmmmm |
are you able to modify the main website? |
03:03 |
hmmmm |
my pubkey: http://fpaste.org/207139/28116607/ |
03:09 |
hmmmm |
ShadowNinja, I sent something to the mailing list |
03:09 |
hmmmm |
now what |
03:09 |
hmmmm |
http://lists.minetest.net/archives/minetest-dev/ |
03:09 |
hmmmm |
it says there's nothing posted |
03:11 |
ShadowNinja |
hmmmm: 1. It has to be reviewed first. 2. Yandex's servers are being greylisted. |
03:11 |
ShadowNinja |
(Temporary failure returned to see if the server will try again) |
03:13 |
* ShadowNinja |
looks into whitelisting yandex |
03:14 |
ShadowNinja |
Yandex is retrying a bit too fast. |
03:14 |
|
Tablet_One joined #minetest-dev |
03:17 |
ShadowNinja |
Aaand moderation request received... |
03:18 |
ShadowNinja |
hmmmm: Should I approve it? |
03:18 |
hmmmm |
yes |
03:18 |
ShadowNinja |
hmmmm: Both of them? |
03:18 |
hmmmm |
the first one I guess |
03:18 |
hmmmm |
:d |
03:19 |
ShadowNinja |
hmmmm: First approved, second discarded. |
03:20 |
hmmmm |
http://lists.minetest.net/archives/minetest-dev/2015-April/000000.html |
03:20 |
hmmmm |
:D |
03:20 |
hmmmm |
awesome |
03:20 |
hmmmm |
I wonder if I should have some kind of snarky signature |
03:20 |
hmmmm |
rkwolek < AT > minetest < DOT > net |
03:20 |
hmmmm |
c0ding the shit outta j0o0o0o0o |
03:21 |
hmmmm |
nah just kidding |
03:43 |
|
Wayward_Tab joined #minetest-dev |
03:47 |
ZeraRoox |
+hmmmm |
03:48 |
hmmmm |
ZeraRoox, what? |
03:48 |
ZeraRoox |
You checked email? |
03:48 |
hmmmm |
I suppose you're Fabiano Sk? |
03:48 |
hmmmm |
I don't get what you're asking me to do |
03:49 |
ZeraRoox |
Yes |
03:50 |
ZeraRoox |
i send .doc now with details |
03:50 |
hmmmm |
what? |
03:50 |
hmmmm |
don't send me a .doc |
03:50 |
hmmmm |
I can't even read .doc, just tell me what it is you want. stop being so cryptic. |
03:51 |
hmmmm |
i'm not going through all of this effort just to decode what some random person soliciting me wants |
03:52 |
hmmmm |
if I were a windows user, in fact, I'd be weary that you just sent me malware |
03:52 |
hmmmm |
s/weary/wary/ |
03:52 |
ZeraRoox |
sorry, i am buiness in Brazil and i need a ppl to code one project i pay good |
03:52 |
ZeraRoox |
and a found u in github |
03:52 |
hmmmm |
oh, a consulting gig? |
03:52 |
hmmmm |
I charge $200/hr |
03:52 |
ZeraRoox |
https://github.com/kwolekr/proxier |
03:56 |
ZeraRoox |
i cant send details here |
03:56 |
ZeraRoox |
if possible talk in private msg |
03:57 |
hmmmm |
lol. |
03:57 |
hmmmm |
I'm not interested in your gig |
03:57 |
ZeraRoox |
ok |
03:57 |
hmmmm |
and you probably can't afford me either |
03:57 |
ZeraRoox |
? |
03:59 |
sofar |
hmmmm: I'd just remove him from this channel, soliciting/off-topic |
03:59 |
hmmmm |
yeah |
03:59 |
hmmmm |
I've never had to ban anybody from #minetest-dev though |
03:59 |
hmmmm |
cept for that one spammer guy |
04:01 |
hmmmm |
I just opened his .docx with the details too. it seems like he wants to make some kind of malware that redirects network connections |
04:02 |
hmmmm |
this is pathetically hilarious |
04:02 |
ZeraRoox |
I just enjoyed their job but if you do not have Interest okay |
04:02 |
ZeraRoox |
no have malware |
04:02 |
ZeraRoox |
i only need a code |
04:02 |
hmmmm |
here, have a code: 001101011 |
04:02 |
ZeraRoox |
lol |
04:06 |
ZeraRoox |
I do not understand why you're being rude |
04:06 |
sofar |
ZeraRoox: you're displaying all the properties of a typical troll |
04:06 |
sofar |
just stop and leave this channel |
04:06 |
hmmmm |
once upon a time, talking about something non-minetest-development related would be an instantaneous ban |
04:13 |
ZeraRoox |
If you have no interest okay |
04:13 |
ZeraRoox |
I will retire |
04:18 |
|
Miner_48er joined #minetest-dev |
04:29 |
ZeraRoox |
My offer was 5k+ usd |
04:29 |
ZeraRoox |
Good luck! |
04:29 |
ZeraRoox |
byebye |
04:29 |
hmmmm |
lol, suuure |
04:30 |
hmmmm |
there was a 98% chance he wanted to scam me anyway |
04:46 |
|
OldCoder joined #minetest-dev |
05:09 |
|
Player_2 joined #minetest-dev |
05:11 |
|
Calinou joined #minetest-dev |
05:26 |
hmmmm |
oh my god i'm stuck in a world without pretty printing of STL containers |
05:26 |
hmmmm |
this is horrible |
05:27 |
hmmmm |
I might have to switch from clang to gcc49 just to get pretty printing |
05:30 |
hmmmm |
in order to see the contents of a std::string inside of a std::list, i need to: p listname.__end_.__prev_.__value_.__r_.__first_.__s.__data_ |
05:37 |
Calinou |
(-: |
05:53 |
ShadowNinja |
Multi-socket listening now works!!1!11!1 :-D |
05:54 |
sofar |
a server listening on multiple sockets? |
05:54 |
ShadowNinja |
sofar: Yep. |
05:54 |
sofar |
sorry, that shouldn't be so hard. Still nice once you get it working though ;^) |
05:55 |
ShadowNinja |
sofar: You could do multi-proto before if you listened on :: and and IPV6_V6ONLY off. |
05:55 |
sofar |
what's the use case? |
05:55 |
ShadowNinja |
sofar: Over 2000 line changes.. |
05:55 |
ShadowNinja |
And loads and loads of debugging/ |
05:56 |
sofar |
well sure, it gets messy once you cover every edge case |
05:56 |
ShadowNinja |
Now this will probably break in ten different ways on Windows, but at least it works here. |
05:57 |
sofar |
yup :) |
05:58 |
ShadowNinja |
I just have to figure out what do do with the --port option and some main menu stuff now -- and remove any debuggung things I added. |
05:58 |
|
Wayward_Tab joined #minetest-dev |
06:00 |
ShadowNinja |
Also, select() is obviously *really* inefficient since you have to iterate over every socket. I kinda want to add epoll support. But it's probably not worth it when you'll only have 1-8 sockets or so. |
06:01 |
sofar |
it'll be worth it |
06:01 |
ShadowNinja |
Now, if we were using TCP it might be a different story... |
06:01 |
sofar |
imagine how many packets you get |
06:02 |
sofar |
ah, sure |
06:02 |
sofar |
still it's nice to know you're picking the best solution |
06:02 |
ShadowNinja |
sofar: select is O(n) where n is the number of sockets, and with UDP yu only need one socket. |
06:02 |
sofar |
I don't even know if windows has epoll |
06:03 |
hmmmm |
it doesn't |
06:03 |
ShadowNinja |
sofar: epoll = Linux, kqueue = BSD, fow others for other OSes. |
06:03 |
hmmmm |
typically people use libevent if they want high-performance socket multiplexing for all OSes |
06:03 |
sofar |
shrug, last time I programmed on windows was 20+ years back |
06:03 |
ShadowNinja |
^ (or libev) |
06:03 |
hmmmm |
it's way too heavyweight for what we want though |
06:04 |
hmmmm |
in any case I had planned adding support for each OSs' own high-performance-poll type API |
06:04 |
hmmmm |
https://github.com/kwolekr/chiisai-bnetd/blob/master/src/conn.c#L62 i have some of it right here already |
06:04 |
ShadowNinja |
If we used TCP it might be worth it since TCP uses n+m sockets, where n is the number of listen addresses and m is the number of clients. |
06:05 |
ShadowNinja |
But with UDP ther'll usually only be 2 sockets. |
06:05 |
hmmmm |
so basically for Windows there's only select(), no poll(). select() is what you use if you want to be portable to all platforms |
06:06 |
hmmmm |
but the Super fast awesome(tm) version of select() on windows is WSAWaitForMultipleEvents() |
06:06 |
hmmmm |
and as of Vista, WSAPoll(), but that's useless because it's so incompatible |
06:06 |
hmmmm |
Linux == epoll, FreeBSD and NetBSD == kqueue(), Solaris has /dev/poll |
06:08 |
hmmmm |
using high-performance multiplexing apis is a good optimization, but it's just that, an optimization. and frankly implementing that isn't worth the effort given the sheer amount of other low-hanging fruit because minetest is so horribly unoptimized. |
06:18 |
|
Wayward_Tab joined #minetest-dev |
06:20 |
|
jin_xi joined #minetest-dev |
06:29 |
jin_xi |
hmmmm: i tried moving particle spawner stuff to env, but not sure if i understand right: https://github.com/obneq/minetest/commit/dbcbf42cd50f430541e2b8196ca18cd39dc22e08 |
06:37 |
|
kilbith joined #minetest-dev |
06:48 |
hmmmm |
looks good |
06:50 |
hmmmm |
hrmm that's a very interesting way of incrementing your iterators... |
06:50 |
hmmmm |
not sure I understand the logic of that expiration loop |
06:51 |
jin_xi |
it used to be a vector of ids and used find |
06:53 |
hmmmm |
unless i'm mistaken, wouldn't that become an infinite loop for particlespawners with an expire time of -1? |
06:54 |
jin_xi |
spawners with time 0 will not expire, -1 is my crappy magic number. |
06:55 |
hmmmm |
erm... sure, but that looks like a bug to me |
06:55 |
hmmmm |
the iterator never gets incremented |
06:58 |
jin_xi |
hmmmm: should be same as here https://github.com/minetest/minetest/blob/master/src/server.cpp#L2956 |
06:58 |
jin_xi |
but with for loop instead of find... |
06:58 |
hmmmm |
ermm... I'm not talking about that loop at all |
06:58 |
jin_xi |
oh |
06:59 |
hmmmm |
https://github.com/obneq/minetest/commit/dbcbf42cd50f430541e2b8196ca18cd39dc22e08#diff-baa4d2d0ffafdec2b86baf065fba252bR1260 |
06:59 |
jin_xi |
oh right |
07:04 |
hmmmm |
that entire loop is kind of nasty imho |
07:04 |
hmmmm |
it relies on undefined behavior to work |
07:05 |
hmmmm |
if this were C++11, I would recomend you write i = m_particle_spawners.erase(i); but you can't quite do that |
07:07 |
hmmmm |
ah actually that is a rather idiomatic way of deleting it since you advance it to the next *before* invalidating it |
07:07 |
hmmmm |
nevermind about that |
07:08 |
jin_xi |
well im sure my code is mor idiotomatic than anything so every bit of help is appreciated |
07:08 |
hmmmm |
lol. |
07:08 |
hmmmm |
idiotmatic |
07:09 |
|
OldCoder joined #minetest-dev |
07:10 |
hmmmm |
erm, maybe it'd be better to write that loop like so: http://fpaste.org/207153/14281314/ |
07:12 |
jin_xi |
yes that looks better |
07:12 |
hmmmm |
hey another thing |
07:13 |
hmmmm |
the addParticleSpawner code looks like of interesting |
07:13 |
jin_xi |
the mess in env |
07:13 |
jin_xi |
? |
07:13 |
hmmmm |
so it's intentional that the id is never == 0? |
07:14 |
jin_xi |
well i just took that from existing code and yes it looks like it |
07:14 |
hmmmm |
so basically you just removed the std::find() for whatever erason |
07:15 |
jin_xi |
yes |
07:15 |
hmmmm |
you could take advantage of the fact that a std::map is ordered |
07:15 |
hmmmm |
but then again, since these are numerically increasing, why store them in a map at all? |
07:15 |
hmmmm |
err monotonically increasing* |
07:16 |
jin_xi |
old ids get reused, or do you think it was intentional that expired ids were never deleted? |
07:16 |
hmmmm |
the original code was quite poor in quality so i'm willing to bet if it's weird looking, it wasn't intentional |
07:17 |
hmmmm |
well i don't know, what do you personally think? |
07:17 |
hmmmm |
should there be a reason why old ID numbers can't be reused? |
07:17 |
jin_xi |
i dont care about leaked id numbers, but corresponding s32s in a vector need to go |
07:17 |
jin_xi |
right? |
07:18 |
hmmmm |
huh? what do you mean |
07:18 |
hmmmm |
oh you mean m_particlespawner_ids? |
07:18 |
jin_xi |
yes |
07:18 |
hmmmm |
yeah... it's quite weird |
07:20 |
hmmmm |
i still think you should use a vector |
07:20 |
hmmmm |
just use it for something different |
07:20 |
hmmmm |
the vector would map the ID to the expiration, instead of the ...something to the ID |
07:21 |
jin_xi |
so a vector of pairs or so? |
07:21 |
hmmmm |
pairs? why pairs? |
07:21 |
jin_xi |
id exptime pairs |
07:21 |
hmmmm |
the id is the index to the exptime |
07:21 |
hmmmm |
and maybe you can make an exptime of -2 or something to represent "unused ID space" |
07:22 |
jin_xi |
so 'sparse' vector of exptimes indexed by id |
07:22 |
hmmmm |
yes |
07:23 |
jin_xi |
cool will do |
07:24 |
hmmmm |
maybe like this http://fpaste.org/207156/13229114/ |
07:25 |
hmmmm |
I don't think it's a fantastic idea to use floats for special values though... maybe it ought to map to a pair |
07:25 |
jin_xi |
yes that was another thing i was wondering |
07:25 |
hmmmm |
std::vector<std::pair<bool, float> > m_particle_spawners; |
07:26 |
jin_xi |
and indexed by id, i think i got it |
07:26 |
hmmmm |
pair.first == true if the ID is taken |
07:26 |
hmmmm |
float == exptime |
07:26 |
hmmmm |
err, pair.second i mean |
07:27 |
hmmmm |
also it's not a good idea to compare to -1 and set to -1 when you're talking about floats |
07:27 |
hmmmm |
well, actually nevermind that |
07:27 |
hmmmm |
as long as no conversions are being done on the number it should be consistent |
07:28 |
jin_xi |
i know i should not be doing cpp... it takes me ages to come up with inadequate solutions |
07:28 |
hmmmm |
-1.f == -1.f on the same processor all the time =] at least we can know that much for sure |
07:28 |
hmmmm |
naw, you're okay |
07:29 |
hmmmm |
it's just that comparing exact numbers as floats makes me nervous |
07:29 |
hmmmm |
even though it is okay in this particular case |
07:33 |
|
Hunterz joined #minetest-dev |
07:59 |
hmmmm |
you guys realize that CMakeLists.txt was broken the whole while? |
08:00 |
hmmmm |
all of the cflags were being ignored and overwritten by cmake because it thinks it knows better than we do and we didn't use FORCE in set() |
08:28 |
|
err404 joined #minetest-dev |
08:37 |
|
Player_2 joined #minetest-dev |
09:39 |
|
neoascetic joined #minetest-dev |
09:42 |
|
ElectronLibre joined #minetest-dev |
10:03 |
|
cib0 joined #minetest-dev |
10:08 |
|
cvtsx joined #minetest-dev |
10:41 |
|
book` joined #minetest-dev |
11:37 |
|
Jordach joined #minetest-dev |
13:21 |
|
Zeno` joined #minetest-dev |
13:37 |
|
roniz joined #minetest-dev |
13:56 |
|
MinetestForFun joined #minetest-dev |
14:00 |
|
ElectronLibre joined #minetest-dev |
14:10 |
|
VanessaE joined #minetest-dev |
15:29 |
|
nore joined #minetest-dev |
16:09 |
|
Elinvention joined #minetest-dev |
16:24 |
|
hmmmm joined #minetest-dev |
16:44 |
|
lolmac joined #minetest-dev |
16:48 |
|
Lunatrius joined #minetest-dev |
16:50 |
|
leat joined #minetest-dev |
16:59 |
|
selat joined #minetest-dev |
17:16 |
|
Krock joined #minetest-dev |
17:19 |
|
SopaXorzTaker joined #minetest-dev |
17:41 |
|
MinetestForFun joined #minetest-dev |
17:59 |
|
MinetestForFun joined #minetest-dev |
18:09 |
|
lolmac joined #minetest-dev |
18:22 |
|
ElectronLibre joined #minetest-dev |
18:28 |
|
est31 joined #minetest-dev |
18:30 |
est31 |
ShadowNinja, why is yandex greylisted? |
18:31 |
est31 |
mtest31yandex.com is also my address. |
18:33 |
|
err404 joined #minetest-dev |
18:35 |
|
rubenwardy joined #minetest-dev |
18:38 |
celeron55 |
> Linux == epoll, FreeBSD and NetBSD == kqueue(), Solaris has /dev/poll |
18:38 |
celeron55 |
you know what? this is sad |
18:39 |
celeron55 |
i don't understand why it's so hard to make an efficient and portable interface... but oh well |
18:46 |
hmmmm |
can somebody help explain to me how cmake works? i just tried building with VERBOSE=1 and got this at the link stage: http://fpaste.org/207258/28173180/ |
18:46 |
hmmmm |
1). how do I make cmake add an -L/usr/local/lib |
18:47 |
hmmmm |
2). what is that -Wl,-rpath,/usr/local/lib thing at the end which is obviously malformed |
18:51 |
|
err404 joined #minetest-dev |
19:14 |
sfan5 |
hmmmm: I'd imagine -Wl,-rpath,/usr/local/lib: is turned into -rpath /usr/local/lib: which would be correct |
19:46 |
kahrl |
isn't /usr/local/lib in the default search path anyway though |
19:47 |
|
Elinvention joined #minetest-dev |
19:49 |
|
est31 joined #minetest-dev |
19:52 |
|
MinetestForFun joined #minetest-dev |
19:53 |
|
MinetestForFun joined #minetest-dev |
20:11 |
|
MinetestForFun joined #minetest-dev |
20:18 |
hmmmm |
no, /usr/lib is |
20:18 |
hmmmm |
sfan5: i was asking more or less "what option does it come from" |
20:19 |
sfan5 |
no idea |
21:04 |
|
Wayward_Tab joined #minetest-dev |
21:28 |
|
johnnyjoy joined #minetest-dev |
21:34 |
|
ElectronLibre left #minetest-dev |
21:41 |
|
Miner_48er joined #minetest-dev |
22:32 |
hmmmm |
pfth |
22:32 |
hmmmm |
there's basically no possible way to debug C++ applications compiled using the default, base cc on freebsd |
22:32 |
hmmmm |
this is really nice |
22:33 |
hmmmm |
for now I guess what I can do is provide a temp patch to compile against gcc49's libstdc++ |
22:33 |
hmmmm |
then people should be able to use gdb781 |
22:35 |
hmmmm |
or simply: don't compile using clang anymore |
23:56 |
|
paramat joined #minetest-dev |
23:59 |
paramat |
can anyone approve my PR for mtgame? game#484 caves are making a mess of mgv6 icesheet |
23:59 |
ShadowBot |
https://github.com/minetest/minetest_game/issues/484 -- Default/nodes: Make ice not ground content by paramat |