Time |
Nick |
Message |
00:01 |
hmmmm |
looks good |
00:14 |
Exio |
a random offtopic question, is in C++ "if (something)" the same as "if (something != NULL)"? (and same for "!something" and "== NULL") |
00:16 |
|
sapier1 joined #minetest-dev |
00:16 |
|
ssieb joined #minetest-dev |
00:20 |
PilzAdam |
I noticed that the conlock in server.cpp:851 takes often over 30s when running in valgrind; is that normal? |
00:24 |
|
Warr1024 joined #minetest-dev |
00:24 |
sapier1 |
valgrind emulates memory access conlock is required for map transfer to client .... sounds reasonable |
00:24 |
Warr1024 |
Exio: I think if(X) is the same as if(X != 0), which is the same as if(X != NULL) if you can assume that NULL == 0. |
00:25 |
Warr1024 |
which is true on all platforms I'm aware of, but I'm personally not that confortable with that assumption. |
00:26 |
sapier1 |
it's true for all minetest supported platforms ... I have learned that other platforms are not of interest in to core developers ;-) |
00:26 |
Warr1024 |
works |
00:26 |
PilzAdam |
sapier1, Minetest definetly uses it like this |
00:26 |
hmmmm |
sapier, what other platforms are there where that isn't valid? |
00:26 |
Warr1024 |
my general rule is that I use == NULL or != NULL explicitly unless I'm committing to a project that already makes that assumption. |
00:27 |
hmmmm |
according to the C++ standard, the integer representation of NULL shall be equal to 0 |
00:27 |
sapier1 |
:-) some embedded architectures I know of where memory is organized by token |
00:27 |
sapier1 |
we already figured out that NULL is implementation specific ;-) |
00:28 |
hmmmm |
sapier, and are you using valid C++ on those architectures, or some derivative? |
00:28 |
sapier1 |
of course ;-) as NULL is implementation specific it can be everything on a different architecture |
00:28 |
Warr1024 |
is NULL == 0 part of the C++ spec, or inherited from C? |
00:28 |
sapier1 |
it's not very common to be something different than 0 |
00:29 |
hmmmm |
grr |
00:29 |
hmmmm |
this again |
00:29 |
hmmmm |
i need to bust open the standard |
00:29 |
Warr1024 |
I know there are a number of standards for C |
00:29 |
Warr1024 |
I actually don't work with C++ much... |
00:29 |
Exio |
my C++ skills are the same as my C ones |
00:30 |
Exio |
so they are like, nothing :P |
00:30 |
sapier1 |
no you don't need to as it's used this way everywhere in minetest there's nothing wrong with using it same way as already done |
00:30 |
PilzAdam |
everbody stop talking arguing if NULL == 0 is C++ standard or not |
00:30 |
Warr1024 |
I was just curious |
00:31 |
Exio |
NULL means -1 |
00:31 |
Exio |
so, shutup all! ;P |
00:31 |
Warr1024 |
in any case, the correct thing to do is probably just imitate the style of code you're modifying... |
00:31 |
PilzAdam |
we had this discussion already and its completly nonsense |
00:31 |
PilzAdam |
for Minetest: 0 == NULL |
00:31 |
PilzAdam |
^ there, you have you haver your standard |
00:31 |
PilzAdam |
-r |
00:32 |
sapier1 |
lol :-) standard ... tztz ... there are so many standards ;-) ... I'd prefere to call it a minetest convention |
00:33 |
hmmmm |
Possible definitions include 0 and 0L, but not (void*)0. |
00:33 |
hmmmm |
5.2.10 Converting an integral constant expression (5.19) with value zero always yields a null pointer (4.10), but converting other expressions that happen to have value zero need not yield a null pointer. |
00:33 |
hmmmm |
so let's see here |
00:34 |
hmmmm |
says *IN THE STANDARD* that possible definitions of NULL include 0 and 0L, and then converting either of these integral constant expressions with value 0 |
00:34 |
hmmmm |
we get a null pointer |
00:34 |
Warr1024 |
so null is zero, but not all zero is null :-) |
00:34 |
hmmmm |
depends on how the type gets promoted in comparison |
00:35 |
hmmmm |
so what about a float |
00:35 |
sapier1 |
thats like the difference between infinify + infinity and infinity * infinity ;-) |
00:36 |
hmmmm |
floats with a value of 0 need not yield a null pointer when they are demoted |
00:36 |
hmmmm |
er |
00:36 |
sapier1 |
floats are completely different to integer values ;-) |
00:36 |
hmmmm |
that's a stupid example because i don't even think you can have a valid conversion from float to any pointer type |
00:36 |
hmmmm |
yes, but it doesn't say anything about integer values, it just says "other expressions that happen to have value zero" |
00:37 |
hmmmm |
so i guess the right answer depends on what "have value zero" means |
00:37 |
sapier1 |
it's to late here to think about that fine differences ;-) |
00:37 |
Warr1024 |
hopefully you're not on one of those platforms where 0 != -0 :-) |
00:37 |
hmmmm |
also what is with you and your smileys |
00:37 |
hmmmm |
are you really happy about the C++ standard or something? |
00:38 |
hmmmm |
it does back up what i originally said btw |
00:38 |
Warr1024 |
naw, I'm just not really trying to argue or anything. |
00:38 |
hmmmm |
well you and sapier for that matter |
00:38 |
hmmmm |
;-) |
00:38 |
hmmmm |
;-) |
00:38 |
hmmmm |
;-) |
00:39 |
sapier1 |
guy's it's just been a comment ... I didn't think about some keywords instantly triggering same discussion over and over again ... e.g. keyword security features |
00:40 |
hmmmm |
worrying about the representation of NULL is not security |
00:40 |
hmmmm |
just like worrying about copying fixed length strings with strcpy is not security |
00:40 |
hmmmm |
it's just being pedantic |
00:41 |
Warr1024 |
I've always just used NULL because I thought the point of having a NULL keyword was so that you didn't *need* to know what the value of NULL was... |
00:41 |
hmmmm |
it's a leftover from K&R C, really |
00:41 |
Warr1024 |
strcopy? shit, I use memmove... |
00:41 |
sapier1 |
you started this discussion again .... security is completely unrelated to this matter it's just a triggerword to start another useless discussion ;-P |
00:43 |
PilzAdam |
we should have a list of badwords that lead to endless discussions in this channel |
00:43 |
sapier1 |
hmmmm worrying about strcpy with fixed string lenghts is security as it's addressing human factor not technical reasons |
00:43 |
PilzAdam |
"NULL" and "security" will be in this list |
00:44 |
sapier1 |
lol just because some guys always want to have root access everywhere ;-P |
00:44 |
hmmmm |
char foo[32]; strcpy(foo, "barbar"); <----- oh hell we're all doomed |
00:44 |
sapier1 |
as I said HUMAN FACTOR |
00:45 |
PilzAdam |
well, Im going to sleep now; bye |
00:45 |
|
dexter0 joined #minetest-dev |
00:45 |
sapier1 |
a developer never using strcpy will NEVER happen to use it in a security relevant matter |
00:45 |
hmmmm |
i would when it's reasonable |
00:46 |
sapier1 |
so you believe you're without failure ... congratulations I never met a person like you before ;-) |
00:46 |
Warr1024 |
I just don't need my compiler bitching at me about which of the competing strcpy/strncpy/strlcpy replacements I should be using :-/ |
00:46 |
hmmmm |
there are even better ways to fail without needing to use strcpy |
00:46 |
hmmmm |
what compiler are you using? |
00:46 |
sapier1 |
I thougth flaw was a inherited feature of humanity |
00:47 |
sapier1 |
but something completely different |
00:48 |
sapier1 |
mod management |
00:48 |
Warr1024 |
OpenBSD's fork of gcc. Lots of added paranoia. |
00:48 |
Warr1024 |
isn't that another one of those "danger" terms? ;-) |
00:48 |
hmmmm |
focusing on security like openbsd isn't healthy |
00:49 |
Warr1024 |
well that depends on how dangerous the world around you really is :-) |
00:49 |
sapier1 |
warr1024 you should realize that minetest only will be used in perfectly safe environents with only trustworthy users ;-) always and forever of course |
00:50 |
sapier1 |
-ironic |
00:50 |
hmmmm |
openbsd doesn't get anything accomplished ever because of its paranoia, and it's actually counterproductive because the whole "security" reputation discourages people to speak out about flaws |
00:50 |
Warr1024 |
sapier1: I run it under its own account on my OpenBSD server, seems safe enough. |
00:51 |
hmmmm |
also, i doubt you're going to run OpenBSD with no other daemons |
00:51 |
sapier1 |
yes ... most ppl will run it with normal user privilege |
00:51 |
hmmmm |
once you install any 3rd party software, all of that "muh security" is gone |
00:51 |
Warr1024 |
hmmmm: not all |
00:52 |
Warr1024 |
a lot of security isn't about perfect code, but about mitigating risk. |
00:52 |
sapier1 |
you only have to be more secure than the one next to you :-) |
00:53 |
hmmmm |
that being said, wouldn't you be more productive in securing your environment if you were to isolate things? |
00:53 |
hmmmm |
like uh.. jails? |
00:53 |
Warr1024 |
yeah |
00:53 |
hmmmm |
so my stance is this: |
00:54 |
hmmmm |
if you'd like to focus your effort on smaller things that don't really make as much of an impact, that's fine and all, but do keep in mind that you'll never have the time or energy to do the big things that actually matter and you'll be perpetually catching up |
00:54 |
hmmmm |
and this is why i use freebsd |
00:54 |
hmmmm |
not openbsd |
00:54 |
Warr1024 |
ah |
00:54 |
hmmmm |
pcc sucks by the way |
00:54 |
Warr1024 |
I tried Free for a while. |
00:55 |
Warr1024 |
it was a bit too chaotic for my taste, especially around the 5.x releases. |
00:55 |
hmmmm |
it's quite fast, and has at least some support from software vendors |
00:55 |
hmmmm |
and it's modern |
00:56 |
hmmmm |
i wouldn't dream of using anything else if i didn't have to |
00:58 |
Warr1024 |
That's fine for you, I guess... |
00:58 |
Warr1024 |
I'm not sure what the point of this discussion was, though. |
00:58 |
Warr1024 |
I'm well aware of the fact that everyone has their own preferences for operating system... |
00:59 |
Warr1024 |
either way, minetest runs just fine on both of them. |
01:31 |
|
Warr1024 left #minetest-dev |
01:31 |
|
Warr1024 joined #minetest-dev |
01:44 |
|
kaeza joined #minetest-dev |
02:07 |
|
tucebrin joined #minetest-dev |
02:41 |
tucebrin |
can you delete this thread |
02:41 |
tucebrin |
i dont want it lol |
02:41 |
tucebrin |
http://forum.minetest.net/viewtopic.php?id=6029 |
02:41 |
tucebrin |
sfan5 thexyz VanessaE |
02:41 |
tucebrin |
i cant delete it on my own |
02:55 |
ShadowNinja |
tucebrin: That goes in #minetest. |
02:55 |
tucebrin |
im banned there so we |
02:55 |
tucebrin |
can you say i said so pl |
03:21 |
|
tucebrin left #minetest-dev |
03:27 |
|
ShadowNinja joined #minetest-dev |
03:33 |
|
ShadowNinja joined #minetest-dev |
04:15 |
hmmmm |
hrmm |
04:15 |
hmmmm |
was i on drugs or something when i came up with the mapgenparam crap? |
04:16 |
hmmmm |
or maybe i just didn't waste too much time coming up with the ideal solution back then |
04:16 |
hmmmm |
i can't come up with a good idea on how to do this to fit with the current paradigm |
04:17 |
hmmmm |
maybe it's a result of overgeneralizing things |
04:23 |
|
kaeza joined #minetest-dev |
05:19 |
kahrl |
hmmmm: what are the problems with it? |
05:20 |
kahrl |
for the fixed_map_seed thing I guess you could rename it to seed and tell people to adjust their minetest.conf |
05:30 |
sfan5 |
you should be able to set the seed while creating the world IMO |
05:35 |
kahrl |
I agree with that, maybe set the other mapgen params too |
05:36 |
hmmmm |
it's just too overcomplicated for what it is, very messy, and if i duplicate default noiseparams to avoid leaks, i'd have to handle exceptions bette |
05:36 |
hmmmm |
beter |
05:37 |
hmmmm |
what i'd really like to do is setDefault to the result of g_settings->get(blah), but that goes against the original design |
05:38 |
hmmmm |
i can't just set the defaults before i call readParams() either, since i would need to know what kind of MapgenParams it is |
05:38 |
hmmmm |
so like.... erm |
05:39 |
hmmmm |
do i remove the mapgen default parameters from defaultsettings.cpp and have setDefaults() as part of the interface for MapgenParams? |
05:46 |
hmmmm |
no this is stupid. it makes way more sense to just change Settings the way i need it to work |
05:48 |
kahrl |
I don't quite get the exceptions bit. Can there be any exceptions other than std::bad_alloc when you duplicate NoiseParams? |
05:50 |
hmmmm |
erm no i mean exception with getNoiseParams |
05:50 |
hmmmm |
the NoiseParam duplication bit is what i was originally doing, but this would cause more memory leaks because of the current way i set mapgenparams |
05:51 |
kahrl |
you could write proper copy constructors and assignment operators for all mapgen params classes |
05:51 |
kahrl |
lots of code though |
05:52 |
hmmmm |
oh noo we don't do operator overloading |
05:52 |
hmmmm |
but yeah i could also do that |
05:53 |
kahrl |
there's a bunch of operator=s in the code base already |
05:53 |
hmmmm |
that's not too good but it's there |
05:53 |
kahrl |
why? |
05:53 |
hmmmm |
why is it not good? |
05:54 |
kahrl |
I don't see what's wrong with it |
05:54 |
hmmmm |
because it hides details that are very important that you normally wouldn't know are there |
05:54 |
hmmmm |
operator overloading is only really good for things like vectors and matricies, and makes sense there |
05:55 |
hmmmm |
it gets iffy when you have an assignment operator doing frees and what not |
05:55 |
kahrl |
I don't like overloading stuff like + and so on but I don't see a problem with operator= and operator== |
05:56 |
kahrl |
meh. when I see an assignment of an object in C++ I look if there's an operator= |
05:56 |
kahrl |
it's not really hidden |
05:57 |
hmmmm |
but look at the extra effort you have to put in to go and check if there's something weird going on with operator= that you didn't expect |
05:57 |
kahrl |
well, when I write my own code there isn't anything weird (to me) |
05:57 |
kahrl |
I have my own rule that structs don't have operator= but classes usually do (if needed) |
05:58 |
kahrl |
and the operator= makes sure pointer members are duplicated and freed as needed |
05:58 |
kahrl |
anyway, is there a reason these NoiseParams have to be pointers? |
05:58 |
hmmmm |
you know, it's ironic, operator overloading's purpose is so that you can carry out an operation that you'd expect some class to have so it's more 'natural', but instead you need to watch out for overloaded operators so that it doesn't do anything weird that you don't expect which is completely contradictory |
05:59 |
hmmmm |
is there? hrm |
05:59 |
kahrl |
oh, because getNoiseParams returns a pointer |
06:00 |
hmmmm |
because they're too big, in my opinion, to be types that are copied around everywhere |
06:01 |
kahrl |
how often are mapgen params copied? |
06:01 |
hmmmm |
you mean noiseparams |
06:01 |
hmmmm |
hrmm.. |
06:01 |
hmmmm |
probably a lot more than they really need to be, which is fine because they're just pointers |
06:01 |
kahrl |
no, mapgen params |
06:01 |
hmmmm |
mapgen params are never copied |
06:02 |
kahrl |
then I don't see a huge problem making them not pointers |
06:02 |
hmmmm |
some params in the mapgenparams are copied for quick reference |
06:02 |
hmmmm |
alright let me think about this |
06:03 |
kahrl |
ohh I see now that the defaults are duplicated in mapgen_v6.h and defaultsettings.cpp |
06:04 |
hmmmm |
i just feel like such a trivial detail, getting and setting some parameters, is made complicated |
06:04 |
hmmmm |
and it doesn't need to be |
06:05 |
hmmmm |
so yeah, you have a point.. NoiseParams in MapgenParams doesn't really need to be pointers |
06:05 |
hmmmm |
the MapgenParams being used is only ever destroyed when the map is destroyed so that wouldn't pose a problem for other things to keep pointers of them |
06:06 |
kahrl |
but readParams will be terrible to change because getNoiseParams returns a pointer |
06:07 |
kahrl |
which can be NULL |
06:07 |
hmmmm |
i'm not as worried about that as i am the inconsistency that some noiseparams must be freed and others must not |
06:09 |
kahrl |
that's not really different from how it is now, is it? |
06:09 |
hmmmm |
but that's what i set out to fix |
06:09 |
kahrl |
for the getNoiseParams/getStruct thing I would make it accept a pointer to the struct and return bool |
06:09 |
kahrl |
(or s/pointer/reference if you like) |
06:10 |
kahrl |
if you do that there won't be many NoiseParams left that have to be freed |
06:10 |
hmmmm |
i would do that too but there was a reason why i didn't |
06:10 |
hmmmm |
which i am trying to remember |
06:13 |
kahrl |
I see a commented out delete[] buf in there |
06:13 |
hmmmm |
if i were to do that, i would remove the need to use templates |
06:13 |
kahrl |
maybe the original design allowed an arbitrary number of outputs? |
06:14 |
hmmmm |
oh no, that was because i was trying to use new exactly like malloc() size i was returning a void * originally |
06:16 |
hmmmm |
alright, i can't see why i didn't do this originally then |
06:16 |
hmmmm |
maybe i wanted to keep the pattern of just foo = getSetting("bar") |
06:21 |
hmmmm |
if i do this, i'd be able to keep everything else the same, pretty much |
06:21 |
hmmmm |
but the "everything else" is crap and i'd like to recode that as well.. meh |
06:24 |
kahrl |
sorry I don't have any good ideas for that |
06:26 |
|
RealBadAngel joined #minetest-dev |
06:28 |
hmmmm |
my getStruct() could've been so much cleaner, if only Settings get functions had a parse counterpart |
06:29 |
hmmmm |
actually i could probably do that, but what would be the point now.... it's already done and it works and there are more pressing issues |
06:31 |
hmmmm |
#define getV3F(s) parseV3F(get(s)), so then you could also reduce duplicate work; foo = get(s); if (!foo.empty()) parse(s) else do other thing here; |
06:31 |
hmmmm |
such as what is done in the EmergeManager constructor |
06:33 |
RealBadAngel |
hi hmmmm |
06:33 |
hmmmm |
hey |
06:33 |
RealBadAngel |
have you seen pics i posted in #minetest recently? |
06:34 |
hmmmm |
wow looks like F.E.A.R. |
06:34 |
kahrl |
I don't like have too many #defines |
06:34 |
hmmmm |
pretty nice.. i saw what you did with water, and that's great as well |
06:34 |
kahrl |
having* |
06:34 |
RealBadAngel |
im really gettin better with shaders i think ;) |
06:34 |
hmmmm |
well, inline functions if you want to be C++y then |
06:35 |
kahrl |
yeah because that #define would mean no other class could have a getV3F method |
06:35 |
hmmmm |
wait, can you inline a method? |
06:35 |
hmmmm |
non-static method |
06:35 |
kahrl |
sure |
06:35 |
RealBadAngel |
im standing now by one problem. how should i add normal maps for textures? |
06:36 |
hmmmm |
shrug |
06:36 |
RealBadAngel |
second "tiles" table? |
06:36 |
kahrl |
RealBadAngel: do you have any hardware lights yet? |
06:37 |
RealBadAngel |
kahrl, not yet. i do have sun and moon pos (+wind) but those are only for calculations atm |
06:38 |
kahrl |
I see. Well you can't test or really do much with normal maps then, I think |
06:39 |
RealBadAngel |
they work pretty well without lighting |
06:39 |
RealBadAngel |
seen the pictures? |
06:40 |
RealBadAngel |
ofc light would introduce extra depth, but still effect is amazing imho |
06:40 |
kahrl |
hmm I can't really see much difference to HD textures but my eyes are bad, also probably because of the static picture |
06:41 |
RealBadAngel |
well i can make screenshot with on/off |
06:41 |
RealBadAngel |
so you can compare |
06:41 |
kahrl |
that might help |
06:46 |
kahrl |
Personally I won't use HD textures because they make the tiling of the same texture over and over much more noticeable. But I can see why people like them. |
06:49 |
RealBadAngel |
im uploading images, hold on a sec |
06:50 |
RealBadAngel |
this is BEFORE: http://i.imgur.com/ArG6EDi.jpg |
06:51 |
RealBadAngel |
and this is AFTER: http://i.imgur.com/M0uiadg.jpg |
06:52 |
kahrl |
it does give it more depth. But I'm still not convinced this couldn't be done by changing the texture :P |
06:52 |
hmmmm |
ewww yeah |
06:53 |
RealBadAngel |
please do note this is with made with just one normal texture for everything yet |
06:53 |
hmmmm |
especially now that you have it side-by-side like that, the latter screenshot could be the same thing except with textures that have some sort of edge detection |
06:53 |
RealBadAngel |
and fake lights |
06:54 |
RealBadAngel |
when we got real light sources it will automatically use them |
06:59 |
RealBadAngel |
back to normals: i think i will duplicate "tiles" table for them |
06:59 |
RealBadAngel |
and then if defined, shaders will be able to use the normal maps |
07:00 |
RealBadAngel |
do you guys agree? |
07:01 |
kahrl |
what if a texture pack wants to add normal maps to default textures? |
07:02 |
kahrl |
maybe it should just look for <texturename>_normal.png |
07:02 |
kahrl |
perhaps only if some setting in minetest.conf is enabled |
07:03 |
kahrl |
would that work or is there a use case for using the same normal map for different textures? (and you don't want to have a hundred copies of the same normal map) |
07:05 |
RealBadAngel |
this is what im doin right now |
07:05 |
RealBadAngel |
same map for all |
07:05 |
kahrl |
but that's just a test |
07:05 |
RealBadAngel |
ofc but in most cases it works suprisingly good |
07:05 |
kahrl |
it doesn't look right on the ores |
07:06 |
RealBadAngel |
yup, but i tested water bump also |
07:06 |
RealBadAngel |
this works better |
07:07 |
RealBadAngel |
hmmmm, maybe check for _normal.png is better solution |
07:07 |
kahrl |
imo graphical details shouldn't be specified in a mod |
07:07 |
kahrl |
mods should provide 16x16 textures by default and a user can install a HD texture pack if they want |
07:08 |
RealBadAngel |
lookin for normal file just will eliminate need to define |
07:09 |
RealBadAngel |
well, it shall make the code also lotsa easier in fact |
07:10 |
RealBadAngel |
kahrl, btw you were right about using just another texture would do the trick |
07:10 |
RealBadAngel |
but |
07:10 |
RealBadAngel |
only for static picture |
07:11 |
RealBadAngel |
major difference you can see when MOVING |
07:13 |
RealBadAngel |
game feels totally different. i think i need to record a video |
07:13 |
kahrl |
ah, that's what I thought |
07:15 |
RealBadAngel |
and im pretty happy with performance |
07:16 |
RealBadAngel |
i do have rather low end machine, 1.8ghz, radeon hd 4670, 4gb of RAM |
07:16 |
kahrl |
oh that's pretty nice then |
07:17 |
RealBadAngel |
and linux drivers are way slower than windows one |
07:17 |
RealBadAngel |
all this, plus 128x texture pack and water shaders, bump mapping and i do have 40fps |
07:17 |
RealBadAngel |
also filtering x2 |
07:38 |
sfan5 |
this confuses me, is a map seed u64 or int |
07:39 |
sfan5 |
nvm |
07:39 |
|
celeron55 joined #minetest-dev |
07:39 |
sfan5 |
map.h:481:u64 m_seed; <- I guess that means u64 |
07:43 |
|
Jordach joined #minetest-dev |
07:43 |
|
Jordach joined #minetest-dev |
08:15 |
sfan5 |
oh yeah, sure; when I use gdb to debug the problem it works fine, without gdb it fails |
08:25 |
* sfan5 |
just finished "World seed text field in Create World dialog" |
08:26 |
Jordach |
\o/ |
08:26 |
sfan5 |
it hashes the seed and uses the first sizeof(u64) bytes |
08:27 |
Jordach |
just like fixed_map_seed |
08:27 |
Jordach |
you should emulate that conf function |
08:30 |
sfan5 |
-> https://github.com/minetest/minetest/pull/729 |
10:12 |
|
sapier joined #minetest-dev |
10:19 |
|
iqualfragile joined #minetest-dev |
10:35 |
|
PilzAdam joined #minetest-dev |
11:02 |
PilzAdam |
sfan5, https://github.com/PilzAdam/minetest/commit/714ecc5e27c2c01b0f3ce0ba626abb6baca9af13 |
12:06 |
|
serengeor joined #minetest-dev |
12:08 |
sapier |
https://github.com/minetest/minetest/pull/724 only thing missing is windows zip support ... still I'd prefere to add minizip in a separate commit instead of bloating this one even more |
12:11 |
sapier |
what's up to https://github.com/minetest/minetest/pull/677 scriptapi split I've update some minor changes but as far as I know there are even more recent branches, should I merge those one or is one of those to be merged? |
12:15 |
VanessaE |
PilzAdam: can you put that common/build/survival --> minetest_game merge through btw? |
12:23 |
PilzAdam |
nobody seems to object, so I guess its fine |
12:30 |
|
diligent joined #minetest-dev |
12:40 |
VanessaE |
PilzAdam: it might be a good idea to investigate that ABM randomness issue at the same time, since this merge will affect pretty much everyone |
12:50 |
PilzAdam |
http://dev.minetest.net/User:PilzAdam/Common_drop |
12:51 |
PilzAdam |
^ here is what I plan to do |
12:52 |
VanessaE |
*reads* |
12:53 |
PilzAdam |
"Revert the following commits in the engine:" = "Remove the common mods part of it" |
12:53 |
VanessaE |
this looks fair to me. |
12:53 |
PilzAdam |
now another core dev needs to agree... |
12:54 |
VanessaE |
*nod* |
12:54 |
PilzAdam |
and we also need to define what "Later" means |
12:54 |
VanessaE |
weed it out before 0.4.8 maybe. |
12:54 |
VanessaE |
(leave it in for 0.4.7) |
12:55 |
VanessaE |
plenty of time for any game authors to tweak their build scripts. |
13:09 |
sapier |
ok after adding even credits tab to formspec menu I don't have any idea what to polish :-) ... time to repair brakes of my car ... |
13:10 |
diligent |
stfu sapier |
13:11 |
|
Zeg9 joined #minetest-dev |
13:11 |
PilzAdam |
diligent, ehm... |
13:11 |
VanessaE |
diligent = landmine. |
13:11 |
diligent |
thanks for blowing my cover -_- |
13:11 |
diligent |
noooooooooooooooooooooooooooooooooooooooo |
13:11 |
diligent |
ooooooooooooooooooooooooooooooooooooooooooooooooooooooooo |
13:12 |
diligent |
oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo |
13:12 |
sapier |
:-) landmine happens to become a running gag ;-P |
13:12 |
|
diligent was kicked by PilzAdam: diligent |
13:12 |
Jordach |
and thats why LM is an ass to you guys |
13:12 |
VanessaE |
[05-18 09:10] <diligent> stfu sapier |
13:12 |
VanessaE |
and this is why people are an ass to him. |
13:13 |
VanessaE |
s/an ass/asses/ |
13:13 |
PilzAdam |
Jordach, the reason for the ban was the "nooooooooo[...]" |
13:14 |
Jordach |
okay, thats reasonable |
13:20 |
|
rubenwardy joined #minetest-dev |
13:21 |
|
ImQ009 joined #minetest-dev |
13:41 |
|
smoke_fumus joined #minetest-dev |
13:53 |
RealBadAngel |
so, PilzAdam, only comments were "where are lights gone?" ;) |
13:57 |
* PilzAdam |
still waits for a core dev to agree to this: http://dev.minetest.net/User:PilzAdam/Common_drop |
14:01 |
RealBadAngel |
and you are askin me for this? |
14:01 |
RealBadAngel |
you know that i was trying to crucify you for this to happen :P |
14:01 |
PilzAdam |
well, you are a core dev |
14:02 |
VanessaE |
bbl |
14:02 |
* RealBadAngel |
turns on lotsa green lights around |
14:02 |
VanessaE |
back in 3-4 hours |
14:02 |
PilzAdam |
RealBadAngel, I take this as an agreement then :-) |
14:04 |
RealBadAngel |
of course |
14:04 |
RealBadAngel |
i just made another fine normal map |
14:05 |
RealBadAngel |
i thought i can use kinda script to generate them but i was wrong |
14:06 |
RealBadAngel |
it heavily depends on surface kind |
14:06 |
RealBadAngel |
http://i.imgur.com/FfaimWn.jpg |
14:25 |
PilzAdam |
done |
14:26 |
PilzAdam |
anything else to do? |
14:26 |
sfan5 |
*edits his build script* |
14:33 |
PilzAdam |
someone can write something in the forum |
14:35 |
sfan5 |
you? |
14:35 |
PilzAdam |
yea |
14:36 |
PilzAdam |
in General Discussion? |
14:36 |
sfan5 |
which section if not "General Discussion"? |
14:37 |
|
hmmmm joined #minetest-dev |
14:43 |
hmmmm |
ohhh so that's why sapier was talking about the file dialog boxes |
14:43 |
hmmmm |
wow, fgsfg.... that is a lot of work, the next gen menu thing |
14:44 |
PilzAdam |
http://forum.minetest.net/viewtopic.php?pid=90753#p90753 |
14:44 |
hmmmm |
sounds good |
14:48 |
hmmmm |
oh yay he's cleaning up game.cpp too |
14:49 |
hmmmm |
this is huge... and no doubt, people are just going to shove it under the rug, especially in the changelog |
14:49 |
hmmmm |
"minor non-related gameplay tweak: added lua configuration of main menu" |
15:01 |
RealBadAngel |
sounds non harm as for a revolution ;) |
15:05 |
|
Jordach joined #minetest-dev |
15:08 |
PilzAdam |
https://github.com/PilzAdam/minetest/commit/d7bb184be756d944917e1794802e5442444d9cde |
15:08 |
PilzAdam |
^ the "new" mod system that was discussed here |
15:15 |
PilzAdam |
ooops, little bug fixed: https://github.com/PilzAdam/minetest/commits/modsystem |
15:17 |
|
Calinou joined #minetest-dev |
15:29 |
|
ImQ009 joined #minetest-dev |
15:51 |
|
arsdragonfly joined #minetest-dev |
16:20 |
sapier |
hmm ok if this "new mod" system is settled now I'm gonna implement the configure world dialog in next_gen mainmenu |
16:21 |
sapier |
hmmmm maybe changelog could be made a little bit more impressive by adding fileselect dialog, vertical labels, and (transparent) textlist formspec support too ;-) |
16:22 |
sapier |
maybe not fileselect dialog as you can't open it from in game lua |
16:38 |
RealBadAngel |
i implemented one normal per texture |
16:39 |
RealBadAngel |
so every texture can have normal map now |
16:39 |
RealBadAngel |
if its not provided, texture will be used and shown in old way |
16:40 |
RealBadAngel |
i mean old one will be used |
16:40 |
RealBadAngel |
if shader can find _normal.png it will automatically use it |
16:42 |
RealBadAngel |
i have to make now over 700 normal maps for my texture pack |
16:42 |
RealBadAngel |
and i do have like 10 of them rdy by now |
16:57 |
|
ShadowNinja joined #minetest-dev |
17:14 |
|
ShadowNinja joined #minetest-dev |
17:20 |
|
Jordach joined #minetest-dev |
17:35 |
|
Pentium44 joined #minetest-dev |
17:35 |
Pentium44 |
darkrose, hi |
17:35 |
Pentium44 |
are you here? |
17:35 |
PilzAdam |
Pentium44, please no chit-chat here |
17:35 |
PilzAdam |
use PM |
17:36 |
Jordach |
Pentium44, /msg darkrose blah |
17:36 |
Pentium44 |
ok |
17:36 |
Pentium44 |
It was going to be on development be fime |
17:37 |
|
iqualfragile1 joined #minetest-dev |
17:57 |
|
ShadowNinja joined #minetest-dev |
18:02 |
|
ShadowNinja joined #minetest-dev |
18:18 |
|
proller joined #minetest-dev |
18:23 |
|
Pentium_4 left #minetest-dev |
18:32 |
|
salamanderrake joined #minetest-dev |
18:43 |
hmmmm |
why does it seem like it takes longer to get into a game |
18:57 |
|
Jordach joined #minetest-dev |
19:00 |
|
ShadowNinja joined #minetest-dev |
19:10 |
|
BlockMen joined #minetest-dev |
19:11 |
hmmmm |
no matter what i try to do, i can't seem to get those nonvirtual dtor warnings |
19:33 |
|
Jordach joined #minetest-dev |
20:02 |
|
Jordach joined #minetest-dev |
20:22 |
Exio |
/home/exio4/sources/minetest/src/mapgen_v7.cpp:107:9: warning: deleting object of polymorphic class type ‘Noise’ which has non-virtual destructor might cause undefined behaviour [-Wdelete-non-virtual-dtor] |
20:22 |
Exio |
/home/exio4/sources/minetest/src/mapgen_v7.cpp:108:9: warning: deleting object of polymorphic class type ‘Noise’ which has non-virtual destructor might cause undefined behaviour [-Wdelete-non-virtual-dtor] |
20:22 |
Exio |
like those? |
20:23 |
Exio |
i just got spammer by those |
20:23 |
PilzAdam |
Exio, everonye except hmmmm gets these warnings |
20:24 |
Exio |
s/spammer/spammed/ |
20:24 |
Exio |
k |
20:40 |
|
Jordach joined #minetest-dev |
20:42 |
Exio |
got even more warnings with clang |
20:44 |
PilzAdam |
so, any comments on the "new" mod system: https://github.com/PilzAdam/minetest/commits/modsystem |
20:56 |
|
iqualfragile joined #minetest-dev |
21:04 |
|
BlockMen left #minetest-dev |
21:07 |
|
iqualfragile joined #minetest-dev |
21:12 |
iqualfragile |
PilzAdam: make shure you tell sapier about it, he will be happy |
21:13 |
PilzAdam |
he already knows |
21:17 |
hmmmm |
anyway |
21:17 |
hmmmm |
i'll push the fix to my fork and have someone compile it from scratch and give me all of the warnings |
21:18 |
|
ShadowNinja joined #minetest-dev |
21:21 |
|
nyuszika7h joined #minetest-dev |
21:42 |
hmmmm |
what the fuck |
21:42 |
|
sapier joined #minetest-dev |
21:42 |
Exio |
wut? |
21:42 |
hmmmm |
i don't keep up with minetest for 2-3 weeks and it's noticably laggier, and loading textures takes 50x longer |
21:42 |
hmmmm |
who did this |
21:42 |
hmmmm |
not funny |
21:44 |
sapier |
I've already implemented modmanager and gamemanager the way pilzadams changes make it official |
21:45 |
sapier |
there have been some ppl recently complaining about performance degration but obviously noone was anoyed enough to investigate |
21:46 |
hmmmm |
so other people have noticed it aside from me? |
21:46 |
PilzAdam |
I havent noticed anything |
21:48 |
sapier |
I've heared someone else complaining a week ago |
21:48 |
sapier |
I don't exactly remember who |
21:49 |
hmmmm |
well, at least the texture loading, why is that so much slower? |
21:49 |
hmmmm |
to my understanding nothing at all was changed there, aside from the progress bar that was added while they're being loaded |
21:49 |
PilzAdam |
maybe because of the FPS limit? |
21:50 |
sapier |
maybe the progress bar update is implemented sub optimal? |
21:54 |
PilzAdam |
is it a bit faster with menu_clouds = false ? |
21:54 |
PilzAdam |
dunno |
21:59 |
VanessaE |
hmmmm: it's the texture extrude code that's the hangup, or at least that's been the issue in the past. |
22:03 |
hmmmm |
4247ms with |
22:03 |
hmmmm |
erm, so wait a minute, why can't i turn off preload item visuals |
22:03 |
hmmmm |
it keeps getting reset to 1 |
22:04 |
PilzAdam |
are you sure that Minetest is closed while editing minetest.conf? |
22:04 |
hmmmm |
yeah nevermind, pebkac.. there was another preload item visuals line in the conf |
22:04 |
PilzAdam |
there is also a checkbox in the settings tab |
22:05 |
hmmmm |
oh boy, an exciting poop colored brown background when menu clouds are disabled |
22:06 |
hmmmm |
with menu clouds disabled, the load still takes about 4.2 seconds |
22:07 |
VanessaE |
hmmmm: you wanna really see how bad it gets, try it with any big texture pack (sphax, HDX, minetoon, whatever) |
22:07 |
hmmmm |
it's not the load screen stuff that's the problem |
22:07 |
hmmmm |
not that i thought it was anyway |
22:07 |
PilzAdam |
the only huge difference can be achieved by changing preload_item_visuals |
22:08 |
PilzAdam |
and if you have it off then it should load fast |
22:09 |
VanessaE |
<offtopic> http://digitalaudioconcepts.com/vanessa/hobbies/minetest/images/menu_overlay_minetest.png <-- PilzAdam, suggestion for the default menu overlay for minetest_game </offtopic> |
22:09 |
VanessaE |
<offtopic> (background is transparent so that clouds will show through) </offtopic> |
22:09 |
PilzAdam |
ehm, no? |
22:10 |
PilzAdam |
it should use the header from minetest.net |
22:10 |
PilzAdam |
also the header should be in menu_header.png, not in the overlay |
22:11 |
PilzAdam |
I also dont know what is wrong with clouds only? |
22:11 |
kahrl |
it looks a lot like the minecraft menu |
22:11 |
VanessaE |
kahrl: it's inspired by one that cisoun did, I suppose it looks similar to MC, but wasn't meant to be |
22:12 |
VanessaE |
PilzAdam: because plain clouds are boring and we always used to have some kind of little graphical identifier, but whatever. the image is there if you change your mind. |
22:12 |
Exio |
i like it |
22:14 |
|
mrtux joined #minetest-dev |
22:14 |
sapier |
did anyone test current formspec menu? And if any known issues? |
22:15 |
PilzAdam |
is it rebased against current master? |
22:16 |
PilzAdam |
ok, it isnt |
22:16 |
sapier |
of course not ... lol I don't rebase once an hour ;-) but I've rebased after out last talk |
22:16 |
|
kaeza joined #minetest-dev |
22:17 |
PilzAdam |
ok, I got an empty formspec with only the tab buttons and lots of error messages in the console |
22:18 |
sapier |
atm it's 8 commits behind master |
22:18 |
sapier |
can you post the error messages? |
22:18 |
PilzAdam |
/builtin/mainmenu.lua:865: attempt to concatenate field 'current_tab' (a nil value) |
22:20 |
sapier |
strange |
22:20 |
sapier |
ok found it |
22:20 |
PilzAdam |
why do you create the new main_menu_tab setting in minetest.conf if there is already selected_mainmenu_tab? |
22:20 |
PilzAdam |
also line 676 add "or 1" |
22:21 |
sapier |
because I didn't know side effects of the old setting |
22:21 |
PilzAdam |
sorry, but it looks like shit in fullscreen mode |
22:22 |
kahrl |
side effects? |
22:22 |
sapier |
no 1 is wrong its text |
22:22 |
sapier |
main_menu_tab is a text identifyer |
22:22 |
kahrl |
hmm |
22:23 |
kahrl |
use selected_mainmenu_tab and if the text is not found default to the first tab |
22:23 |
sapier |
it's a matter of decision formspec scales to screensize atm |
22:23 |
PilzAdam |
well, it just doesnt look good |
22:24 |
PilzAdam |
I like the idea of having a formspec based main menu, but if it looks like this then its better to keep the current one |
22:25 |
sapier |
I don't have any idea what you're talking about in window mode differences are next to none ... fullscreen mode ... no idea how it looks like there but I'm sure it can be fixed too |
22:25 |
PilzAdam |
no difference? |
22:26 |
sapier |
the only difference I know is tab buttons |
22:26 |
* PilzAdam |
takes screenshots |
22:28 |
sapier |
<< waiting for screenshots |
22:35 |
sapier |
pilzadam? |
22:37 |
PilzAdam |
https://www.dropbox.com/s/1t19palzhedzavz/Small.png |
22:37 |
PilzAdam |
(ignore the Minetest header) |
22:38 |
sapier |
oops faourites shouldn't look like that "show public" is missing due to curl support atm |
22:39 |
sapier |
except of tab and the completely redone aadvanced tab I don't see any other difference |
22:40 |
PilzAdam |
https://www.dropbox.com/s/1ghsn386ez9rjgq/Big.png |
22:40 |
sapier |
hmm i18n is missing too ... maybe we should think about adding lua i18n by default |
22:40 |
PilzAdam |
the second one says it all |
22:40 |
VanessaE |
sapier: eugh... that menu is way too big now, it'll break some menu overlays I expect. |
22:40 |
VanessaE |
(it does look nice though, don't get me wrong) |
22:41 |
sapier |
no problem size is tweakable ... and I guess I'll be able to add forced size formspecs too if you don't like menu scaling to big screens ... I personaly don't even think this is bad |
22:41 |
PilzAdam |
also I dont know what you do with all the icons (game filter and credits tab), but they look very ugly |
22:42 |
VanessaE |
PilzAdam: that's due to nearest-neighbor scaling most likely |
22:42 |
sapier |
they are scaled to the size given ... most likely I didn't hit the native size |
22:42 |
VanessaE |
why the engine doesn't use at least bicubic everywhere that it can stumps me |
22:44 |
kahrl |
I don't think bicubic looks good on cartoonish icons |
22:44 |
sapier |
ok so current issues are: 1) lock size of formspec even on big screens 2) fix favourite textlist 3) fix iconsizes 4) fix menu height ... guys you are aware that main menu is completely customizaben now are you? games even could add their own menu ;-) |
22:45 |
PilzAdam |
5) add public server list 6) only show "/ <gamename>" in topleft corner in singleplayer game |
22:45 |
sapier |
pilzadam favourite textlist is somehow related to your favourites |
22:46 |
PilzAdam |
7) add support for menu_<background / overlay / header / footer>.png |
22:46 |
sapier |
already supported |
22:46 |
PilzAdam |
why dont I see the "MINETEST" header then? |
22:47 |
sapier |
because I don't have any minetest game including any of those overlays ;-) |
22:47 |
PilzAdam |
8) some hint(s) what tab you have selected |
22:48 |
PilzAdam |
9) better tab buttons |
22:48 |
PilzAdam |
(i.e. not the normal buttons) |
22:48 |
sapier |
8) already done + 9) wont fix |
22:48 |
VanessaE |
sapier: install the overlay I just posted a bit ago ;) |
22:48 |
PilzAdam |
10) port field in "Server" tab |
22:49 |
|
arsdragonfly joined #minetest-dev |
22:49 |
PilzAdam |
11) translation |
22:49 |
sapier |
formspec doesn't have tabs and will never have without complete rebuild which I can't do because of compatibility |
22:49 |
PilzAdam |
then add some fake images or something |
22:50 |
PilzAdam |
12) fix scaling of icons (gamefilter & credits tab) |
22:50 |
sapier |
won't help because I'm not a graphics guy any graphics done by me will look even worse |
22:50 |
PilzAdam |
13) why does it show 0.4.7? |
22:50 |
sapier |
12 is duplicate of 4 |
22:50 |
sapier |
because reading minetest version is not supported and this won't be added prior 0.4.7 ;-P |
22:52 |
PilzAdam |
is it possible to have checboxes with a slidebar? |
22:52 |
PilzAdam |
it could be used in the settings tab |
22:53 |
sapier |
formspec doesn't have container support |
22:53 |
sapier |
this can't be added without either creating a real mess or break compatibility completely |
22:54 |
PilzAdam |
how would it be possible to create a full minetest.conf "manager" then? |
22:54 |
sapier |
don't know but there will be a solution |
22:55 |
kahrl |
why would adding tabs mean a redesign of the formspec system? |
22:55 |
Exio |
because there is not a thing like the containers? |
22:55 |
kahrl |
it doesn't have to be a container |
22:55 |
sapier |
atm order of elements within formspec doesn't mean anything thus parsing is context free (as of element point of view) |
22:55 |
Exio |
following what sapier said |
22:56 |
PilzAdam |
tabs could just act like buttons |
22:56 |
PilzAdam |
they just look different |
22:56 |
sapier |
that's how they do now |
22:56 |
PilzAdam |
why dont you give buttons the ability to look like tabs? |
22:57 |
sapier |
a button can look like everything if you provide the correct images |
22:57 |
kahrl |
the width of the tab buttons changes depending on font, font size and translation |
22:57 |
kahrl |
so images aren't really useful |
22:58 |
sapier |
to me a tab is a set of sheets with only one completely visible but all others only show their buttons |
22:58 |
sapier |
thus it's a container |
22:58 |
kahrl |
sure, but that doesn't mean it has to work that way internally |
22:59 |
PilzAdam |
as I said, they can act like normal buttons and just look like tabs |
22:59 |
sapier |
true but pilzadam doesn't seem to like the current button suggestion too ;-) |
22:59 |
kahrl |
irrlicht's tab control is not a container IIRC |
23:00 |
kahrl |
it just provides the buttons |
23:00 |
sapier |
if you can explain to me how a plane can look like a submarine plz tell me |
23:01 |
PilzAdam |
sapier, just add the Irrlicht tabs to the menu; when they are clicked just do nothing except sending a normal "button clicked" event to Lua |
23:03 |
sapier |
hmm interesing idea ... might even work |
23:05 |
sapier |
someone could help with i18n ... I don't have any idea how to integrate po files within lua |
23:06 |
sapier |
pilzadam could you have a look at favourites menu and why it looks so strange for you? |
23:08 |
kaeza |
sapier, about i18n, it would help to integrate sfan5's mod/lib/whatever |
23:08 |
sapier |
I don't know much about it but maybe it would work |
23:08 |
sapier |
I guess we need some generic support for po files as we do have translation there |
23:09 |
kaeza |
that mod has a .po file reader |
23:09 |
kaeza |
but would help to export gettext to Lua too |
23:09 |
kaeza |
*gettext symbols |
23:10 |
sapier |
sounds like what I'm looking for |
23:10 |
kaeza |
to work with .mo catalogs |
23:10 |
PilzAdam |
sapier, I have no idea about the favorite list |
23:10 |
PilzAdam |
but its comletly messed up |
23:11 |
sapier |
maybe data provided in curl mode uses characters interpreted as formspec field separators |
23:11 |
PilzAdam |
it contains parts of the public server list and parts of my world list |
23:11 |
sapier |
hmm or data generation has a bug |
23:12 |
sapier |
I'll have a look once tested tabheader |
23:12 |
PilzAdam |
also the Adress /port dont change when selecting on entry |
23:13 |
PilzAdam |
it shows me this in adress field: "0/100 0.4.6 CDP Mine Art 1 (See http" and this in the port: "//jpappsvr01.dyndns.org/ for more details.)" |
23:13 |
sapier |
if formspec is misinterpreted it's most likely to be skrewed up completely ... in local mode it works for me |
23:13 |
PilzAdam |
(and also writes it to favoriteservers.txt) |
23:14 |
PilzAdam |
btw: s/favourites/favorites/g |
23:14 |
sapier |
I wonder what's the problem ... special chars are [;,# |
23:16 |
PilzAdam |
I guess the problem is not formspec related |
23:17 |
sapier |
it has to be something with formspec as the textlist is either not shown at all or errorneous set to transparente mode |
23:52 |
|
Jordach joined #minetest-dev |