Time |
Nick |
Message |
00:02 |
hmmmm |
proller |
00:02 |
hmmmm |
https://github.com/minetest/minetest/commit/8d4b76829753b3db9020ff1f68fb4b0a57025ed3 |
00:02 |
hmmmm |
erm |
00:02 |
hmmmm |
troller |
00:04 |
|
Taoki joined #minetest-dev |
00:05 |
sapier |
hmm did you know server is a smart pointer? |
00:05 |
hmmmm |
no i didn't, is it? |
00:06 |
sapier |
yes it is :-) game.cpp L1013 |
00:06 |
|
iqualfragile joined #minetest-dev |
00:06 |
hmmmm |
....ew |
00:06 |
hmmmm |
why |
00:07 |
hmmmm |
just so it auto deletes? seriously? |
00:07 |
sapier |
don't know I discovered when trying to fix all those memory leaks valgrind is complaining about |
00:07 |
|
kaeza joined #minetest-dev |
00:07 |
hmmmm |
do you know why that's necessary? because the_game() is a huge monolithic piece of shit instead of a class like it should be |
00:08 |
sapier |
it's quite tricky with pointers spread over different classes noone realy feeling reponsible to cleanup used memory |
00:08 |
hmmmm |
this is sort of a reason why i want to avoid smart pointers |
00:08 |
sapier |
no I don't have any idea why server is any different to any other big class in there, I'd use new and delete it on exit |
00:09 |
hmmmm |
same with a lot of these C++ constructs |
00:09 |
hmmmm |
they hide really important details that you should know about |
00:09 |
sapier |
atm I feel biggest problem is lack of clean interface ... thats reason why any component holds it's own pointer to crucial other classe |
00:09 |
sapier |
s |
00:14 |
|
kaeza1 joined #minetest-dev |
01:01 |
|
jojoa1997|Tablet joined #minetest-dev |
02:14 |
|
sapier1 joined #minetest-dev |
02:33 |
|
kaeza joined #minetest-dev |
02:38 |
|
init joined #minetest-dev |
02:59 |
|
jojoa1997|Tablet joined #minetest-dev |
03:12 |
sapier1 |
https://github.com/sapier/minetest/commit/6f9160ea7dca1e20118c793cbaf7187644a09708 << removes texture atlas as well as reduces number of memory leaks for a single login->exit to os cycle from 80+ to < 10 |
03:14 |
hmmmm |
erm woah |
03:14 |
hmmmm |
what is that thing in the biomedefmanager dtor |
03:14 |
sapier1 |
still there are some difficult to fix leaks left and of course any single text string I didn't fix is still leaking |
03:14 |
hmmmm |
also noo |
03:14 |
hmmmm |
you can't delete np |
03:15 |
sapier1 |
I can! |
03:15 |
hmmmm |
oh okay nevermind, you allocated a ne wone |
03:15 |
hmmmm |
didn't see that |
03:15 |
sapier1 |
yes because otherwise I can't decide if its an allocated one or default |
03:15 |
sapier1 |
same for mapgen v6 parameters |
03:16 |
hmmmm |
i decided early on that the memory leak there doesn't matter much because it's less than 50 bytes per, and it's only leaked along with a new instance of server |
03:16 |
hmmmm |
unfortunately none of that stuff matters because it's pretty much all getting scrapped :/ |
03:16 |
hmmmm |
i have a new way of doing biomes |
03:16 |
sapier1 |
it may not matter in sum but it's a problem to find real leaks if those small ones hide everything |
03:17 |
hmmmm |
what's with the way you changed the biome factory function there? |
03:17 |
sapier1 |
biomes have been only a very small part |
03:18 |
sapier1 |
hmm relicts of debugging I forgot |
03:18 |
sapier1 |
it's not completed either so I'll change it back when doing remaining changes |
03:19 |
hmmmm |
sure, go ahead |
03:19 |
hmmmm |
doesn't matter though, 'cause like i said, i'm nuking biome.cpp totally |
03:19 |
sapier1 |
but tomorrow :-) its 5:30 am |
03:19 |
hmmmm |
what |
03:19 |
hmmmm |
that's even worse than me |
03:19 |
hmmmm |
what's wrong with you |
03:20 |
sapier1 |
didn't notice time while getting those leaks fixed ;-) |
03:20 |
hmmmm |
that's nut |
03:20 |
hmmmm |
nuts |
03:20 |
hmmmm |
4am is my absolute limit |
03:20 |
sapier1 |
once uppon a time I went to bed as sun rose :-) nowadays I try to get to bed befor dawn |
03:21 |
sapier1 |
funny thing is I can't cleanup sky without crashing minetest don't know how this is linked to irrlicht |
03:21 |
hmmmm |
why'd you change all the i=0; != blah.size()s to iterators |
03:21 |
hmmmm |
we avoid iterators |
03:22 |
hmmmm |
see code style guidelines |
03:22 |
hmmmm |
also, crap, i did forget to clean up the ores |
03:22 |
sapier1 |
iterators are best way to get everything for std structs I've had to fix too many off by one bugs to avoid them where possible |
03:23 |
hmmmm |
none of my stuff has off by one bugs though |
03:23 |
sapier1 |
and [] gives strange results sometimes too |
03:23 |
hmmmm |
? |
03:23 |
hmmmm |
what do you mean |
03:23 |
hmmmm |
tell me about that tomorrow though |
03:23 |
hmmmm |
go on |
03:23 |
sapier1 |
[ is c++ and can mean be almost everything |
03:24 |
sapier1 |
from array index to hash selection operator :-) |
03:24 |
hmmmm |
[] is still 100% predictable |
03:25 |
sapier1 |
any program is 100% predictable ;-) but not 100% visible at first glance ;-) |
03:26 |
sapier1 |
btw != operator in for loops is dangerous ... it may not matter in small loops but if theres someone incrementing to high you'll run forever |
03:26 |
hmmmm |
yes... if your variable somehow gets incremented when it wasn't supposed to |
03:26 |
hmmmm |
which is enough of a bug in its own right |
03:26 |
hmmmm |
if it somehow skips your end condition, there's still a pretty huge problem that you're at least aware of now |
03:27 |
sapier1 |
true but consequences can easyly be avoided |
03:27 |
hmmmm |
you should get some sleep |
03:27 |
Exio |
delete in C++ is free in C, no? |
03:27 |
sapier1 |
most likely you wont notice someone running over end of loop |
03:27 |
hmmmm |
exio, almost |
03:27 |
Exio |
(as new == malloc) but with a C++ behavior |
03:27 |
Exio |
ok |
03:28 |
hmmmm |
there are other things that happen aside from memory allocation |
03:28 |
sapier1 |
quite but constructors/destructors are called too |
03:28 |
Exio |
yep, that is what i meant with "C++ behavior" :P |
03:28 |
sapier1 |
btw if someone wants to fix the other gui files ;-) I'd not be mean about it ;-) |
03:29 |
sapier1 |
and now have a good day ;-) |
03:29 |
|
sapier1 left #minetest-dev |
03:34 |
|
kahrl joined #minetest-dev |
03:34 |
kahrl |
erm why are you guys removing the texture atlas? |
03:34 |
hmmmm |
he came from the grave to defend his invention |
03:35 |
kahrl |
heh :P but it wasn't my invention |
03:35 |
hmmmm |
i personally wouldn't like to see the texture atlas completely removed, that's sapier's idea, but it was everybody's idea to have it disabled by default as it is often problematic and doesn't improve much |
03:36 |
kahrl |
there are obviously bugs in the texture atlas code somewhere |
03:36 |
hmmmm |
celeron did say that the texture atlas is pretty useless though |
03:36 |
hmmmm |
i would rather see it fixed than destroyed |
03:39 |
kahrl |
maybe take hints from the map generator about which nodes to include in the atlas? |
03:39 |
kahrl |
since right now it goes through all the nodes by ID |
03:40 |
kahrl |
then it might be not as useless |
03:41 |
hmmmm |
how often is the atlas built? |
03:42 |
kahrl |
twice, it seems |
03:42 |
kahrl |
once when Client is created and once in afterContentReceived |
03:43 |
hmmmm |
i'm honestly not too familiar with what the problems were, i was never too involved with the texture atlas things. forgive me if i sound ignorant |
03:43 |
hmmmm |
it seems like a recipie for running out of video memory though |
03:44 |
kahrl |
how so? |
03:44 |
hmmmm |
lots of servers have ridiculous amounts of nodes, like ~2600 |
03:44 |
kahrl |
its size is limited to 1024x1024 or some number like that |
03:44 |
hmmmm |
and then to make things worse, they use high resolution texture packs |
03:44 |
hmmmm |
ah |
03:44 |
hmmmm |
let me see that |
03:45 |
kahrl |
which means it isn't really useful if you use HD texture packs, but it should help with 16px ones |
03:45 |
hmmmm |
looks more like 256x256 |
03:46 |
kahrl |
core::dimension2d<u32> atlas_dim(2048,2048); |
03:47 |
hmmmm |
i see |
03:47 |
hmmmm |
what's with the column_width? |
03:47 |
kahrl |
not sure |
03:47 |
kahrl |
oh, the atlas_dim was changed in 1b078efd5fe3a80011339f90df06e5f55fdbadf3 |
03:48 |
VanessaE |
the prodigal son returns, heh |
03:49 |
kahrl |
I've been here all the time :P |
03:49 |
kahrl |
watching you |
03:50 |
kahrl |
that didn't sound creepy at all did it |
03:50 |
hmmmm |
do you watch through loggingbot_ or something? |
03:50 |
VanessaE |
heh |
03:50 |
kahrl |
yeah on irc.minetest.ru |
03:51 |
Exio |
ehm |
03:51 |
Exio |
i will stop talking in the channel, i think |
03:52 |
kahrl |
? |
03:52 |
VanessaE |
Exio: big brother is watching you. |
03:52 |
Exio |
exactly! |
03:53 |
Exio |
kahrl: just a joke as response to the "I've been here all the time watching you" |
03:53 |
hmmmm |
texture atlas with 16x16 textures actually decreases performance for me slightly (about 1-2 fps with the same exact scene, nothing significant though) |
03:53 |
hmmmm |
it's probably more effective with certain gpus |
03:53 |
kahrl |
okay wasn't sure if joking :P |
03:55 |
kahrl |
interesting, I'll check the performance gains (losses) too |
03:56 |
hmmmm |
the nodes placed by the map generator (the most common nodes) are nearly always the first nodes registered, so they would certainly be found in the atlas |
03:56 |
hmmmm |
i'm not really sure if it needs a hint |
03:56 |
|
jojoa1997|Tablet joined #minetest-dev |
03:56 |
kahrl |
true |
03:56 |
jojoa1997|Tablet |
Mauvebic |
03:57 |
hmmmm |
i'm not a 3d graphics person at all, so i really don't know... what could be used to profile graphics performance? |
03:59 |
|
ds-2k joined #minetest-dev |
04:00 |
kahrl |
haven't really used anything but drawtime and FPS so I don't know |
04:00 |
Exio |
drawtime, not FPS |
04:01 |
Exio |
the difference of FPS can be very high but the drawtime is "what really matters" |
04:01 |
hmmmm |
graphically, i'm not sure if minetest is doing too well |
04:01 |
hmmmm |
we don't use many effects, yet struggle to get a decent framerate on even modern-ish (but low end) GPUs |
04:02 |
hmmmm |
clearly it was optimized for intel 945gm graphics, but that probably had much different bottlenecks than say, my nvidia 8400gs |
04:03 |
hmmmm |
it'd be nice to have some mechanism to set different performance profiles based on which gpu is present |
04:06 |
kahrl |
is there a way to tell with irrlicht? |
04:07 |
hmmmm |
on initialization, the GPU name string is printed out so i'm fairly sure there is |
04:08 |
Exio |
what type of "performance boost" can be done to a special gpu? |
04:09 |
kahrl |
IVideoDriver::getVendorInfo() |
04:09 |
hmmmm |
excellent, thanks |
04:10 |
hmmmm |
exio, more fps by doing things the way that works best for that certain class of GPUs |
04:11 |
|
jojoa1997|Tablet joined #minetest-dev |
04:15 |
ds-2k |
For the texture atlas, http://irc.minetest.ru/minetest-dev/2013-02-27#i_2900808 has some information about issues (6d facedir breaks) |
04:18 |
kahrl |
thanks, I didn't know the rendering is now sorted by material |
04:19 |
kahrl |
that does make the atlas somewhat useless |
04:21 |
RealBadAngel |
atlas goes nuts when tile vertices are rotated |
04:23 |
kahrl |
that could be worked around I guess, but now I'm not sure if it's needed |
04:23 |
Exio |
for what is the texture atlas exactly? |
04:24 |
kahrl |
switching textures during rendering is a slow operation |
04:24 |
kahrl |
the atlas makes it so most things use the same texture |
04:24 |
Exio |
hm |
04:25 |
Exio |
i just tried here (nvidia gt 610 - x6 6100), 10~ FPS less with the atlas enabled (actually, that is very low in terms of drawtime) |
04:26 |
Exio |
from 180-250~ to 160-235~ |
04:26 |
hmmmm |
what sort of FPS do you get in general with that setup, and with what resolution and other options? |
04:26 |
Exio |
nearly 1920x1080, default outside that |
04:26 |
hmmmm |
crazy |
04:26 |
hmmmm |
40fps here with an 8400gs |
04:26 |
Exio |
what can kill my fps is the AA |
04:27 |
Exio |
fsaa = 32 |
04:27 |
hmmmm |
disabled transparent leaves, 1280x1024 |
04:27 |
Exio |
check how many fps you get, 21 here when looking at the sky |
04:27 |
Exio |
(400~ when looking at the sky without fsaa) |
04:35 |
|
ShadowNinja joined #minetest-dev |
04:37 |
Exio |
for being real, i don't see a real difference between 100 or 120 FPS to 500 |
04:38 |
hmmmm |
should probably enable VSync |
04:38 |
hmmmm |
you'll save a whole bunch of electricity |
04:38 |
Exio |
nah, my gpu is the cheaper i was able to buy |
04:38 |
Exio |
it consumes like 20 W or less, (iirc) |
04:39 |
hmmmm |
CPU too, your CPU does things ever frame too |
04:39 |
Exio |
and really, fps_limit, i normally have vsync or some fps limit |
04:39 |
Exio |
well, talking about that, yes |
04:39 |
hmmmm |
those are pretty incredible numbers, i must say |
04:39 |
Exio |
i should try to overclock the cpu / gpu and then try to run minetest |
04:39 |
hmmmm |
what OS are you using? |
04:39 |
Exio |
debian6 actually |
04:40 |
hmmmm |
310 or 314 drivers? |
04:40 |
hmmmm |
313 rather |
04:40 |
Exio |
i'll install gentoo in some weeks when i'm able to get a proper network |
04:40 |
Exio |
| NVIDIA-SMI 4.310.32 Driver Version: 310.32 | |
04:40 |
Exio |
hmmmm: ^ here :P |
04:40 |
hmmmm |
i am still on 304 actually, i noticed there was a bit of a regression with 310 when i tried them on my laptop |
04:42 |
Exio |
the only game where i had "fps problems" was in minecraft, actually |
04:42 |
hmmmm |
heh, when i get a job i intend on getting a real graphics card, something like a 660Ti or 760Ti, or whatever's a generaton old by that time. i can only imagine the FPS i'd get then |
04:42 |
Exio |
i don't see buying a "very high end" gpu something what is worth it unless you really need it |
04:43 |
Exio |
a mid-end (not low end like this) will work very well |
04:43 |
Exio |
hmmmm: this gpu is already old, ddr3, most actual gpu are ddr5 and so |
04:43 |
hmmmm |
*60Ti isn't really high end, the *50 and lower is sort of a crappy price/performance point |
04:43 |
Exio |
isn't the Ti = titan? |
04:43 |
hmmmm |
no |
04:44 |
Exio |
ah |
04:44 |
hmmmm |
it's just a designation given to a trimmed-down version of that series' 70 |
04:44 |
hmmmm |
despite what the naming says, it has more in common with a 670 than it does a 660 |
04:45 |
Exio |
the specs of my 350ARS (70~ USD) GPU http://www.geforce.com/hardware/desktop/geforce-gt-610/specifications |
04:45 |
hmmmm |
yikes, that was $70? |
04:45 |
hmmmm |
that's overpaying by US standards |
04:46 |
Exio |
argentina prices |
04:46 |
hmmmm |
that sucks |
04:46 |
Exio |
my mobo (m5a99x) was 1050 ARS == 200~ USD |
04:47 |
Exio |
GeForce GTX660 TI Ddr5 2 Gb Pci-E |
04:47 |
Exio |
hmmmm: this gpu? |
04:47 |
hmmmm |
yeah |
04:47 |
hmmmm |
well, that's just what i'm planning on |
04:47 |
hmmmm |
i'd prefer the generation after Kepler if possible |
04:47 |
Exio |
2845 ARS / 550 USD |
04:48 |
hmmmm |
now that's crazy |
04:48 |
hmmmm |
it's less than half as much here |
04:48 |
Exio |
yep, :P |
04:48 |
Exio |
most of stuff here is like that |
04:49 |
hmmmm |
sometimes i wonder if i can start a business where i sell computer hardware in other countries for much lower prices |
04:49 |
hmmmm |
customs tax and other things can't possible be _that_ much |
04:49 |
Exio |
lol |
04:49 |
hmmmm |
possibly* |
04:49 |
VanessaE |
hmmmm: fwiw, I can't even do a consistent 60 fps on my badass system, with the default textures. |
04:50 |
hmmmm |
what is your video card? you never mentioned that |
04:50 |
VanessaE |
(scrolled back) |
04:50 |
VanessaE |
an AMD/ATI HD6870 with 1GB VRAM and the Catalyst drivers. |
04:50 |
hmmmm |
sounds like there's something wrong for you |
04:50 |
VanessaE |
yup, always has been. |
04:50 |
hmmmm |
maybe your AA settings are too high |
04:51 |
VanessaE |
in 16px mode, I turn off all those settings. |
04:51 |
Exio |
other price if you wonder of my actual and "new" setup: 164 usd for the cpu bulldozer x6 6100 |
04:51 |
hmmmm |
bulldozer :/ |
04:51 |
Exio |
VanessaE: can you check in your minetest.conf if you have any "fsaa"? |
04:51 |
VanessaE |
Exio: I do not run in fullscreen. |
04:51 |
VanessaE |
(and no, I don't have) |
04:52 |
Exio |
hmmmm: what's up by the bulldozer? |
04:52 |
Exio |
VanessaE: fsaa != fullscreen :P |
04:52 |
VanessaE |
Exio: the fs part stands for full screen :_) |
04:52 |
VanessaE |
:) |
04:52 |
Exio |
hehe |
04:52 |
VanessaE |
(fsaa does nothing if you're not running fullscreen mode) |
04:53 |
hmmmm |
exio, bulldozer has rather poor performance compared to Intel cpus of the same generation |
04:53 |
Exio |
hmmmm: yep, that is like always, intel always "win" in that thing |
04:54 |
Exio |
but, i don't buy intel because price and because i can buy a decent mobo "today" and in some years just upgrade the cpu |
04:54 |
hmmmm |
bulldozer is slower than its predecessor in many benchmarks too |
04:54 |
Exio |
phenom x6, yes, it was a "unfinished" if we can say gen |
04:54 |
hmmmm |
oh my |
04:54 |
hmmmm |
we should probably talk about this in #minetest |
04:55 |
Exio |
haha |
04:55 |
hmmmm |
i just realized we're spamming up the dev channel |
05:10 |
|
ds-2k left #minetest-dev |
06:27 |
hmmmm |
i feel like i'm repeating myself by saying this, but turning presdigitator away was such a great move |
06:28 |
hmmmm |
actually this same thought pops up into my mind whenever i go read his code |
06:28 |
hmmmm |
he does the exact opposite of the entire style of minetest, the coding style, the constructs, everything |
06:30 |
hmmmm |
and he was so totally wrong about his object model making things easier to use... nobody could possibly be more wrong about anything, ever |
06:30 |
hmmmm |
this is horrible |
06:30 |
hmmmm |
may god help his employers. |
06:33 |
* VanessaE |
hands hmmmm some bread and mayo to go with the aforementioned spam ;-) |
06:41 |
hmmmm |
also, he doesn't even implement the two "more difficult" ways of modulating noise with noise, the number of octaves and spread factors |
06:41 |
hmmmm |
:/ |
06:42 |
hmmmm |
so his entirely new noise.cpp was just basically what we already had with everything renamed, a completely different object model, and implementations of simplex and improved perlin noise that we could've gotten from a sample implementation off the internet |
06:43 |
hmmmm |
...there was no real value to this contribution at all |
06:49 |
VanessaE |
for celeron55 --> http://ifunny.mobi/#IJ3uoo8J |
06:49 |
VanessaE |
:D |
07:25 |
hmmmm |
there's vanessa being random again |
07:26 |
VanessaE |
:P |
07:27 |
Exio |
bad |
10:06 |
|
proller joined #minetest-dev |
10:27 |
|
Calinou joined #minetest-dev |
10:31 |
|
Zeg9 joined #minetest-dev |
10:56 |
|
PilzAdam joined #minetest-dev |
10:59 |
|
darkrose joined #minetest-dev |
10:59 |
|
darkrose joined #minetest-dev |
11:05 |
|
Jordach joined #minetest-dev |
11:09 |
|
qwook joined #minetest-dev |
11:09 |
qwook |
hello |
11:22 |
|
Calinou joined #minetest-dev |
11:56 |
|
jackoxy joined #minetest-dev |
12:10 |
|
Taoki joined #minetest-dev |
12:19 |
|
iqualfragile joined #minetest-dev |
12:20 |
|
rarkenin joined #minetest-dev |
12:52 |
|
troller joined #minetest-dev |
12:57 |
|
troller joined #minetest-dev |
13:06 |
|
sapier joined #minetest-dev |
13:10 |
sapier |
if anyone is so addicted to texture atlas I'll leave it in there .. it's not much of a difference as it's only a single function ;-) |
13:10 |
sapier |
and two loops :-) |
13:20 |
|
hmmmm joined #minetest-dev |
13:44 |
sapier |
grrr ... is there any reason for SourceAtlasPointer not being a pointer but a struct object? |
13:47 |
|
proller joined #minetest-dev |
13:48 |
hmmmm |
probably not |
13:49 |
hmmmm |
how does this terrain make you feel? |
13:49 |
hmmmm |
http://ompldr.org/vaHlkMg |
13:49 |
sapier |
ok its a index/link to somethin within atlas ... don't know how to name it correct but "pointer" is somehow missleading in c/c++ |
13:49 |
sapier |
wow |
13:49 |
sapier |
looks great |
13:50 |
hmmmm |
"looka great"? |
13:50 |
hmmmm |
looks* |
13:50 |
hmmmm |
that's just two noises |
13:50 |
sapier |
after removing all of those bogus memory leaks I may have identified those ones who might be the big ones |
13:50 |
hmmmm |
what were they |
13:51 |
sapier |
of course node type variation is a little bit small but I guess this is a minor problem |
13:52 |
sapier |
it's where we expected them on texture download I just don't fully understand why there is memory lost ... what valgrind shows might be only top of ice as those are references to irrlicht structures ... but I'm not quite sure |
13:53 |
hmmmm |
hmmm |
13:53 |
sapier |
maybe it's even related to localy overriding textures ... testing is a little bit time consuming with minetest running in valgrind ;) |
13:58 |
sapier |
btw I've got 1 random leak within sqlite and another one within irrlicht shaders left I can't find out why they happen |
14:03 |
hmmmm |
you know, valgrind isn't always accurate |
14:03 |
hmmmm |
it could just be wrong |
14:03 |
sapier |
maybe but by now it was very accurate |
14:04 |
hmmmm |
how do you know it's a memory leak? |
14:05 |
sapier |
memory allocated but not feed is per definition a memory leak :) and it's quite easy to detect so I do believe in valgrinds abilities to detect this |
14:05 |
|
troller joined #minetest-dev |
14:05 |
hmmmm |
well |
14:05 |
hmmmm |
could be something that the sqlite people just couldn't avoid |
14:05 |
hmmmm |
*shrug* |
14:05 |
hmmmm |
http://www.zimg.eu/i/3476640221 |
14:06 |
sapier |
maybe that's why I don't really bother about this one |
14:06 |
sapier |
interesting ... imho a little bit to many small rivers |
14:06 |
hmmmm |
that's because of log() |
14:07 |
hmmmm |
i need to add a curve to it so it doesn't hit a negative number all the time |
14:07 |
sapier |
I'm more concerned about the shader leak ... it's small but I don't know how many data is hidden behind it |
14:08 |
sapier |
as long as data is held within irrlicht data structures it's not lost (according to valgrind) but of course it may not be accessible by minetest |
14:11 |
sapier |
did you ever search for "tilt" in google? |
14:13 |
hmmmm |
erm, no |
14:13 |
hmmmm |
oh yeah it'll tilt your screen |
14:13 |
hmmmm |
almost forgot about that |
14:15 |
sapier |
btw we're missing some easter eggs within minetest ;-) |
14:15 |
celeron55 |
i once had planned that minetest should work so that it would run the menu using an irrlicht software device and then open a new irrlicht device with acceleration; then when that is closed, all textures and stuff related to it will be removed by irrlicht |
14:16 |
celeron55 |
quite an oldskool way to do it, but it would work |
14:16 |
celeron55 |
of course now that the menu has clouds and whatever, it's less of an alternative |
14:16 |
sapier |
yes but I should be fixable without this too I already managed to fix most problems on shutdown/logoff |
14:17 |
sapier |
I don't lose memory now when connecting to server without local textures (in terms of valgrind memory loss) ... can't tell if there's memory burried within irrlicht by now |
14:21 |
celeron55 |
irrlicht caches all kinds of things |
14:22 |
sapier |
I know but as far as I understand as soon as reference count is zero it's deleted |
14:23 |
celeron55 |
not for everything i think; but i guess you can find that out |
14:23 |
sapier |
and most of the memory leaks haven't even been within irrlicht ... by number most common reason for memory leaks was gettext |
14:23 |
celeron55 |
that's just real memory leaks |
14:23 |
celeron55 |
valgrind will be completely happy with irrlicht keeping unnecessary caches |
14:23 |
sapier |
yes |
14:24 |
celeron55 |
and that'll be like 1000x more than anything else can possibly be |
14:24 |
sapier |
but valgrind can tell you if you're loosing references to irrlicht data instead of freeing it |
14:24 |
|
proller joined #minetest-dev |
14:24 |
celeron55 |
that applies only to losing reference counted data by forgetting to count it to zero |
14:25 |
celeron55 |
it doesn't apply to caches that irrlicht properly manages (without freeing) |
14:25 |
|
Nore_ joined #minetest-dev |
14:26 |
Nore_ |
I have an idea for infinite maps. |
14:26 |
sapier |
yes ... but it's a good point to start with as soon as minetest itself is clean irrlicht internal glitches aren't burried below thousands of errors |
14:26 |
celeron55 |
i think you should start by finding everything in IVideoDriver that is related to clearing caches |
14:26 |
Nore_ |
It's Irrlicht that causes the limit no? |
14:26 |
sapier |
I assume it's your memory that causes some limits ;-) |
14:27 |
Nore_ |
about the limit of map coordinates |
14:27 |
celeron55 |
Nore_: first make a youtube video of you waking from 0 to 31000 |
14:27 |
celeron55 |
walking* |
14:27 |
celeron55 |
then we can talk |
14:27 |
Nore_ |
but some servers have a big map |
14:28 |
Nore_ |
they are limited by coordinates |
14:28 |
Nore_ |
so if we substa |
14:28 |
proller |
.. using indev magpen, with hi mountains at 10000 |
14:28 |
ShadowNinja |
I know that has happened on redcrabs server |
14:28 |
Nore_ |
so if we substracted a number from the coordinates |
14:28 |
ShadowNinja |
but verticaly |
14:29 |
Nore_ |
so that Irrlicht has no coordinate too big, it should work, no? |
14:29 |
sapier |
the 31k is due to coordinates being 16 bits for performance reasons (at least as far as I know) |
14:29 |
Jordach |
or just made a long float |
14:29 |
Nore_ |
isn't it irrlicht internal reasons? |
14:29 |
celeron55 |
it is not a matter of absolute limits in numbers; it is a limit on float precision |
14:30 |
Nore_ |
and if we used doubles? |
14:30 |
celeron55 |
irrlicht does not support doubles for where minetest would require to accurately render further than roughly +-30000 things (it becomes terribly imprecise there already) |
14:31 |
Nore_ |
yes, but for irrlicht, we could substact enough to get something less than 1000 |
14:31 |
celeron55 |
then you need more precision and you have the exact same result |
14:31 |
celeron55 |
absolute floating point precision is exactly correlated to how large the number is |
14:32 |
Nore_ |
minetest could handle doubles, and we give floats to irrlicht after having substracted a big number to get coordinates +-1000 |
14:32 |
Nore_ |
Minetest could then have bigger maps |
14:32 |
celeron55 |
so you are telling us to rebuilt the world geometry using an offset when the player moves further? |
14:32 |
celeron55 |
rebuild* |
14:33 |
celeron55 |
quite much work for no actual benefit |
14:34 |
Nore_ |
is it that complicated to shift the coordinates only for one client? |
14:34 |
celeron55 |
also, 16bit coordinates allow certain kinds of very useful things, like hashing v3s16 into one lua number (which supports 52 bits of exact integers or whatever) |
14:34 |
celeron55 |
and they are integral to the map format |
14:35 |
Nore_ |
so maps will ever be limited to +-32000? |
14:36 |
rarkenin |
What about scaling the scene down? |
14:36 |
sapier |
unless someone adds another level of indirection this is most likely to be true |
14:36 |
celeron55 |
rarkenin: 17:31:24 < celeron55> absolute floating point precision is exactly correlated to how large the number is |
14:36 |
celeron55 |
you gain exactly nothing by doing that |
14:36 |
sapier |
what exactly would be benefit of having bigger maps? |
14:37 |
rarkenin |
And having multiple scenes swapped in/out was a no-no? |
14:37 |
Nore_ |
some servers than are running since a long time are out of surface |
14:37 |
celeron55 |
Nore_: show us one |
14:37 |
rarkenin |
What about having the player stationary in the center, then moving the mesh aroound the player. |
14:38 |
rarkenin |
So any mesh generation and mesh-sending-to-Irrlicht occurs near 0,0,0 in Irrlicht space. |
14:38 |
sapier |
rarkenin that doesn't fix the coordinate problem |
14:38 |
Nore_ |
ok... some servers that are running since a long time could be out of surface space |
14:38 |
Nore_ |
rarkenin: I had the same idea, but there are other problems such as map format |
14:39 |
rarkenin |
sapier: Minetest uses whatever longer format it needs internally, but then what it sends to Irrlicht is all within the draw range, which is hopefully much less than 15000 |
14:39 |
celeron55 |
Nore_: do you understand how large a fully surface-generated minetest world is? |
14:39 |
PilzAdam |
Id like to have an option for smaller maps, like 1000x1000x1000 |
14:39 |
sapier |
btw you shouldn't forget how crucial coordinates are, if you need to transform them by an arbitrary complex mechanism this will hav impact on performance ... and I guess this wouldn't be minor |
14:39 |
rarkenin |
What about generating multiple surface levels? |
14:39 |
PilzAdam |
the mapgen could generate to 1200 or so, so you dont see an edge |
14:39 |
PilzAdam |
but you cant walk further |
14:40 |
celeron55 |
Nore_: it will take roughly 1 TERAbyte in compressed format; you couldn't fill it with content even if you paid people to try |
14:40 |
rarkenin |
So vertically it's like air-air-air-dirt/water/surface-stone-stone-stone-bedrock-air-air-air-surface features |
14:40 |
ShadowNinja |
PilzAdam: there is a map generation limit in constants.cpp iirc |
14:40 |
PilzAdam |
yea, but I want a player walk limit |
14:40 |
Nore_ |
you are probably right... |
14:41 |
rarkenin |
celeron55: 1 TB if the entire 3d space was visited. The problem lies in that the surface is much more desired than 2000 below sea level |
14:41 |
rarkenin |
well, you can change the data types where position is stored and recompile irrlicht |
14:41 |
celeron55 |
rarkenin: the whole 3D space is 15TB |
14:42 |
celeron55 |
well actually, i overestimated the surface height probably; but on the other hand i have no idea how much space a piece of map actually takes |
14:42 |
celeron55 |
(only have some rough memories from years ago) |
14:42 |
rarkenin |
Yeah, but it's still a good chunk of height. From -2000 to 2000 is a TB. |
14:43 |
rarkenin |
Just how painful would it be to refactor all of Irricht's doubles to quad-precision floats? |
14:43 |
celeron55 |
in any case, nobody is interested to do anything you are talking about |
14:43 |
sapier |
it's already painfull to refactor thoughtless use of new :-) |
14:43 |
celeron55 |
it's a terrible amount of work and complicates the codebase |
14:44 |
celeron55 |
every core developer would hate anyone who would do that |
14:44 |
rarkenin |
Ah, I see. |
14:44 |
hmmmm |
there is no benefit at all to adding more range |
14:44 |
hmmmm |
it will never be done, ever in minetest |
14:44 |
sapier |
maybe some sort of multiple maps within a single server could be done |
14:44 |
hmmmm |
if you want that to happen, you're going to have to fork minetest, do it yourself, and then convince everybody who currently uses minetest that your fork is so much better |
14:44 |
sapier |
so once you reach the edge of a map you continue on another one ;-) |
14:44 |
celeron55 |
a thing which *could* be done is dividing the vertical space to multiple surfaces |
14:45 |
celeron55 |
it's mainly a mapgen problem, maybe a bit of a lighting one too (but not major) |
14:45 |
sapier |
yes another possible solution ... this would require pilzadams movement limits too |
14:46 |
celeron55 |
not really; what's the problem of climbing to the bottom of the upper world? :P |
14:46 |
hmmmm |
hey buttholes, before you start deciding what to do with the vertical space, i'll have you know that i'm using that for hell and sky biomes |
14:46 |
rarkenin |
The problem is figuring out the topology of the world. |
14:46 |
hmmmm |
stop ruining my plans |
14:46 |
hmmmm |
;-; |
14:46 |
celeron55 |
but really, i suggest just not caring |
14:47 |
sapier |
I remeber that ancient picture where a farmer is looking through sky-sphere to se what's behind |
14:47 |
celeron55 |
it is only an imagined problem |
14:47 |
celeron55 |
we have real problems too |
14:47 |
Nore_ |
in fact, the actual problem is the file size limit, no? |
14:47 |
sapier |
true ... like memory getting lost everywhere ;-) |
14:47 |
hmmmm |
i want to not save mapblocks if nothing has been modified since generation |
14:48 |
Nore_ |
I have seen that sqlite couldn't handle files bigger than 4GB |
14:48 |
hmmmm |
that alone should massively cut down on space consumption, but then again, break things like minetestmapper |
14:49 |
proller |
sky test already on my very-dev server, can try "Sky hardcore" in list |
14:49 |
proller |
spawn at 30000 at float lands |
14:49 |
Nore_ |
If you did that, you could even stone only nodes that have changed since mapgen |
14:50 |
celeron55 |
hmmmm: maybe minetest should include a mapper in itself |
14:50 |
hmmmm |
yeah |
14:50 |
celeron55 |
minetestserver --run-mapper map.png |
14:50 |
proller |
+1 |
14:50 |
proller |
but with height param |
14:51 |
Nore_ |
moreover, I think someone has rewritten minetestmapper in C++ |
14:51 |
hmmmm |
that kind of reminds me of my early map preview idea that i was going to do |
14:51 |
celeron55 |
Nore_: it's probably not useful as it doesn't use irrlicht nor minetest's internal map handling systems |
14:51 |
sapier |
hmm combinin this with a canvas to be used from lua we could even have a working map ;-) |
14:51 |
celeron55 |
Nore_: but dunno; he who tries will find out |
14:53 |
celeron55 |
but once again, it is definitely a thing that will be included upstream if somebody does it well |
14:57 |
|
Calinou joined #minetest-dev |
14:57 |
|
rubenwardy joined #minetest-dev |
14:58 |
|
ds-2k joined #minetest-dev |
15:00 |
ds-2k |
For multiple maps on one server, Jeija has a branch with reconnect commands: https://github.com/Jeija/minetest/tree/rejoin |
15:01 |
sapier |
yes but reconnect is quite difficult to manage if you want to avoid passwords being useless |
15:04 |
Calinou |
sapier: why? |
15:05 |
sapier |
normaly you don't save passwords after sending them to server for security reasons so a reconnect would require a different way to decide if client really is who it pretends to be |
15:05 |
sapier |
but as long as password transfer isn't encrypted this most likely is of no relevance |
15:06 |
sapier |
LEAK SUMMARY: |
15:06 |
sapier |
==20363== definitely lost: 672 bytes in 6 blocks |
15:06 |
sapier |
after 4 reconnects with 64px textures |
15:07 |
sapier |
and those 6 blocks are burried somewhere within shader code |
15:17 |
|
rubenwardy1 joined #minetest-dev |
15:27 |
|
ds-2k left #minetest-dev |
15:35 |
proller |
hmmmm, new flags use - flags = ["absheight"], ? im now making flag for spring |
15:35 |
hmmmm |
erm |
15:35 |
hmmmm |
obviously water springs shouldn't be an ore flag |
15:35 |
hmmmm |
there's a better way to do this |
15:36 |
proller |
how better ? |
15:36 |
proller |
special flag ? |
15:36 |
hmmmm |
no, in the settings like before |
15:36 |
hmmmm |
except |
15:36 |
hmmmm |
we need to figure out how to read the mapgen parameters from lua |
15:37 |
hmmmm |
that's really the problem |
15:37 |
hmmmm |
i'll figure something out |
15:37 |
proller |
in wich settings ? |
15:38 |
hmmmm |
the map metadata settings |
15:42 |
hmmmm |
honestly, i think (especially for right now) it'd be best to use the regular minetest.conf settings to decide if you register underground springs as ores though |
15:42 |
proller |
but somewhere must be flag for setting param2=128 (on ore gen), and general flag for enabling springs (in map data) |
15:42 |
hmmmm |
oh right i forgot that |
15:43 |
|
jojoa1997|Tablet joined #minetest-dev |
15:43 |
hmmmm |
instead of just a nodename, i'll take in a node structure |
15:43 |
hmmmm |
so you'd be able to do ore = {name="water_source", param2=0xF0} |
15:44 |
hmmmm |
hmmm |
15:44 |
* proller |
want 8) |
15:44 |
hmmmm |
this has more use than setting levels for finite water |
15:44 |
* hmmmm |
is thinking of stars |
15:45 |
jojoa1997|Tablet |
can we use ore generation function in mods |
15:45 |
proller |
i want make leveled snow |
15:45 |
hmmmm |
jojoa, that's the whole point... |
15:46 |
jojoa1997|Tablet |
is there a branhc that has some features not in dev |
15:46 |
jojoa1997|Tablet |
like gui bar api |
15:46 |
jojoa1997|Tablet |
or something |
15:46 |
jojoa1997|Tablet |
maybe rivers? |
15:47 |
|
dexter0 joined #minetest-dev |
15:47 |
hmmmm |
yes, i can tell you want new features |
15:47 |
hmmmm |
new features need to be made first |
15:48 |
jojoa1997|Tablet |
i read the todo in dev wiki and thought it said some features were made but not yet merged on basis of being not good |
15:48 |
hmmmm |
http://www.zimg.eu/i/3476640221 |
15:48 |
Exio |
there is a stuff like the mapgen v7 what was "wrote" just as POC before, (iirc for hmmmm code) |
15:48 |
Exio |
(for defining the biomes and so on) |
15:48 |
hmmmm |
how's that for rivers |
15:49 |
jojoa1997|Tablet |
oh rivers |
15:49 |
jojoa1997|Tablet |
good |
15:49 |
hmmmm |
i just did that an hour ago |
15:49 |
jojoa1997|Tablet |
hmmmm that is actually really good |
15:49 |
jojoa1997|Tablet |
awesome |
15:49 |
jojoa1997|Tablet |
also has there been code made for water above 0 |
15:49 |
hmmmm |
no |
15:50 |
hmmmm |
you probably don't realize how difficult that is to control |
15:50 |
hmmmm |
i tried something like that with water as ore above ground replacing dirt_with_grass, and it just made flooded, messy hills |
15:51 |
jojoa1997|Tablet |
what about |
15:51 |
jojoa1997|Tablet |
a node that digs a hole in ground and places water |
15:52 |
hmmmm |
i guess you can do that if you'd like |
15:53 |
hmmmm |
right now, in Lua |
15:53 |
hmmmm |
randomly select a spot and then dig a hole deep enough so that its height is lower than all the surrounding nodes, then fill it with water up to the lowest node on its edge |
15:55 |
proller |
or make seasons&rain&snow , ant it fill all holes |
15:55 |
hmmmm |
well, that could work too, but he wants it generated that way |
15:57 |
sapier |
wow I just managed to reduce memory leak from 1.2k textures per cycle to 3 :-) |
15:57 |
* hmmmm |
claps |
15:57 |
sapier |
I think it's time to commit |
15:58 |
hmmmm |
gggggbbvbvb |
15:58 |
sapier |
finaly it was quite obvious ... texture source is cleaning up source images but forgets to tell irrlicht about it |
15:59 |
hmmmm |
0.4.6 is being released on wednesday |
15:59 |
hmmmm |
should this wait? |
15:59 |
PilzAdam |
yes, definetly |
15:59 |
PilzAdam |
also, why isnt the feature freeze in the channel topic? |
15:59 |
sapier |
still somewhere is still lots of memory lost |
16:00 |
hmmmm |
because i don't have ops |
16:00 |
PilzAdam |
me neither |
16:00 |
PilzAdam |
core devs should be ops in this channel |
16:01 |
sapier |
no it aaint after 10 start's I've lost only 30mb instead of 60mb per cycle as before |
16:01 |
sapier |
should I read atlas in order to get this merged to 0.4.6? |
16:02 |
hmmmm |
i don't think it's a good idea to do anything else that doesn't absolutely need to be done this soon |
16:02 |
PilzAdam |
we dont merge anything in except the new translations until 0.4.6 |
16:02 |
hmmmm |
you were losing 60mb per cycle, really? |
16:02 |
hmmmm |
i was only losing less than 1mb according to htop anyway |
16:02 |
sapier |
ok so first 0.4.6 version will be much more stable than latest stable :-) quite funny |
16:03 |
sapier |
depends on your texture pack |
16:03 |
sapier |
64px on vanessaes server is about 60 mb (maybe more I haven't tested without any cleanul) |
16:03 |
sapier |
512px it's about 1gb per cycle |
16:04 |
hmmmm |
this will be a very welcome fix |
16:06 |
sapier |
I know ;-) hopfully this will fix inventory image corruption too |
16:08 |
PilzAdam |
if the corruption appears at first startup? |
16:12 |
sapier |
memory handling was so bad I wouldn't even say it'd not be messed up on first start |
16:13 |
|
dexter0 joined #minetest-dev |
16:14 |
sapier |
but in this very special case I wouldn't expect this to be fixed |
16:22 |
sapier |
https://github.com/minetest/minetest/pull/587 plz review |
16:23 |
PilzAdam |
commit messages should start with a capital letter |
16:23 |
Exio |
wasn't the texture atlas "not going" to get removed? |
16:24 |
sapier |
if you want it back I'll add it back but I don't think it's usefull at all |
16:24 |
Exio |
PilzAdam: i don't see why that "should be" enforced |
16:25 |
Exio |
sapier: i, personally, don't care about the atlas, but there was some discussion yesterday at night about that |
16:25 |
Exio |
(well, night here :P) |
16:26 |
sapier |
If anyone would be so carefully in cleaning up allocated memory as pilzadam is with cas sensitiveness ... I wouldn't have had to fix hundreds of bugs prior detecting the real one :-) |
16:26 |
PilzAdam |
sapier, wtf https://github.com/sapier/minetest/commit/7a51620cda2acb3a4b38e1a0c7a94b88ae720a46#L14L372 |
16:26 |
sapier |
gettext is allocating memory thus spilling it in this case |
16:26 |
sapier |
within add_key its allocated a second time ;-) |
16:27 |
sapier |
if you prefere the previous unreadable alignment I'll revert back to it too :-) |
16:28 |
PilzAdam |
are the strings translated somewere else? |
16:28 |
sapier |
yes add_key uses wgettext on given parameters again |
16:29 |
PilzAdam |
its hard to create the correct .po file for this |
16:29 |
sapier |
signature of add_key expects a std::string so memory allocated by gettext is lost |
16:29 |
sapier |
I won't fix i18n this can be done by someone else ;-) |
16:31 |
PilzAdam |
it would be better for your current translation system to call gettext() in in init_keys() instead of add_key |
16:32 |
sapier |
no it wouldn't as I would have to add a free to any of those lines |
16:32 |
sapier |
ok a delete[] |
16:33 |
PilzAdam |
updatedpo.sh doesnt find the strings if you call it in add_key() |
16:33 |
sapier |
oh ... didn't know about that ... why? |
16:34 |
sapier |
hmm because it's a parameter used for wget |
16:35 |
PilzAdam |
it uses xgettext to get get the strings and writes it into minetest.pot |
16:36 |
sapier |
i hope this is the only place where add_key is used as I need to change it's signature to get this working in a sane was |
16:36 |
sapier |
way |
17:07 |
sapier |
ok I've fixed it I hope updatepo.sh is working again |
17:09 |
sapier |
hmm ... I wouldn't even have needed the additional variables now ... |
17:11 |
Exio |
well, if MT were C i'd have said "use macros" :P |
17:11 |
Exio |
was* |
17:12 |
sapier |
ok new version removes temp variables again |
17:13 |
sapier |
I do use macros in c++ too ;-) |
17:13 |
sapier |
for some things you can't beat them |
17:14 |
Exio |
i tend to overused macros |
17:14 |
Exio |
s/used/use/ |
17:15 |
sapier |
have a look at the scriptapi cleanup I even use macros to create simple prototype classes ;-) |
17:16 |
sapier |
there are two different kinds of functions within lua api (modapi part) global functions |
17:16 |
sapier |
and functions only valid for objects |
17:17 |
sapier |
later one are e.g objectref functions or luaref functions ... those are added to scriptapi by macro |
17:18 |
|
Zamolxis joined #minetest-dev |
17:18 |
Zamolxis |
hello earthlings |
17:18 |
Zamolxis |
how's things? |
17:24 |
hmmmm |
sapier, what's with changing NULL to 0? |
17:24 |
hmmmm |
don't do that |
17:25 |
sapier |
why? NULL is just a relict of old days when different compilers did use different representation for memory and data? |
17:25 |
Kray |
NULL is semantic |
17:25 |
hmmmm |
NULL isn't exactly 0 |
17:25 |
sapier |
it is |
17:25 |
hmmmm |
maybe in certain implementations of C++ it is |
17:26 |
hmmmm |
it's not universally 0 though |
17:26 |
hmmmm |
besides, it breaks the coding guidelines |
17:26 |
hmmmm |
and it implies that whatever you're assigning it to is actually an integer |
17:26 |
hmmmm |
there are so many reasons why |
17:26 |
sapier |
NULL isn't even standard |
17:26 |
hmmmm |
it IS |
17:26 |
hmmmm |
read the standard |
17:26 |
hmmmm |
maybe it's not K&R standard but |
17:27 |
hmmmm |
we don't use K&R C |
17:28 |
sapier |
even stroustrup suggests not using NULL |
17:28 |
hmmmm |
screw soupstrup, he's the one who made the abomination of C++ |
17:28 |
hmmmm |
his opinion is pretty much invalid |
17:28 |
Kray |
C++ should use nullptr |
17:28 |
sapier |
still NULL is compiler dependent |
17:29 |
sapier |
it's not a standard definition |
17:29 |
sapier |
for gcc/g++ NULL is exactly 0 |
17:30 |
hmmmm |
sapier |
17:30 |
sapier |
but if you persist on using oldfashioned error prone defines I'll switch back to it |
17:30 |
hmmmm |
C++ standard 1998 |
17:30 |
hmmmm |
page 353, chapter 18, language support library |
17:30 |
Kray |
the fuck :D |
17:30 |
sapier |
1998 ... that's been c++ experimental time |
17:30 |
hmmmm |
18.1.4, "The macro NULL is an implementation-defined C++ null pointer constant in this International Standard (4.10)" |
17:30 |
Kray |
sapier: NULL is _semantic_ |
17:31 |
Kray |
null pointer MIGHT be same as 0, depending on implementation |
17:31 |
Kray |
but NULL is always null pointer |
17:31 |
hmmmm |
there is one thing that makes NULL standard though, the integer representation of NULL must equate to 0 |
17:31 |
hmmmm |
but |
17:31 |
sapier |
NULL is defined so often that it's impossible to predict what it is |
17:31 |
hmmmm |
now you have to use an implicit cast |
17:32 |
Zamolxis |
Hey there! do you think it would cause any problems if I removed the separators between inventory grid elements? |
17:32 |
hmmmm |
also this would screw up overloaded functions |
17:32 |
hmmmm |
how would it decide whether or not to call foo(void *) or foo(int) |
17:32 |
hmmmm |
bottom line, it's not right! |
17:32 |
hmmmm |
use NULL pleaseeeeee |
17:32 |
sapier |
where do I have to use a cast? |
17:32 |
hmmmm |
nowhere, that's why it's implicit |
17:32 |
|
rubenwardy joined #minetest-dev |
17:33 |
sapier |
first of all I'll have a look at this standard ... |
17:34 |
sapier |
btw 1998 c++ standard is already withdrawn |
17:34 |
sapier |
http://www.iso.org/iso/catalogue_detail.htm?csnumber=25845 |
17:35 |
hmmmm |
hint, all of them are withdrawn when a new standard is out |
17:35 |
hmmmm |
you don't see us rewriting everything for C++0x because that's the new current standard |
17:35 |
hmmmm |
http://ompldr.org/vaHlncQ |
17:35 |
sapier |
still I need to find a version of this standard to look for it |
17:36 |
sapier |
ahh |
17:36 |
hmmmm |
i don't like it when people follow new standards, because it screws up compatibility for everything that isn't fully up-to-date |
17:37 |
hmmmm |
like i can't even compile C99 on my HP 9000 because its cc is old |
17:37 |
hmmmm |
that crap shouldn't happen |
17:37 |
hmmmm |
it should just work in as many places as possible |
17:38 |
sapier |
wait ... this standard exatly tells what I say NULL is an >>>"implementation-defined"<<< C++ ... |
17:38 |
sapier |
so meanin if using a different compiler NULL may be something completely different |
17:38 |
hmmmm |
zamolxis, you can do that, but you need to understand that others probably won't like your modification |
17:38 |
kahrl |
oh dang, I noticed a long while ago that delete[] solidity; was missing but didn't immediately fix it and then kinda lost track of it |
17:39 |
hmmmm |
sapier, implementation defined means that different compilers may compile it differently |
17:39 |
hmmmm |
doesn't mean the usage is different |
17:39 |
hmmmm |
if that's what implementation defined meant, then the majority of our software would be completely unusable |
17:39 |
sapier |
if you really want to ensure it's a null pointer we would have to use "null" |
17:41 |
sapier |
but I'll change it anyway as I'm sure I won't persuade you and it's a waste of time trying |
17:41 |
hmmmm |
:> |
17:41 |
sapier |
if this causes portability errors YOU'll be the one to fix it ;-P |
17:41 |
hmmmm |
i will gladly |
17:42 |
sapier |
and of course track it down too |
17:42 |
Zamolxis |
hmmmm, thanks for the reply; I was planning in making the grid separation through an image background, so you don't get your item put back if you accidentaly click in between grid spots; I suppose a drop overlay would be nice too |
17:42 |
sapier |
I assume that'll be the much more time consuming task |
17:43 |
kahrl |
I haven't followed this conversation but the standard says NULL is implementation defined, but it also says it is a null pointer constant |
17:44 |
sapier |
to me "implementation defined" is a keyword to avoid things as far as possible |
17:45 |
kahrl |
using it in assignment to a pointer or as an argument (except in variable argument lists) is safe |
17:45 |
kahrl |
that's how I read it, anyway |
17:48 |
sapier |
yes unless you add some header redefining it to someting different (which is not prohibited by standard) |
17:48 |
kahrl |
you could also #define if while |
17:48 |
Exio |
the result binary is implementation defined, don't use them |
17:48 |
sapier |
but this isn't allowed by standard |
17:49 |
kahrl |
it's perfectly allowed |
17:49 |
sapier |
no it isn't ... you can do it but that doesn't mean anything in c ;-) |
17:50 |
kahrl |
it doesn't make sense to do this in a program (except for ioccc :P) but it is allowed by the standard |
17:52 |
sapier |
as you can see both of us do understand different things while reading same standard ... should be reason enough to not use things not beeing defined without any room for interpretation ;-) |
17:53 |
sapier |
still it's already fixed |
17:53 |
|
Zamolxis left #minetest-dev |
17:54 |
sapier |
anyone interested in searching the last 3 textures geting lost while client restart? |
17:56 |
sapier |
VanessaE can you check if this fixes the memory leak for you too? |
17:57 |
hmmmm |
zamolxis, that sounds pretty good, i know there would be a lot of users interested in that (not me to be honest, i don't have much of an opinion on what goes on in formspec menus) |
17:57 |
VanessaE |
sapier: I won't be doing any updates or builds today. :-) |
17:57 |
sapier |
it's client only ;-) |
17:57 |
hmmmm |
:-( |
17:58 |
VanessaE |
hmmmm: I like that! -> http://ompldr.org/vaHlkMg |
17:58 |
sapier |
ok it's for server too but updating client should be enough to fix it |
17:58 |
hmmmm |
oh yeah, it's gotten a lot better since then too |
17:58 |
Exio |
why VanessaE? why not today? |
17:58 |
Exio |
waiting for the java port? :P |
17:58 |
hmmmm |
i am going to try to make ridges on those mountains with purely 2d noise |
17:59 |
VanessaE |
I agree with sapier on this one, too many bodies of water/rivers. http://www.zimg.eu/i/3476640221 |
18:01 |
hmmmm |
that's obviously just some terrain that was generated, that can easily be fixed by enlarging the spread factor |
18:01 |
hmmmm |
it's the features that are important |
18:03 |
kahrl |
if you remove the texture atlas can't you remove a lot of the tile handling code? like removing pos, size and tiled fields in AtlasPointer |
18:03 |
kahrl |
or just replace AtlasPointer with texture id entirely |
18:03 |
sapier |
good idea |
18:03 |
sapier |
no |
18:04 |
sapier |
atlas pointer contains source image too |
18:04 |
sapier |
but maybe this isn't required anymore |
18:04 |
kahrl |
isn't that the SourceAtlasPointer? |
18:04 |
kahrl |
I haven't looked at this code in a while |
18:05 |
hmmmm |
hmmm |
18:05 |
hmmmm |
i have an idea |
18:06 |
hmmmm |
i store a height map in mapgen v7, what if i were to pass that as the result along with the modified vmanip and whatever else, and a different component of minetest can directly add that to a mapper |
18:06 |
sapier |
it's an image created by some irrlicht function it doesn't even contain the texture pointer |
18:07 |
hmmmm |
and that way it can be super fast to get those maps that you hold in your hand like in minecraft |
18:15 |
PilzAdam |
why does minetest remove the "_game" at the end of game IDs? |
18:15 |
PilzAdam |
that seems inconsistent to me |
18:15 |
PilzAdam |
and it isnt documented |
18:15 |
hmmmm |
you think this a game? |
18:16 |
Exio |
games/minetest_game/ |
18:16 |
kahrl |
hmmmm: wouldn't that make maps useless in custom maps? or make maps fail to notice custom built stuff? |
18:16 |
kahrl |
uh, double meaning of map there |
18:16 |
kahrl |
s/m maps/m worlds |
18:17 |
hmmmm |
three meanings of maps so far: map, as in geographical map to tell where something is, a map, as in the world that minetest happens on, and map, as in a 2d (x, y)->value array |
18:17 |
hmmmm |
but, to answer the question |
18:17 |
kahrl |
also a scheme function |
18:17 |
hmmmm |
they don't put peoples' houses on maps in real life! |
18:18 |
rarkenin |
Yeah, they do. http://maps.google.com |
18:18 |
Exio |
kahrl: scheme? :D |
18:18 |
kahrl |
scheme. :D |
18:18 |
kahrl |
mandatory in freshman year here (at least used to be) |
18:18 |
VanessaE |
Exio: why not today? for the same reason the java port was announced. :-) |
18:19 |
hmmmm |
oh gosh, MIT!? |
18:19 |
* hmmmm |
is jealous |
18:19 |
kahrl |
heh, almost |
18:19 |
Exio |
i had to learn racket for a course i took, i fell in love with racket and functional programming and so :P |
18:19 |
rarkenin |
almost? |
18:20 |
kahrl |
a couple thousand kilometers (or miles) away |
18:20 |
VanessaE |
there, now I'm caught up. good afternoon all. |
18:20 |
hmmmm |
somewhere in germany? |
18:20 |
kahrl |
yeah |
18:21 |
sapier |
me too |
18:21 |
hmmmm |
i think like 66% of people involved with minetest are german |
18:21 |
sapier |
seams to be |
18:21 |
kahrl |
I noticed that too |
18:22 |
Exio |
what about latin america? |
18:22 |
hmmmm |
not as much |
18:22 |
Exio |
:P i'm from argentina, kaeza uruguay and who more? |
18:22 |
Exio |
who too * or whatever |
18:22 |
sapier |
maybe some of the remaining 34 % ;-) |
18:23 |
hmmmm |
you know, i'm looking at more output of the logarithmic river terrain, and i don't think i like it |
18:24 |
hmmmm |
tends to make lots of closed loops and just single windy paths |
18:24 |
hmmmm |
lightning fractal would probably work better |
18:30 |
hmmmm |
http://abcnews.go.com/Technology/breaking-richard-stallman-free-software-pioneer-dies/story?id=18855110 |
18:31 |
PilzAdam |
<hmmmm> i think like 66% of people involved with minetest are german <- yes, me and Jeija too |
18:33 |
sapier |
hmm rba celeron kharl exio vanessae and hmmm are not german are they? |
18:33 |
PilzAdam |
rba is polish, but lived in berlin for 5 years |
18:33 |
VanessaE |
rba is polish, c55 is finn, kahrl I dunno, I'm in the US |
18:33 |
hmmmm |
kahrl is german, celeron is finnish, RBA is polish, exio is argentinian, i'm from the US too |
18:34 |
PilzAdam |
xyz is russian |
18:34 |
sapier |
so 66% might be a quite good guess |
18:34 |
hmmmm |
90% of statistics are made up on the spot |
18:36 |
sapier |
did you know gtk theming engine is quite dangerous? |
18:36 |
hmmmm |
knives are also dangerous |
18:37 |
sapier |
yea but if you cut your finger you'll notice immediatly ... gtk-themes give just strange errors hard to track down to it's origin |
18:38 |
hmmmm |
that makes it buggy, not really dangerous... |
18:38 |
sapier |
ok not quite correct word :) |
18:38 |
VanessaE |
hmmmm: well didn't you know? just the wrong combination of gtk code will cause factory robots to gain sentience, and next thing you know we have a Terminator apocalypse on our hands. |
18:39 |
sapier |
I recently managed to track down my eclipse performance problems to a kde style gtk theme |
18:40 |
Exio |
VanessaE: sssh, don't tell about that or i will need to share my bunker |
18:41 |
hmmmm |
vanessa, i think he's referring to more like a uriel-type dangerous |
18:42 |
|
Calinou joined #minetest-dev |
18:45 |
VanessaE |
heh |
18:51 |
|
proller joined #minetest-dev |
18:57 |
VanessaE |
here's a question: Is there any particular, realistic reason that the engine still cares what characters are in a mod foldername? |
18:57 |
|
RealBadAngel joined #minetest-dev |
18:57 |
VanessaE |
I mean, can we not disassociate the folder name from the mod name somehow? |
18:59 |
VanessaE |
(perhaps with a "provides.txt" or something inside the folder - if this is found, read it and disregard the foldername) |
19:01 |
|
BlockMen joined #minetest-dev |
19:01 |
BlockMen |
hello |
19:03 |
ShadowNinja |
a chanop: shouldn't the feature freeze message be prepended to the topic? |
19:03 |
BlockMen |
just a quick question: who is part core-development-team? |
19:04 |
BlockMen |
for the new homepage im creating an overview of the community |
19:04 |
PilzAdam |
https://github.com/minetest?tab=members |
19:04 |
BlockMen |
so just these 7 ppl? |
19:04 |
PilzAdam |
https://www.ohloh.net/p/minetest-c55 |
19:04 |
Exio |
the *core* team |
19:05 |
Exio |
people who did anything, is other thing |
19:05 |
ShadowNinja |
there are core, active, and past contributors |
19:05 |
Exio |
meh, i need to take english classes :P |
19:05 |
Exio |
ShadowNinja: and casual contributors! |
19:05 |
PilzAdam |
BlockMen, look at the credits tab of 0.4.6 |
19:05 |
PilzAdam |
or take this list: https://www.ohloh.net/p/minetest-c55/contributors?query=&sort=commits |
19:06 |
BlockMen |
credits tab, that is good |
19:06 |
PilzAdam |
do you have the latest version? |
19:06 |
PilzAdam |
(of minetest) |
19:07 |
ShadowNinja |
meaning latest git, not stable |
19:07 |
hmmmm |
tada http://ompldr.org/vaHlpMg |
19:07 |
PilzAdam |
if not then here is the list in the code: https://github.com/minetest/minetest/blob/master/src/guiMainMenu.cpp#L49 |
19:08 |
BlockMen |
thx, was just looking at git ;) |
19:08 |
hmmmm |
maybe a stream, not really a river |
19:08 |
hmmmm |
but |
19:08 |
hmmmm |
proof of concept |
19:09 |
PilzAdam |
hmmmm, https://github.com/PilzAdam/minetest/commit/2126bf06d20f6cb5bb6a0dbe728923b228d5c5cb |
19:09 |
hmmmm |
looks good i guess |
19:09 |
PilzAdam |
I think this needs to be done before 0.4.6 and the name of minetest_game should be changed |
19:09 |
VanessaE |
hmmmm: nice |
19:09 |
PilzAdam |
otherwise people think that its the "main" game |
19:10 |
hmmmm |
oh come on :/ |
19:10 |
hmmmm |
no more changes |
19:10 |
hmmmm |
it's not that big of a deal |
19:10 |
Exio |
that "big" change of minetest_game should be done in 0.4.6 imo |
19:10 |
Exio |
with luajit, leveldb, etc |
19:10 |
VanessaE |
Exio: you mean 0.4.7? |
19:11 |
Exio |
err, what is the actual release? |
19:11 |
Exio |
ah, yes, 0.4.7 |
19:11 |
VanessaE |
we're working to release 0.4.6 |
19:11 |
VanessaE |
well, they are. I'm just sitting on the sidelines :P |
19:11 |
hmmmm |
nonsense, you're an active contributor :) |
19:12 |
VanessaE |
hmmmm: actively contributing bullshit ideas anyway :D |
19:12 |
hmmmm |
that is, you have at least two commits present in git from within the last 6 months |
19:12 |
VanessaE |
true true, I'm just kidding anyways |
19:12 |
PilzAdam |
you keep telling us what mods are "standard", thats enough to be contributer here |
19:12 |
hmmmm |
STANDARD |
19:13 |
hmmmm |
i need to eat lunch |
19:13 |
hmmmm |
three hours late. whatever, bbl |
19:13 |
Exio |
i'm the one who doesn't do anything useful and says bullshit VanessaE |
19:13 |
Exio |
you at least play minetest! :P |
19:15 |
BlockMen |
everybody fine with that? http://i.imgur.com/0tfruy5.png |
19:16 |
PilzAdam |
c55 is a core dev too |
19:16 |
PilzAdam |
and why have you mixed up the order? |
19:17 |
BlockMen |
i thought that is obvious |
19:17 |
ShadowNinja |
s/developer/developers/ |
19:17 |
BlockMen |
but ok, then double mentioned |
19:17 |
PilzAdam |
no, just delete the "Creator:" completly |
19:17 |
BlockMen |
alphabetical |
19:18 |
BlockMen |
* of the nicks |
19:18 |
ShadowNinja |
will you include active/past contributors? |
19:18 |
PilzAdam |
just keep the same order as in the credits tab |
19:19 |
BlockMen |
ShadowNinja, yes |
19:19 |
BlockMen |
i will include whole credits |
19:20 |
ShadowNinja |
and are the avatars linked from github? |
19:20 |
PilzAdam |
*gravatar |
19:20 |
ShadowNinja |
ah, right |
19:25 |
|
jojoa1997|Tablet joined #minetest-dev |
19:25 |
proller |
BlockMen, im not very big commiter to be in game, and its my ugliest photo 8) |
19:27 |
BlockMen |
proller, should i use the github avatar instead? |
19:28 |
proller |
its better |
19:28 |
proller |
and imho sorting must be by blame lines |
19:30 |
BlockMen |
k, will change. and idk on what the current sorting is based, but it is now like in the credits |
19:31 |
Exio |
in doubt, l33tness :D |
19:33 |
BlockMen |
http://i.imgur.com/EE6YZS7.png |
19:34 |
PilzAdam |
s/developer/developers |
19:41 |
BlockMen |
k |
19:43 |
|
ecube joined #minetest-dev |
19:46 |
BlockMen |
does someone know the github of 0gb.us? |
19:46 |
BlockMen |
nvm |
20:12 |
ShadowNinja |
celeron55: /msg chanserv topicprepend #minetest-dev **FEATURE-FREEZE FOR 0.4.6 IN EFFECT**? |
20:12 |
Exio |
i think /msg chanserv flags #minetest-dev hmmmm OP (and same with PilzAdam and people with pussh access) |
20:13 |
PilzAdam |
+1 |
20:13 |
Exio |
(or +ovirt [what is imo ok for ops]) |
20:13 |
ShadowNinja |
yes, that too |
20:15 |
jojoa1997|Tablet |
i know it is feature freeze but |
20:15 |
jojoa1997|Tablet |
is anyone working on moving heads |
20:15 |
Exio |
heads? |
20:15 |
Exio |
what? |
20:15 |
jojoa1997|Tablet |
your head moves where you look |
20:15 |
Exio |
ah |
20:16 |
Exio |
no idea, i'll take a look at the player/camera stuff because i want a way to see your own legs (like RE now) |
20:16 |
ShadowNinja |
ah, kaeza did, it used crazy network and was very laggy |
20:16 |
Exio |
yes, i want things what i saw in a FPS in MT |
20:16 |
Exio |
what does anyone thing about that? :P |
20:25 |
BlockMen |
celeron55, I have finished the new homepage so far and sent the pull request |
20:25 |
BlockMen |
https://github.com/celeron55/minetest.net_php/pull/4 |
20:25 |
PilzAdam |
no newline at the end of file |
20:25 |
proller |
BlockMen, can you make servers tab? |
20:25 |
PilzAdam |
(support.php) |
20:26 |
PilzAdam |
(and many others too) |
20:26 |
proller |
or maybe embed servers script to main page (need voting here) |
20:26 |
BlockMen |
PilzAdam, i think that is an notepad error... |
20:26 |
sfan5 |
will my pull get merged or declined? |
20:27 |
BlockMen |
proller, if celeron55 is ok with the current i had the idea to make a "Game" or "Play tab |
20:27 |
PilzAdam |
sfan5, hm? |
20:27 |
sfan5 |
PilzAdam: i think you know which pull I mean |
20:27 |
BlockMen |
with submenus like games, servers, etcs |
20:27 |
PilzAdam |
sfan5, get_version()? |
20:28 |
sfan5 |
PilzAdam: yup |
20:29 |
PilzAdam |
Im still against it |
20:31 |
sfan5 |
i know, what about the other people? |
20:32 |
Exio |
i actually see it very useful (in the way it is actually) |
20:32 |
jojoa1997|Tablet |
sfan what your pull request do? |
20:33 |
Exio |
https://github.com/minetest/minetest/pull/580 |
20:33 |
ShadowNinja |
I like it, but not for what it was intended for, checking for functionality shouldn't be done by version |
20:35 |
BlockMen |
ok, im off |
20:35 |
BlockMen |
bye everyone |
20:35 |
|
BlockMen left #minetest-dev |
20:58 |
|
sapier1 joined #minetest-dev |
21:08 |
|
PilzAdam joined #minetest-dev |
21:24 |
|
jojoa1997|Tablet joined #minetest-dev |
21:25 |
|
kpo joined #minetest-dev |
21:26 |
|
kpo left #minetest-dev |
22:05 |
|
kaeza joined #minetest-dev |
22:12 |
rarkenin |
Can lua minetest.get_ban_description(username) be called on a player that hasn't been banned yet? |
23:04 |
|
sapier1 left #minetest-dev |
23:08 |
|
thexyz_ joined #minetest-dev |
23:15 |
|
realbadangel_ joined #minetest-dev |
23:15 |
|
PilzAdam_ joined #minetest-dev |
23:57 |
|
kaeza joined #minetest-dev |