Time |
Nick |
Message |
00:13 |
|
CraigyDavi` joined #minetest-dev |
00:52 |
|
mrtux joined #minetest-dev |
02:20 |
|
Miner_48er joined #minetest-dev |
02:34 |
|
sebastian joined #minetest-dev |
02:43 |
|
CraigyDavi joined #minetest-dev |
03:09 |
|
nore_ joined #minetest-dev |
04:55 |
|
sebastia joined #minetest-dev |
04:57 |
|
swaaws joined #minetest-dev |
05:11 |
RealBadAngel |
ShadowNinja, around? |
05:21 |
|
hmmmm joined #minetest-dev |
05:28 |
|
Zeno` joined #minetest-dev |
05:28 |
|
CraigyDavi` joined #minetest-dev |
05:29 |
Zeno` |
RealBadAngel, I was going to right a quick test for lumping it all into one (without the loops) but never got around to it. Looking at the code and the C++ standard it would work |
05:30 |
RealBadAngel |
Zeno`, what are you talkin about? |
05:30 |
Zeno` |
also, and this probably wasn't you and is a bit pendatic, but sizeof(MapNode) is not a great idea... sizeof(m_data[0]) would be better in case the m_data's type changes |
05:30 |
Zeno` |
oh sorry... see #minetest |
05:30 |
Zeno` |
<Zeno`> RealBadAngel: something I'm kind of uncertain about... https://github.com/minetest/minetest/blob/master/src/voxel.cpp#L224 |
05:30 |
Zeno` |
<Zeno`> why is the memcpy() and associated memset() inside two outer loops instead of just copying the whole lot |
05:31 |
RealBadAngel |
thats not my playground |
05:31 |
Zeno` |
ahh ok |
05:31 |
Zeno` |
who looks after the voxelmanip stuff? |
05:32 |
RealBadAngel |
i think hmm, c55 or sapier could tell something bout it |
05:32 |
Zeno` |
thanks |
05:32 |
RealBadAngel |
i am doing gfx related stuff only |
05:33 |
RealBadAngel |
sometimes lua-core, for modding |
05:36 |
Zeno` |
I just thought it was you because I thought I saw a commit from you... was probably mistaken heh |
05:36 |
Zeno` |
yeah sapier made the commit |
05:36 |
Zeno` |
my bad |
05:51 |
|
cheapie joined #minetest-dev |
06:00 |
RealBadAngel |
sapier is kinda universal to blame lol |
06:02 |
RealBadAngel |
he just took c55's job i guess |
06:04 |
RealBadAngel |
btw, for the record, im going to multiply param2 in plantlike by 2 |
06:04 |
|
Hunterz joined #minetest-dev |
06:05 |
RealBadAngel |
thats after zefram_fysh |
06:05 |
RealBadAngel |
and to make 360 degs rotations possible |
06:25 |
|
grrk-bzzt joined #minetest-dev |
06:27 |
|
CraigyDavi`` joined #minetest-dev |
06:40 |
|
cheapie joined #minetest-dev |
06:40 |
|
Garmine joined #minetest-dev |
07:00 |
|
Calinou joined #minetest-dev |
07:40 |
|
OldCoder joined #minetest-dev |
08:19 |
|
kahrl joined #minetest-dev |
08:49 |
|
Calinou joined #minetest-dev |
08:49 |
|
CraigyDavi joined #minetest-dev |
08:55 |
|
Krock joined #minetest-dev |
09:29 |
|
Jordach joined #minetest-dev |
09:40 |
|
Jordach joined #minetest-dev |
09:41 |
|
restcoser joined #minetest-dev |
10:02 |
|
PenguinDad joined #minetest-dev |
10:13 |
|
nore__ joined #minetest-dev |
10:26 |
|
kaeza joined #minetest-dev |
10:37 |
|
proller joined #minetest-dev |
10:42 |
|
sfan5_ joined #minetest-dev |
11:12 |
|
CraigyDavi` joined #minetest-dev |
11:30 |
sfan5 |
https://github.com/minetest/minetest/pull/1516 |
11:30 |
sfan5 |
comments please |
11:30 |
sfan5 |
Don't include cmake_config_githash.h into files that don't need it #1516 |
11:31 |
Zefram_Fysh |
if that reduces rebuilding then it's worthwhile |
11:33 |
Zefram_Fysh |
sfan5: btw, nore showed up and spoke in favour of putting filled buckets in creative inventory (game issue #283), so per BlockMen you're free to apply that now |
11:34 |
sfan5 |
<Zefram_Fysh> if that reduces rebuilding then it's worthwhile |
11:34 |
sfan5 |
it does exactly that |
11:34 |
sfan5 |
Zefram_Fysh: ok, will apply now |
11:34 |
Zefram_Fysh |
yay |
11:34 |
Zefram_Fysh |
and yay |
11:39 |
Zeno` |
sfan: I'd agree with that |
11:39 |
Zeno` |
sfan5, it's a bit annoying actually having to rebuild the entire source |
11:40 |
Zeno` |
if somebody wants to change the "-dirty" bit that's pretty easy, so there is not a huge point to it |
11:41 |
Zeno` |
the only thing it does is force a rebuild of 90% of the files because I added a space heh |
11:46 |
RealBadAngel |
shit happens |
11:46 |
RealBadAngel |
try to work on tile.cpp |
11:46 |
RealBadAngel |
and its header |
11:47 |
RealBadAngel |
pain in the ass |
11:47 |
RealBadAngel |
its included everywhere almost ;) |
11:51 |
|
ImQ009 joined #minetest-dev |
13:02 |
Zefram_Fysh |
http://paste.scsys.co.uk/409325 [PATCH] Vector math improvements |
13:05 |
VanessaE |
https://github.com/minetest/minetest/issues/1517 |
13:05 |
Zefram_Fysh |
thanks |
13:05 |
VanessaE |
np. |
13:25 |
|
werwerwer joined #minetest-dev |
13:28 |
|
CraigyDavi joined #minetest-dev |
13:30 |
|
Megaf joined #minetest-dev |
14:11 |
|
hmmmm joined #minetest-dev |
14:22 |
|
Calinou joined #minetest-dev |
14:49 |
|
liljnc3 joined #minetest-dev |
15:00 |
|
TDS joined #minetest-dev |
15:24 |
ShadowNinja |
Zefram_Fysh: Commented on it. |
15:28 |
Zefram_Fysh |
re overflow, do we ever get vectors large enough that squaring an element is liable to overflow? I thought we were many many orders of magnitude below that |
15:31 |
ShadowNinja |
Zefram_Fysh: Perhaps, but as long as we can do that without a significant performance penalty, why not? |
15:36 |
Zefram_Fysh |
I'd want to see timing measurements before saying that your math.hypot isn't a significant performance penalty. and doing two sqrts per vector.length seems wasteful, but I guess you can rewrite vector.length to work the same kind of way as your math.hypot with only one sqrt operation |
16:14 |
|
proller joined #minetest-dev |
16:28 |
|
PenguinDad joined #minetest-dev |
16:32 |
|
proller joined #minetest-dev |
16:35 |
|
grrk-bzzt joined #minetest-dev |
16:36 |
|
ImQ009 joined #minetest-dev |
16:43 |
|
ImQ009_ joined #minetest-dev |
16:47 |
|
ImQ009 joined #minetest-dev |
17:08 |
|
proller joined #minetest-dev |
17:16 |
|
Jordach joined #minetest-dev |
17:29 |
|
Miner_48er joined #minetest-dev |
17:35 |
|
Miner_48er joined #minetest-dev |
17:41 |
|
ImQ009 joined #minetest-dev |
17:42 |
|
sapier joined #minetest-dev |
18:08 |
Krock |
*breaks silence* |
18:08 |
VanessaE |
G*d damn it krock |
18:08 |
VanessaE |
now look what you did |
18:08 |
Krock |
>:D |
18:08 |
RealBadAngel |
holy shit |
18:08 |
PenguinDad |
Mese |
18:08 |
* VanessaE |
hands Krock a broom and dust pan |
18:09 |
VanessaE |
look at the mess. |
18:09 |
VanessaE |
pieces of silence all over the floor |
18:09 |
* Krock |
gives VanessaE a "Thanks" card |
18:10 |
VanessaE |
anyone got any glue? |
18:11 |
Krock |
technic possibly has some |
18:11 |
Krock |
ask her |
18:18 |
sfan5 |
what purpose does TextureSource::rebuildImagesAndTextures() serve? |
18:21 |
RealBadAngel |
re reads all the files and generates texture pointers |
18:23 |
* Krock |
wonders how long some pulls will stay on the waiting list |
18:23 |
PenguinDad |
Krock: that can take a looong time |
18:24 |
sfan5 |
RealBadAngel: not what it does, why it exists |
18:25 |
RealBadAngel |
good question, idk :) |
18:25 |
sfan5 |
I'll find out after this compiled.. |
18:26 |
RealBadAngel |
sapier was lately modifing it, he may know |
18:26 |
sfan5 |
zsh: segmentation fault ./minetest |
18:26 |
sfan5 |
looks like I broke it |
18:27 |
RealBadAngel |
btw, going to add check for texture pointer in glasslike_framed drawtype |
18:27 |
VanessaE |
RealBadAngel: also add a check to the screwdriver - it should not change param2 of such |
18:27 |
RealBadAngel |
that will solve that issue |
18:27 |
sapier |
for what I remember rebuildImagesAndTextures is a relic of texture atlas not beeing removed because of too much to change |
18:27 |
VanessaE |
(else it could be used by a griefer/cheater to add/remove "stuff" from a glasslike_framed tank) |
18:28 |
RealBadAngel |
where was the issue posted anyway? cant find it now |
18:28 |
sapier |
could be used for initial building of textures too |
18:28 |
VanessaE |
https://github.com/minetest/minetest/issues/1514 |
18:28 |
RealBadAngel |
ty |
18:28 |
VanessaE |
yw |
18:29 |
RealBadAngel |
btw stupid comparission, those 2 unaffected nodes are not of the same drawtype even |
18:29 |
VanessaE |
I know, I already told her |
18:29 |
VanessaE |
they're glasslike, from building_blocks mod in homedecor. |
18:29 |
* sfan5 |
wonders what code calls TextureSource::rebuildImagesAndTextures() |
18:30 |
RealBadAngel |
it could be dirt placed there and pointed hey its working ok |
18:30 |
RealBadAngel |
client.cpp #2662 |
18:32 |
VanessaE |
RealBadAngel: *any*way, don't let the default screwdriver alter param2 on a framed glass node at all, whether it has a proper texture or not |
18:32 |
RealBadAngel |
anyway check for pointer is needed |
18:33 |
sfan5 |
YAY! |
18:33 |
sfan5 |
it works |
18:33 |
|
Miner_48er joined #minetest-dev |
18:33 |
RealBadAngel |
sfan5, what? |
18:33 |
* sfan5 |
reworked texture/image generation in tile.cpp |
18:33 |
sfan5 |
I also added (...) support to texture names |
18:33 |
RealBadAngel |
can i see the code? |
18:33 |
VanessaE |
sfan5: ... ? |
18:33 |
sfan5 |
yes |
18:33 |
sfan5 |
VanessaE: example: default_wood.png^(default_cobble.png^autoblockbreaker_mask1.png^[makealpha:255,0,255) |
18:34 |
VanessaE |
oooooo |
18:34 |
VanessaE |
sorta like layer groups |
18:34 |
sfan5 |
VanessaE: will create default_cobble.png^autoblockbreaker_mask1.png^[makealpha:255,0,255 and then do default_wood.png^what_it_just_created |
18:34 |
VanessaE |
kaeza will like that :) |
18:34 |
* sfan5 |
likes it too |
18:34 |
RealBadAngel |
and engine cries ;) |
18:34 |
sfan5 |
not really |
18:35 |
RealBadAngel |
i know some modders that will surely abuse it to the limits :) |
18:35 |
* sfan5 |
looks at Jordach |
18:35 |
* PenguinDad |
looks at signs_lib |
18:36 |
RealBadAngel |
which reminds me signs should be altered to generate textures with text given |
18:36 |
RealBadAngel |
on the fly |
18:36 |
sfan5 |
RealBadAngel: http://sprunge.us/UdHS?diff todo: fix inventorycube, move code from generateTexture to generateImage and make generateTexture only create a texture |
18:36 |
RealBadAngel |
kaeza's mod is a killer one |
18:37 |
RealBadAngel |
especially when irrlicht has text scene node |
18:37 |
sfan5 |
RealBadAngel: comments to the code? |
18:38 |
sapier |
sfan5 please don't remove the android assertions unless you're gonna search those ugly hard to find bugs ;-P |
18:39 |
sfan5 |
sapier: I replaced the code so that those android stuff is done elsewhere |
18:39 |
sapier |
then please move the assertions too ;-) |
18:39 |
sfan5 |
yeah yeah |
18:40 |
RealBadAngel |
sfan5, it looks ok for me, cant say anythin bout android stuff |
18:40 |
sfan5 |
VanessaE: I initially wanted it so I could create this texture on the fly (notice the cobble at the edges): http://i.imgur.com/N7OGlmz.png |
18:40 |
sapier |
and please check if you did break inventorycube rendering that's quite ugly on android and I'll not be very friendly if I have to do it all again ;-P |
18:40 |
sfan5 |
I did break it |
18:41 |
sfan5 |
and I know why |
18:41 |
sfan5 |
I'll fix that |
18:41 |
RealBadAngel |
sfan5, but since youre doing something with tiles, remember that everything has to be done on startup |
18:41 |
VanessaE |
sapier: admit it, you LOOOVE to fix android stuff ;) |
18:41 |
sfan5 |
RealBadAngel: everything is done on startup |
18:41 |
VanessaE |
sfan5: interesting test. you should use signs_lib as another test ;) |
18:41 |
sfan5 |
this test is enoough |
18:41 |
sfan5 |
-o |
18:41 |
sapier |
nope |
18:41 |
sapier |
signs is hardcore |
18:41 |
sfan5 |
VanessaE: btw: you can nest the ( .. ) |
18:41 |
RealBadAngel |
thats very important, since last changes (mapblock mesh speedup) runtime modifications are not allowed |
18:42 |
sfan5 |
sapier: I won't change signs_lib to use this feature |
18:42 |
RealBadAngel |
fences was the last piece of code that did that, and its fixed already |
18:42 |
sfan5 |
fence did runtime modifications? |
18:42 |
VanessaE |
nono I don't mean to change it. I just meant to see if it still works etc. |
18:42 |
sapier |
you don't have to change signs lib you just have to run it |
18:43 |
RealBadAngel |
yes, with transformR90 |
18:43 |
sfan5 |
VanessaE: link pls |
18:43 |
VanessaE |
sfan5: https://github.com/VanessaE/homedecor_modpack |
18:43 |
sapier |
sfan5 just connect to vanessae's vanilla server |
18:43 |
VanessaE |
or do that. |
18:43 |
sapier |
should be test enough ;-) |
18:43 |
RealBadAngel |
mods can use transforms ofc, but engine while rendering cant |
18:45 |
sapier |
L157 ... why don't you just use std::string??? |
18:46 |
sfan5 |
sapier: I didn't change that part |
18:46 |
|
Miner_48er joined #minetest-dev |
18:47 |
sapier |
It's all green so "no change" doesn't seem to be an exact match ;) |
18:47 |
sfan5 |
sapier, VanessaE: satisfied? http://i.imgur.com/TfQQboO.png |
18:47 |
VanessaE |
sfan5: yes, quite :) |
18:47 |
sapier |
nope join server run ... it's a benchmark |
18:47 |
sapier |
a single sign working may be pure chance ;-) |
18:47 |
VanessaE |
*looks into the distance* |
18:47 |
VanessaE |
sfan5: what is that on the right? |
18:47 |
sfan5 |
-for(s32 i=name.size()-1; i>=0; i--) |
18:47 |
sfan5 |
157 +for(s32 i = name.size() - 1; i >= 0; i--) { |
18:48 |
sfan5 |
^ sapier |
18:48 |
VanessaE |
about 10 nodes back, on the right, in the cobble...the circle |
18:48 |
sfan5 |
VanessaE: autoblockbreaker |
18:48 |
VanessaE |
ahh |
18:48 |
sapier |
well it's been used for a single separator what I see or did git mix it all up? |
18:48 |
sfan5 |
we used this with the skyblock map to auto-mine cobble |
18:48 |
sapier |
what's the new thing anyway? |
18:49 |
sapier |
sfan5 are you assembler programmer? |
18:49 |
sfan5 |
VanessaE: http://meow.minetest.net/skyblock-video.mp4 1:60 |
18:49 |
sfan5 |
sapier: no |
18:49 |
sfan5 |
assembler is a PITA |
18:49 |
sapier |
then why do you create spaghetti code ? |
18:49 |
sfan5 |
wut |
18:50 |
sfan5 |
where? |
18:50 |
sapier |
this usage of goto is exactly why goto is famous |
18:50 |
sfan5 |
uh |
18:51 |
sfan5 |
the goto thing is better than: |
18:51 |
sfan5 |
for(...) { |
18:51 |
sfan5 |
bool b = false; |
18:51 |
sapier |
it's not like breaking out of a huge function saving a lot of code ... it's just quick and dirty |
18:51 |
sfan5 |
if(fooobar) |
18:51 |
sfan5 |
b= true; |
18:51 |
sfan5 |
if(b) |
18:51 |
sfan5 |
break; |
18:51 |
sfan5 |
} |
18:51 |
sapier |
or |
18:51 |
sfan5 |
or? |
18:52 |
RealBadAngel |
https://github.com/minetest/minetest/blob/master/src/content_mapblock.cpp#L949 |
18:52 |
sapier |
for(s32 i = name.size() - 1; i >= 0 && (!loop_done); i--) { |
18:52 |
sfan5 |
this is almost as bad |
18:52 |
RealBadAngel |
going to change this very line to: if (param2 > 0 && f.special_tiles[0].texture) { |
18:52 |
sapier |
way more clean then this goto usage |
18:52 |
RealBadAngel |
any objections? |
18:52 |
sfan5 |
sapier: no |
18:52 |
sfan5 |
RealBadAngel: no |
18:53 |
sfan5 |
s/$/ objections/ |
18:53 |
RealBadAngel |
sapier? |
18:53 |
sapier |
RealBadAngel: no idea what you're doing there so I can't tell anything about |
18:54 |
RealBadAngel |
sapier, this will solve https://github.com/minetest/minetest/issues/1514 |
18:55 |
sapier |
sfan5: simple rule don't use goto for conditional code execution that's why it's been hated so much ... yes you can write shorter code. but noone will see where that damn jump label is without looking for it |
18:55 |
RealBadAngel |
simply dont display interior when there are no textures defined |
18:55 |
sapier |
if this fixes it merge it |
18:55 |
sfan5 |
sapier: "no one will see where that damn variable is used without looking for it" |
18:56 |
sfan5 |
and all code is conditional |
18:56 |
sfan5 |
using goto in un-conditional code is worse |
18:56 |
sfan5 |
and why exactly are you complaining because of -> ONE <- goto |
18:56 |
sfan5 |
? |
18:56 |
RealBadAngel |
ok, pushing it |
18:57 |
sapier |
that variable is exactly where any programmer would expect it ... within a conditional expression and not somewhere hidden wirthin other code |
18:57 |
sapier |
yes because it seems like one goto per month is added |
18:57 |
sfan5 |
hidden within other code != at the end of a for loop for everyone to see |
18:58 |
sapier |
178 + continue; |
18:58 |
sapier |
179 + loop_break: |
18:58 |
sapier |
180 + break; |
18:58 |
sapier |
tell me where's the optica difference between those lines? |
18:59 |
sapier |
not even talking about how crude that combination of codelines is ;-P |
18:59 |
sfan5 |
the different is letters |
18:59 |
sfan5 |
or colors if you are not stuck in 1999 |
18:59 |
sapier |
btw a even simpler way of doing is using i = -1; |
19:00 |
sfan5 |
i'll use that then |
19:00 |
sapier |
and of course add a comment above //abort loop |
19:00 |
sfan5 |
I am not dumb |
19:01 |
sapier |
that's not what I intended to tell :-( |
19:01 |
RealBadAngel |
ok, so about special tiles count. i want it to be raised and be 6 as regular tile |
19:01 |
RealBadAngel |
can we do it now, since 0.4.10 is behind? |
19:02 |
sfan5 |
don't ask me |
19:02 |
sfan5 |
I dunno about that stuff |
19:02 |
RealBadAngel |
that will require protocol version bump |
19:02 |
RealBadAngel |
since that bitch is hardcoded |
19:03 |
RealBadAngel |
i need that to be changed for 2 stated drawtype |
19:03 |
RealBadAngel |
with 2 sets of textures |
19:03 |
sapier |
sfan5: rebuildImagesAndTextures do you need the lock in there or not? if not remove it completely |
19:04 |
sapier |
ahh you did remove full content |
19:04 |
sfan5 |
I did that to see what would happen |
19:04 |
RealBadAngel |
above will apply for many things like furnaces, mesecon wires etc |
19:04 |
sfan5 |
as I didn't understand what it was for |
19:04 |
RealBadAngel |
mesecons wires definitions needed will be cut by half |
19:04 |
sapier |
btw you did remove the android texture fix too ... that part in there is crucial ... lots of android devices don't support non npot2 textures |
19:05 |
sfan5 |
sapier: I didn't remove it, it's already elsewhere |
19:05 |
sfan5 |
anyway |
19:05 |
sfan5 |
that code is todo |
19:05 |
sapier |
3 #ifdef __ANDROID__ |
19:05 |
sapier |
324 img = Align2Npot2(img,driver); |
19:05 |
sapier |
is the important part |
19:05 |
RealBadAngel |
brb |
19:06 |
sapier |
wherever you happen to create those images in future add it there |
19:06 |
RealBadAngel |
need to boot into android for a moment |
19:06 |
sfan5 |
^ o.o |
19:13 |
|
Miner_48er joined #minetest-dev |
19:34 |
|
proller joined #minetest-dev |
19:35 |
|
zat joined #minetest-dev |
19:36 |
|
RealBadAngel joined #minetest-dev |
19:36 |
RealBadAngel |
back |
19:36 |
VanessaE |
wb |
19:37 |
RealBadAngel |
so, what about special tiles count rise? |
19:37 |
RealBadAngel |
sapier? |
19:39 |
sapier |
hmm |
19:40 |
sapier |
is there really no way to fix it in a compatible way? |
19:40 |
RealBadAngel |
https://github.com/minetest/minetest/blob/master/src/nodedef.h#L154 |
19:40 |
RealBadAngel |
its hardcoded |
19:40 |
sapier |
if we change it now in master you basicaly force all server admins to stay on stable |
19:41 |
RealBadAngel |
we need that anyway |
19:41 |
RealBadAngel |
2 is just plain stupid |
19:41 |
sapier |
why not merge it just a few weeks prior 0.4.11 release? |
19:42 |
RealBadAngel |
i wanted that in 0.4.10 and you asked me to wait with that |
19:42 |
sapier |
yes because it's been way to close |
19:42 |
sapier |
and yes both aren't good solutions |
19:42 |
RealBadAngel |
are you aware how many node definitions mesecons wires have? |
19:43 |
sapier |
basically this change is 0.5 |
19:43 |
sapier |
and to be honest imho the improvement is not worth a milestone |
19:43 |
RealBadAngel |
and 6d facedir mesecons wires? |
19:44 |
RealBadAngel |
in the 2nd case we are talking bout 1k |
19:44 |
RealBadAngel |
that single change means cut by half |
19:44 |
sapier |
if you do this change you need two things: 1) update version number to 0.5 ... and second a release withing a short amount of time |
19:44 |
RealBadAngel |
its not worth 0.5 imho |
19:45 |
sapier |
if we break protocol compatibility it's 0.5 no matter if it's worth it or not |
19:45 |
sapier |
especially as you break it in a way that makes clients crash |
19:45 |
RealBadAngel |
no, they wont crash |
19:45 |
sapier |
I remember different things |
19:46 |
RealBadAngel |
they will be informed that server uses newer code |
19:46 |
sapier |
did you verify this with a 0.4.9 client? |
19:46 |
RealBadAngel |
theres a code for it somwhere |
19:46 |
RealBadAngel |
yes i did |
19:46 |
sapier |
are you sure? |
19:47 |
RealBadAngel |
if server tries to send 6 special tiles and client knows two, message bout it is being displayed |
19:47 |
RealBadAngel |
lemme find it |
19:48 |
RealBadAngel |
nodedef.cpp #321 |
19:48 |
sapier |
wgar's number of this pull? |
19:48 |
RealBadAngel |
so the client wont crash for sure |
19:48 |
sapier |
for what I remember you added this for 0.4.10 |
19:49 |
RealBadAngel |
i wanted to change that for 0.4.10 but was asked to wait with that |
19:49 |
sapier |
yes because of that code missing ;-) |
19:49 |
RealBadAngel |
no |
19:49 |
RealBadAngel |
that code is here since always |
19:49 |
RealBadAngel |
i wanted just to set CF_SPECIAL_COUNT to 6 |
19:50 |
sapier |
tell me the pull request number I'll check myself how it's gonna behave |
19:51 |
RealBadAngel |
theres no pull for that |
19:51 |
RealBadAngel |
just edit nodedef.h line #154 |
19:51 |
sapier |
can you explain to me why you even expect to merge compatibility breaking changes without giving ppl chance to review? |
19:52 |
RealBadAngel |
im talking bout it |
19:52 |
sapier |
and no don't change it in a way it's gonna break compatibility again if someone wants to add 8 tiles |
19:52 |
RealBadAngel |
and ofc i can make a pull, no problem |
19:52 |
RealBadAngel |
node doesnt have 8 tiles |
19:52 |
RealBadAngel |
neither 2 |
19:52 |
sapier |
fix it in a way we won't have same issue again later |
19:52 |
RealBadAngel |
just 6 |
19:52 |
sapier |
unless someone adds drawtype ikosaeder |
19:53 |
RealBadAngel |
i cant say what some1 will invent in the future |
19:53 |
RealBadAngel |
i just know 6 is the right value |
19:53 |
sapier |
then make a change safe for future |
19:54 |
|
Exio joined #minetest-dev |
19:54 |
sapier |
e.g. throw exception on less then required number only |
19:54 |
sapier |
ignoring additional ones |
19:54 |
RealBadAngel |
i can do that |
19:55 |
sapier |
and make a pull request, sometimes ppl find solutins after thinking about it for a while ... they can't think if they have nothing to think about |
19:55 |
RealBadAngel |
but wait |
19:55 |
RealBadAngel |
that wont work |
19:55 |
sapier |
that's exactly what a pull request is for ... find out what works and what doesn't |
19:55 |
RealBadAngel |
because its gonna be widely used |
19:56 |
RealBadAngel |
by dozens of node types |
19:56 |
sapier |
and? |
19:56 |
RealBadAngel |
by definition it will be incompatible |
19:56 |
sapier |
so we can't do it that way anyway? |
19:56 |
sfan5 |
sapier: https://github.com/sfan5/minetest/commit/3ece430ca1af503cd157e0ae8c0b634742f13504 more comments? (this code is finished now) |
19:56 |
RealBadAngel |
if furnace is going to become a very single node, without need to swap active/inactive |
19:57 |
RealBadAngel |
it will mean mods will change |
19:57 |
sapier |
sfan5 let me check it for android first |
19:57 |
RealBadAngel |
engine cant just fake it |
19:58 |
sapier |
sorry but this doesn't sound like something very likely to happen |
19:58 |
RealBadAngel |
it has to happen |
19:58 |
sapier |
we need to find a less invasive way to do it |
19:58 |
RealBadAngel |
yes theres a way |
19:58 |
RealBadAngel |
but i doubt THAT will happen |
19:59 |
RealBadAngel |
set meta nodedef |
19:59 |
sapier |
well a change forcing any single mod having a node in it to be updated wont happen for sure too |
19:59 |
RealBadAngel |
that wont hurt so much |
19:59 |
RealBadAngel |
all old mods will work as usual |
19:59 |
sapier |
just plain NO |
20:00 |
RealBadAngel |
but new ones will require new clients simply |
20:00 |
sapier |
could you please try to no tell different things any minute? ... or at least be more precise ;-) |
20:00 |
RealBadAngel |
try to run a mod that uses a feature added at some point |
20:00 |
RealBadAngel |
any |
20:01 |
RealBadAngel |
it will crash on older client |
20:01 |
RealBadAngel |
hows that different from my change? |
20:01 |
sapier |
ok then it's a 0.5 change |
20:01 |
sapier |
0.4 are at max things that cause clients to tell "not compatible" ... but crashing is evil |
20:02 |
RealBadAngel |
i wont argue about version number, but if we have more changes that would require new protocol |
20:02 |
proller |
lol, it says assert-man |
20:02 |
RealBadAngel |
we should gather them together |
20:03 |
RealBadAngel |
sapier, even now clients wont crash, they are just unable to connect to server that has 6 special tiles |
20:04 |
RealBadAngel |
and even then only when server mods actually use that feature |
20:04 |
sapier |
do clients crash if that feature is used by server or not? |
20:04 |
RealBadAngel |
no |
20:04 |
RealBadAngel |
they got warning message |
20:04 |
RealBadAngel |
and can go back to server selection menu |
20:04 |
sapier |
and the effect on gameplay will be? |
20:05 |
sapier |
ok so unable to join that server |
20:05 |
RealBadAngel |
single node for 2 stated nodes |
20:05 |
RealBadAngel |
like wire on/off |
20:05 |
RealBadAngel |
or furnace active inactive |
20:06 |
sapier |
so actually we've got a stable version noone can use because server admins will use master ... that's ... crazy |
20:06 |
RealBadAngel |
ofc that will have to be coded, but that setting is needed first |
20:06 |
sapier |
rba client's tell their protocol version can you use this to handle them different? |
20:07 |
RealBadAngel |
lemme check how it looks exactly |
20:08 |
VanessaE |
sapier: no one can use stable because servers use master...and this is different from the usual...how? :) |
20:09 |
RealBadAngel |
hehe indeed |
20:09 |
VanessaE |
(really though I'm sure it would only affect a few servers) |
20:09 |
sapier |
actually 0.4.10 was supposed to change this |
20:09 |
sapier |
and it'd make live more easy for developers too |
20:09 |
RealBadAngel |
every single modding change added causes forcing to update |
20:10 |
RealBadAngel |
this is not any different |
20:10 |
sapier |
as you could just tell ppl "master isn't stable" |
20:10 |
sapier |
it is ... we need to get away from this state |
20:11 |
RealBadAngel |
wonder how. ;) |
20:11 |
RealBadAngel |
we are developing something here |
20:11 |
VanessaE |
release more ofte then |
20:11 |
VanessaE |
often( |
20:11 |
VanessaE |
... |
20:11 |
sapier |
that wont help |
20:11 |
RealBadAngel |
how could you expect it to be compatible with everything around? |
20:11 |
sapier |
a release is worth nothing if it's full of simple bugs |
20:12 |
RealBadAngel |
im trying to fix my bugs asap |
20:12 |
sapier |
maybe creating a stable branch would help |
20:12 |
sapier |
only bugfixes are merged there |
20:13 |
sapier |
from that branch nightly/weekly builds could be provided without need for feature freeze as it's frozen by definition |
20:13 |
sapier |
so server owners have to use those branches or stop complaining about their bleeding edge servers are broken ... same for modders |
20:14 |
RealBadAngel |
but we already have that |
20:14 |
sapier |
no we don't |
20:14 |
RealBadAngel |
release is just such branch |
20:14 |
sapier |
right after 0.4.10 was released experimental things got merged to master |
20:15 |
RealBadAngel |
we just dont allow pushing to released branch |
20:15 |
sapier |
you can't do stable bugfixing on top of feature additions |
20:15 |
RealBadAngel |
and we shouldnt imho |
20:16 |
RealBadAngel |
having to maintain 2 sets of code? |
20:16 |
RealBadAngel |
forget it |
20:16 |
sapier |
better then current state where you never have a stable version |
20:16 |
RealBadAngel |
i can see fix in one branch makin mess in 2nd |
20:17 |
sapier |
why? stable is not supposed to get fixes like that texture change |
20:17 |
RealBadAngel |
sapier.... |
20:17 |
RealBadAngel |
https://github.com/freeminer/freeminer/commit/38b950d8887288edd36a1c6d08f8b07e8b597c0d |
20:17 |
sapier |
more like ohh we did "<=" instead of "<" |
20:17 |
RealBadAngel |
no comments |
20:17 |
sapier |
and? |
20:17 |
RealBadAngel |
some1 here clearly understands whats that for |
20:18 |
RealBadAngel |
single line change that is able to cut FIVE HUNDRED node definitions is fucking worth it |
20:19 |
RealBadAngel |
and that is only for mesecons wires alone |
20:19 |
sapier |
you wont have any benefit unless you break all stable clients |
20:20 |
RealBadAngel |
i do that in every feature i add to technic or unified inventory |
20:20 |
sapier |
I keep on my position if you add this increase version to 0.5 declare feature freeze and release a new stable within less then 4 weeks |
20:20 |
RealBadAngel |
mods evolve together with engine |
20:21 |
sapier |
it's useless unless mods are changed and once they are changed stable client is broken |
20:21 |
RealBadAngel |
sapier, it happens dozens of times |
20:21 |
RealBadAngel |
for example waypoints |
20:21 |
sapier |
I still can join a current server using client 0.4.1 |
20:22 |
RealBadAngel |
would you call it breaking feature? |
20:22 |
|
ImQ009 joined #minetest-dev |
20:22 |
sapier |
no matter what mod that server runs |
20:22 |
sapier |
and I can play there |
20:22 |
RealBadAngel |
yet if mod is using that you wont be able to connect with older client |
20:22 |
|
CraigyDavi` joined #minetest-dev |
20:22 |
sapier |
once this feature is used I can't do it so it's clearly a 0.5 feature |
20:22 |
RealBadAngel |
as for everything |
20:22 |
RealBadAngel |
for 0.5 i do have another features planned |
20:23 |
sapier |
as I said I can connect with any 0.4 client to a current server it may not be perfect but it will work |
20:23 |
sapier |
it wont work if you merge that |
20:23 |
sapier |
it's a small change but that doesn't change it's version bumper nature |
20:23 |
sapier |
unless you find a way to prevent old clients from being dropped |
20:24 |
RealBadAngel |
i remind that game handles that already |
20:24 |
RealBadAngel |
without crashing |
20:24 |
sapier |
crashing or droping client is a minor change |
20:24 |
sapier |
the main difference is "I can't connect with old client" which means version bump |
20:25 |
RealBadAngel |
so lets just bump it for christ sake |
20:25 |
RealBadAngel |
how much changing one BIT should take? |
20:25 |
RealBadAngel |
yes, we are talkin about changing one fucking bit in code |
20:26 |
sapier |
I wont decide this alone if we do it we need more then two opinions |
20:26 |
RealBadAngel |
celeron wanted bump too |
20:26 |
sapier |
one fucking bit in nuclear power plant control may be the difference between save and desaster |
20:26 |
RealBadAngel |
lol |
20:27 |
RealBadAngel |
good point :) |
20:28 |
sapier |
and believe me you do feel different if you know some of your code may end up in nuclear power plant control system ;-) |
20:28 |
RealBadAngel |
btw, do you realize that this bit is already different licensed? |
20:29 |
sapier |
hopefully that one doesn't have enough "invention height" ... if you did create a pull before we wouldn't have that issue now ;-P |
20:29 |
RealBadAngel |
well, that bit was in the pull already |
20:29 |
sapier |
we need a different server list for 0.4 and 0.5 servers too |
20:30 |
RealBadAngel |
i wanted to add that together with glasslike_framed interior |
20:30 |
RealBadAngel |
but then faced hardcoded nature of it |
20:31 |
RealBadAngel |
which is unbeliveable plain stupid |
20:32 |
RealBadAngel |
why 2 as count? 1 is used when you want node to have same tiles for all faces |
20:32 |
RealBadAngel |
6 tiles for 6 faces |
20:32 |
RealBadAngel |
but shoot me what for 2 are |
20:33 |
RealBadAngel |
propably just "because" |
20:33 |
RealBadAngel |
about servers list idk |
20:34 |
sapier |
sfan5 what are the parantheses used for? |
20:34 |
RealBadAngel |
hmmm, maybe if client sends request for a list it should send its version? |
20:34 |
RealBadAngel |
and fetch only good to go ones |
20:35 |
RealBadAngel |
should be that hard to code |
20:35 |
sapier |
I think this should be possible but we need to add it first ... we would have had to add it anyway by some time |
20:36 |
RealBadAngel |
so instead of talkin lets do it |
20:36 |
sapier |
I'm still hoping for a compatible solution ;-) |
20:36 |
RealBadAngel |
lets bump it and add those features that will surely require bumping |
20:36 |
RealBadAngel |
in this very case, NO |
20:36 |
RealBadAngel |
you wont get such one |
20:36 |
sapier |
we won't bump without any other core dev to notice ;-) |
20:37 |
RealBadAngel |
ofc, im not saying lets do that NOW |
20:37 |
RealBadAngel |
lets wait at least 10 minutes ;) |
20:38 |
RealBadAngel |
but seriously, let the others say what they think bout it |
20:38 |
sapier |
as mods will have to be changed anyway I don't think there's a hurry ... you could create that pull and add it to milestone 0.5 in between |
20:39 |
RealBadAngel |
btw, please tell me what protocol version number do we have now? |
20:39 |
sapier |
RealBadAngel: on adding it don't forget about the adding without having to break on next increase ;-) |
20:40 |
sapier |
for what I remember that change isn't in protocol |
20:40 |
RealBadAngel |
it isnt, but i asked on purpose |
20:40 |
sapier |
23 |
20:41 |
RealBadAngel |
so, if we managed to survive bumping 22 times, we can surely do that once again ;) |
20:42 |
sapier |
protocol version bump isn't a big deal |
20:42 |
RealBadAngel |
and btw, i dont remember 22 releases caused by protocol bumping ;) |
20:42 |
sapier |
bumping CLIENT_PROTOCOL_VERSION_MIN is the big deal |
20:42 |
RealBadAngel |
not really |
20:43 |
RealBadAngel |
its just a few seconds download |
20:43 |
sapier |
only if there's a stable version |
20:43 |
RealBadAngel |
world is doing that all the time and not complainin |
20:43 |
RealBadAngel |
there is, 0.4.10 |
20:43 |
RealBadAngel |
master is dev |
20:43 |
sapier |
not after you changed it ;-P |
20:44 |
RealBadAngel |
and dev by definition is changing all the time |
20:44 |
sfan5 |
<sfan5> VanessaE: example: default_wood.png^(default_cobble.png^autoblockbreaker_mask1.png^[makealpha:255,0,255) |
20:44 |
sfan5 |
^ sapier |
20:44 |
sapier |
if you get server admins to handle it that way I'll be fine with it ;-) |
20:44 |
sapier |
sfan5: please add doc for it ;-) |
20:44 |
sfan5 |
no |
20:45 |
sfan5 |
I won't write documentation for the whole texture thing |
20:45 |
RealBadAngel |
just add a note that () can be used |
20:45 |
sfan5 |
where |
20:46 |
sapier |
and I won't agree to adding a new feature without doc ... even if I really like the code ... still doc is must have |
20:46 |
RealBadAngel |
good question |
20:46 |
sfan5 |
there is no documentation for this whole texture modifier stuff |
20:46 |
sfan5 |
sapier: wow, you like the code? |
20:46 |
RealBadAngel |
sapier, are you aware that even drawtypes are undocumented? |
20:47 |
sfan5 |
maybe I'll write docs tomorrow |
20:47 |
RealBadAngel |
i should also document what im adding but dont have a place to start with |
20:48 |
sapier |
hmm .. seems I missed to demand the doc for your new drawtype RealBadAngel ... wont happen again |
20:48 |
RealBadAngel |
i havent missed that |
20:48 |
RealBadAngel |
tried to add that to lua_api.txt |
20:48 |
RealBadAngel |
but PA (i think) asked me to remove it |
20:49 |
sapier |
sfan5: even if I'd prefere you to write s short doc for the other texture things it'd be sufficent to write the doc for the new feature and add a todo too ... |
20:49 |
RealBadAngel |
we need that badly |
20:49 |
sapier |
PA didn't want to bloat lua_api.txt even more? |
20:49 |
RealBadAngel |
not really "we", modders need that |
20:49 |
sfan5 |
sapier: writing docs for the other things wouldn't be an issue, mostly just copying comments from tile.cpp |
20:50 |
VanessaE |
who gives two shits how "bloated" the API doc it, as long as it's clear? |
20:50 |
VanessaE |
is* |
20:50 |
sfan5 |
^ |
20:50 |
sapier |
could help yes ... as I said if you do it it wont be a negative point ;-) |
20:50 |
RealBadAngel |
lets add drawtypes.txt or something like that |
20:50 |
sfan5 |
^ |
20:50 |
RealBadAngel |
i can fill that with data |
20:50 |
sfan5 |
VanessaE: do you like the feature I wrote today? |
20:50 |
sapier |
just add it RealBadAngel |
20:50 |
VanessaE |
sfan5: in fact, I do |
20:50 |
sfan5 |
hm |
20:50 |
sfan5 |
we should really make the doc more structured |
20:51 |
sfan5 |
(something else instead of a single .txt) |
20:51 |
sapier |
well I don't know about your feature sfan5 but the code cleanup is worth it :-) |
20:51 |
VanessaE |
that much is true, but if you split it apart, it becomes harder to search |
20:51 |
RealBadAngel |
then 1st lest make a folder for that |
20:51 |
sapier |
no matter how you organize it it's gonna be wrong for someone ;-) |
20:52 |
RealBadAngel |
true |
20:52 |
sfan5 |
VanessaE: even this https://www.ffmpeg.org/ffmpeg-filters.html (from the structure, formatting) would be better than the current thing |
20:52 |
sapier |
PA usually preferrs having all in one file ... I don't understand why he had issues with adding the drawtypes there too |
20:53 |
RealBadAngel |
i dont quite get what PA is up to really |
20:53 |
RealBadAngel |
he seems to just dont like ideas he havent invented |
20:53 |
sfan5 |
hasn't* |
20:53 |
sfan5 |
but ack |
20:54 |
sapier |
that's called "not invented here syndrom" ... I sometimes suffer of same thing ... but usually try to get over it ;-) |
20:54 |
RealBadAngel |
he just filled an issue that item_drop is not working anymore due to engine changes |
20:55 |
RealBadAngel |
what a suprise |
20:55 |
RealBadAngel |
modder suprised by engine changes. phenomenon |
20:55 |
sfan5 |
^ |
20:55 |
sapier |
he's right ... item_drop api is supposed to be stable |
20:56 |
RealBadAngel |
hes not right by any meaning |
20:56 |
sfan5 |
there is not item_drop api |
20:56 |
RealBadAngel |
its just a simple mod |
20:56 |
RealBadAngel |
and buggy as hell |
20:56 |
RealBadAngel |
we have forked it and fixed long time ago |
20:57 |
sapier |
still our goal is to not break old mods by new versions |
20:57 |
sfan5 |
^ no |
20:57 |
RealBadAngel |
PA made some mods and took a nap, thinkin that once something is done its gonna last forever |
20:57 |
sfan5 |
our goal is to try to do that |
20:57 |
sfan5 |
but not hold a change back if it breaks mods |
20:58 |
RealBadAngel |
we can try when its reasonable |
20:58 |
sapier |
of course we hold back changes if they're to minor to add them one by one |
20:58 |
RealBadAngel |
but old mods cannot be blockers for innovations |
20:59 |
sapier |
that's not what I said |
20:59 |
RealBadAngel |
you did |
20:59 |
sfan5 |
^ |
20:59 |
sapier |
nope |
20:59 |
sapier |
holding back is not same as hold back forever |
20:59 |
RealBadAngel |
you were defending PA and item drop |
20:59 |
sapier |
yes because that change wasn't done on purpose or do you know why it's broken? |
21:00 |
RealBadAngel |
i do exactly |
21:00 |
RealBadAngel |
item physics has changed |
21:00 |
RealBadAngel |
we do have now TTL |
21:00 |
sapier |
those item merge things? |
21:00 |
RealBadAngel |
merge hasnt affected it really |
21:00 |
RealBadAngel |
TTL did |
21:01 |
sapier |
for what I remember that's been added same time |
21:01 |
RealBadAngel |
propably yes |
21:01 |
RealBadAngel |
when im working on a file i try to group changes |
21:01 |
sapier |
at least in my mind it's a part of that addon... but I could be wrong of course |
21:03 |
sapier |
could you comment that issue and explain how to fix his mod? |
21:03 |
RealBadAngel |
i linked PA to fixed one |
21:04 |
RealBadAngel |
servers are running updated version for a few weeks already |
21:04 |
sapier |
It'd be more polite to tell him what exactly is wrong ... or at least tell him where (line number(s)) to look for the fix |
21:04 |
sapier |
unless that file is 10 lines only anyway ;-) |
21:05 |
RealBadAngel |
hes just lazy last days, theres no excuse for that |
21:05 |
sfan5 |
<sapier> It'd be more polite to tell him what exactly is wrong ... or at least tell him where (line number(s)) to look for the fix |
21:06 |
sapier |
he's not the only one beeing lazy ;-) |
21:06 |
RealBadAngel |
he deserves more than a kick in the ass to get the carts fixed at least |
21:06 |
sfan5 |
it would have been more polite if the had told us exact details in the first time |
21:06 |
sfan5 |
s/time/place/ |
21:06 |
sapier |
and he did and a lot of work for minetest please honor that fact |
21:07 |
RealBadAngel |
last PA's activities are just complaining and blocking changes |
21:07 |
RealBadAngel |
i do honor that |
21:07 |
RealBadAngel |
but thats not an excuse to sit on golden throne |
21:09 |
RealBadAngel |
when i add some new feature and see PA online i always try to link him the footage and ask for opinion |
21:09 |
RealBadAngel |
9/10 times he ignores that |
21:10 |
RealBadAngel |
1/10 he finds something dumb to comment |
21:10 |
sapier |
well you have to accept ppl not having time or being busy doing rl things too |
21:10 |
RealBadAngel |
like why using param2 for drawtype |
21:10 |
RealBadAngel |
when he talks in the channel and not responding to my messages... |
21:11 |
RealBadAngel |
what im supposed to think? |
21:11 |
sapier |
obviously mt doesn't have priority for pa right now that may change in future .. or not but it's hard to predict |
21:11 |
RealBadAngel |
that hes partially blind or something? |
21:11 |
sapier |
well RealBadAngel sometimes I'm annoyed by your refusal to create pull requests too ;-P |
21:12 |
RealBadAngel |
its not me, that dumb github mixes my pulls |
21:13 |
sapier |
sorry rba bad excuse ;-) |
21:13 |
RealBadAngel |
if i do have two open it tries to combine them into one pull, even when they come from different branches |
21:13 |
sapier |
I don't have that issue |
21:13 |
RealBadAngel |
i do |
21:13 |
RealBadAngel |
and thats not me, just github web interface |
21:13 |
VanessaE |
stop using that silly GUI app ;) |
21:13 |
sapier |
most likely you do something different then me |
21:13 |
RealBadAngel |
its not local issue |
21:13 |
sapier |
gui app for github? bad idea |
21:14 |
RealBadAngel |
good one, believe me |
21:14 |
RealBadAngel |
web one sucks |
21:16 |
sapier |
sorry but if it merges different pulls it's obviously not a good one ;-) |
21:21 |
RealBadAngel |
thats not my client merging them |
21:21 |
RealBadAngel |
clicking "compare and make a pull request" on website does it |
21:21 |
sapier |
github is same for you and me so the difference must be on your side ;-) |
21:22 |
RealBadAngel |
it fucking collects pulls from all the branches and makes one commit |
21:22 |
sapier |
do you rebase your branch to master prior doing a pull? |
21:23 |
RealBadAngel |
with each pull i do i update master, create a branch and apply changes there |
21:23 |
RealBadAngel |
so i always work on up to date code |
21:23 |
sapier |
your local github master or direct to minetest? |
21:24 |
RealBadAngel |
see prv |
21:25 |
RealBadAngel |
then i create new branch and apply patches to it |
21:26 |
proller |
try merge |
21:28 |
RealBadAngel |
ok i will |
21:28 |
RealBadAngel |
meanwhile, i will open a pull with special tiles count change |
21:29 |
RealBadAngel |
since it will require protocol bump, shall i include it? |
21:29 |
RealBadAngel |
or it should be a subject for another pull? |
21:33 |
sapier |
include it ... as well as min client version bump |
21:34 |
RealBadAngel |
im not sure bout min version |
21:34 |
RealBadAngel |
but ok |
21:35 |
RealBadAngel |
ah, i just recalled one thing |
21:35 |
RealBadAngel |
and that should be done prior to bumping imho |
21:36 |
RealBadAngel |
i mean all the settings |
21:36 |
RealBadAngel |
by now we use parser with calling for string |
21:37 |
RealBadAngel |
we should do that once at startup and store all the settings in a single class |
21:37 |
sapier |
in case we're doing this I'll update the stats pull too maybe we get all at once in |
21:38 |
RealBadAngel |
reading the setting via its name in runtime draw loop, MANY times, its just braindead |
21:38 |
sapier |
what value is read? |
21:38 |
RealBadAngel |
all of them |
21:38 |
RealBadAngel |
its a common rule |
21:39 |
sapier |
I'm quite sure server port number isn't read in main draw loop of game so don't tell me "all of them" |
21:40 |
sapier |
settings are read to memory |
21:40 |
RealBadAngel |
for example, mapblock_mesh.cpp |
21:40 |
RealBadAngel |
animate function, line #1256 |
21:40 |
RealBadAngel |
bool enable_shaders = g_settings->getBool("enable_shaders"); |
21:40 |
sapier |
I know this for sure because they're not saved in singleplayer |
21:40 |
RealBadAngel |
why the fuck something like this instead: g_settings_enable_shaders |
21:41 |
sapier |
no no no no |
21:41 |
RealBadAngel |
and use it everywhere |
21:41 |
sapier |
don't add hundreds of global variables |
21:42 |
sapier |
if it's used in a draw loop read it once at begining but make it a local variable |
21:42 |
RealBadAngel |
are you trying to say that calling for a variable with a string to find in draw loop is sane? |
21:42 |
RealBadAngel |
i had such idea |
21:42 |
sapier |
no but replacing once insane thing by another one doesn't improve things at all |
21:42 |
RealBadAngel |
m_enable_shaders for example |
21:43 |
RealBadAngel |
but that doesnt solve it globally |
21:43 |
sapier |
and spill a pointer all around ... no |
21:43 |
sapier |
we already have to many pointers which cause a lot of trouble |
21:43 |
|
Exio joined #minetest-dev |
21:44 |
RealBadAngel |
for example, enable_shaders is read 5 times already |
21:44 |
sapier |
if it's read exactly 5 times that's not an issue |
21:44 |
RealBadAngel |
3 times in drawing loops |
21:44 |
VanessaE |
sapier: if it's read in the middle of the render loop, horrible. |
21:44 |
sapier |
then add local variables there |
21:45 |
RealBadAngel |
and im taling bout this only setting |
21:45 |
sapier |
as I said if it's exactly 5 times it can't be in a draw loop because then it's read infinite times |
21:45 |
RealBadAngel |
game.cpp is even worse nest |
21:46 |
sapier |
sorry RBA I have to leave now ... you're issue is valid for sure but I don't see any connection to 0.5 version |
21:46 |
RealBadAngel |
i will just code that |
21:46 |
RealBadAngel |
this is a bottleneck no matter what |
21:46 |
sapier |
fine ... as long as you don't use global variable(s) or pointers for accessing some variable |
21:47 |
RealBadAngel |
i will make settings class |
21:47 |
|
paramat joined #minetest-dev |
21:47 |
sapier |
RealBadAngel: there is a settings class |
21:47 |
sapier |
and no don't create a settings class with hardcoded bools in there |
21:47 |
RealBadAngel |
for holding 2 methods |
21:47 |
RealBadAngel |
not the values |
21:47 |
Exio |
isn't that a struct? |
21:47 |
sapier |
no it's crap only |
21:48 |
RealBadAngel |
:) |
21:48 |
sapier |
I understand why rba thinks it's necessary, it's fast but as of code mainetenance and scalability it's crap |
21:50 |
sapier |
we need to find something in between your highly optimized pov rba and the absolute abstraction used right now ;-) |
21:52 |
paramat |
sfan5 here's an initial fix for boat mod https://github.com/minetest/minetest_game/issues/291#issuecomment-50082696 work in progress, not asking for a merge yet |
22:01 |
RealBadAngel |
speed and being nice its not the same |
22:02 |
RealBadAngel |
and never walks in pairs |
22:02 |
RealBadAngel |
while the maintenance and scalability is wise, thats true for everything but not game |
22:03 |
RealBadAngel |
game needs speed |
22:03 |
VanessaE |
sapier: coming from the oldskool of coding, I have to side with RealBadAngel a bit here. don't sacrifice speed just for the sake of perceived maintainability |
22:03 |
VanessaE |
sometimes, you have to put speed above all else, even if it results in sucky code. |
22:03 |
RealBadAngel |
fast code is not sucky |
22:03 |
sapier |
if you did look for as many dangling pointers and unknown sideeffected global variables I did by now you'd think different |
22:04 |
RealBadAngel |
its a piece of art sometimes |
22:04 |
VanessaE |
RealBadAngel: I mean as far as being able to read/maintain it. |
22:04 |
RealBadAngel |
you would never understand some code i did for z80 |
22:04 |
RealBadAngel |
but i wont go such far this time ;) |
22:05 |
sapier |
I see no reason why a variable shouldn't be read prior entering the loop ... even if it's 5 instead of one time that's not a significant difference |
22:05 |
VanessaE |
and the same for stuff I did for the 6502, and I was not even *close* to the kickass sort of coder that the modern demo coders are on that processor |
22:05 |
RealBadAngel |
entering the loop |
22:05 |
RealBadAngel |
right |
22:05 |
RealBadAngel |
but the definition of entering place is wrong |
22:05 |
RealBadAngel |
it shall be start of the server |
22:06 |
|
ImQ009 joined #minetest-dev |
22:06 |
sapier |
I'm sorry to tell but server doesn't have anything to do with shaders ;-P |
22:06 |
VanessaE |
sapier: point is, don't sit there doing string matches in code that needs speed. do your string match once before the loop, then reference the matched result inside the loop. |
22:06 |
sapier |
we're long past this point vanessae |
22:06 |
RealBadAngel |
sapier ofc it does |
22:07 |
RealBadAngel |
its performance killer, one of many |
22:07 |
sapier |
Show me one line in Server.cpp using shaders |
22:07 |
|
ImQ009 joined #minetest-dev |
22:07 |
VanessaE |
sapier: we *should be* but we are not. |
22:08 |
VanessaE |
sapier: it still being done and ain't fixed yet, I think that's RBA's point. :) |
22:08 |
sapier |
VanessaE: stop discussing about parts of the fix we already have an agreement ;-P |
22:08 |
VanessaE |
:P |
22:09 |
RealBadAngel |
just grep for g_settings-> |
22:09 |
RealBadAngel |
then sit down and cry |
22:10 |
RealBadAngel |
311 times, mostly in game loop |
22:10 |
sapier |
sorry to disappoint you rba but profiling doesn't confirm your assumptions ... not even on arm |
22:10 |
VanessaE |
http://pastebin.com/zgfZ6xbQ |
22:10 |
VanessaE |
fwiw. :) |
22:10 |
sapier |
you may be right in theory theory is worth nothing without proove |
22:11 |
RealBadAngel |
i will be right when i will have working repo without that shit |
22:11 |
sapier |
and where's the issue? that grep shows we already use temporary variables for most of them |
22:12 |
sapier |
don't fix imaginated problems RealBadAngel |
22:12 |
VanessaE |
merely providing the results for commentary, sapier. |
22:12 |
sapier |
if you believe this to be faster you have to proove it too |
22:12 |
sapier |
none of my profiling runs did show any hotspot in settings |
22:12 |
RealBadAngel |
sapier, if it happens to give me even 1 fps i will be right |
22:13 |
sapier |
1 fps would be a proove but 0.00001 fps wouldn't be |
22:13 |
RealBadAngel |
any gain will be right |
22:13 |
RealBadAngel |
no matter how big |
22:13 |
sapier |
remember those fixes I made for android resulted in about 30% increase ... I doubt those few settings will result in anything close |
22:14 |
RealBadAngel |
we are developing a game not spreadsheet |
22:14 |
RealBadAngel |
are you aware what mapblock mesh speedup did? |
22:14 |
sapier |
still developing in blind without having any way to validate your changes is useless work |
22:14 |
sapier |
no as you didn't provide benchmarks ;-) |
22:14 |
RealBadAngel |
i removed same shit outta draw loop |
22:15 |
RealBadAngel |
i dont have to |
22:15 |
RealBadAngel |
facts are speaking for themselves |
22:15 |
sapier |
I don't know of any facts rba |
22:15 |
RealBadAngel |
i can play with a few times bigger view distance |
22:15 |
|
Exio joined #minetest-dev |
22:15 |
RealBadAngel |
slower the box is, gain is bigger |
22:15 |
sapier |
proller usually tells same ;-) |
22:16 |
RealBadAngel |
it wasnt me who said that |
22:16 |
sapier |
I don't know if you're right or not |
22:16 |
RealBadAngel |
VE did |
22:16 |
VanessaE |
sapier: I did. the latest spate of changes stretched out my view range from ~135m to 240m at the same frame rate. |
22:17 |
RealBadAngel |
and it such critical code space, i know what im doing |
22:17 |
sapier |
well it's gonna be a quite simple check if this helps that much building it for android should result in significant improvement |
22:17 |
VanessaE |
no clue how it'll affect android |
22:17 |
RealBadAngel |
i usued to count tacts for each piece of code |
22:17 |
VanessaE |
but these are CPU-build changes |
22:17 |
sapier |
and I don't really doubt it might help as mesh generation was one of the hotspots I detected |
22:17 |
RealBadAngel |
im a demoscene coder |
22:17 |
VanessaE |
so it should help |
22:18 |
RealBadAngel |
even loops should be sometimes avoided and translated into flow of code |
22:18 |
sapier |
RealBadAngel: I know that's why I have to slow you down sometimes from using you (good working) hacks ... they still remain hacks |
22:18 |
RealBadAngel |
game coding is way different than regular apps |
22:19 |
RealBadAngel |
if you like to call it hacks let it be |
22:19 |
sapier |
no it isn't ... I know you could write the graphics code way more efficient ... but then noone else could read it |
22:19 |
sapier |
best code is worth nothing if there's noone to maintain |
22:19 |
RealBadAngel |
im not pushing the limits |
22:20 |
RealBadAngel |
while i could on the other hand |
22:21 |
RealBadAngel |
but one thing i can promise you, whatever i spot related to strings, file access or something equally dumb in main loop it will be kicked outter space |
22:21 |
sapier |
keep your fixes in a clean way ;-) meaning no global variables, no pointers ;-) ... nothing resulting in same things with different mechanisms ;-) |
22:22 |
sapier |
I don't have any problems with moving those things out of draw loop ;-) |
22:22 |
sapier |
good night |
22:22 |
|
sapier left #minetest-dev |
22:22 |
RealBadAngel |
ok, cya |
22:56 |
paramat |
hmmmm quick question for you: http://irc.minetest.ru/minetest/2014-07-19#i_3822026 |
22:57 |
hmmmm |
no that's not correct, the lua voxelmanip is literally a wrapper for the one that is used by the mapgen |
23:09 |
paramat |
thanks, form printing emin emax |
23:09 |
paramat |
oops sorry |
23:10 |
paramat |
from printing emin emax during mapgen it seems to be 16 nodes larger than a chunk |
23:10 |
hmmmm |
wait, by chunk size you mean the chunk that had been requested to load, or generate? |
23:11 |
hmmmm |
requested to load from the map* |
23:11 |
paramat |
80^3 node chunk during on-generated mapgen |
23:13 |
hmmmm |
yes, when a chunk is being generated by the mapgen a block-sized border surrounds the region to be generated |
23:13 |
hmmmm |
this is so that caves and trees don't get cut off at the end of the chunk generation |
23:14 |
paramat |
excellent, good feature |
23:14 |
hmmmm |
emin and emax are the actual emerged min and max. min and max is the region that actually got generated |
23:14 |
hmmmm |
isn't this well documented already.....? |
23:14 |
RealBadAngel |
hmmmm, could you somehow move jungle grass to lua side? |
23:15 |
paramat |
perhaps i haven't seen your pages on the wiki |
23:15 |
hmmmm |
what, in mapgen v6? |
23:15 |
RealBadAngel |
yeah |
23:16 |
hmmmm |
i actually can't |
23:16 |
RealBadAngel |
i do have a problem with it |
23:16 |
RealBadAngel |
thats the only plant made in core |
23:17 |
hmmmm |
well |
23:17 |
RealBadAngel |
i wanted to add rotations for it |
23:17 |
hmmmm |
you'd need to add decoration support and therefore biome support to v6 in order to do that |
23:18 |
VanessaE |
hmmmm: handle it the way the other grasses are handled? |
23:18 |
hmmmm |
biomes are in a sad, sorry state |
23:18 |
hmmmm |
I need to work more on it |
23:19 |
RealBadAngel |
if so, cant we add a random to it by now? |
23:19 |
hmmmm |
?? random to what |
23:19 |
hmmmm |
random facedir? |
23:20 |
RealBadAngel |
plantlike drawtype can be rotated |
23:20 |
VanessaE |
hmmmm: plantlike drawtype now supports rotation. |
23:20 |
RealBadAngel |
https://github.com/minetest/minetest_game/pull/290 |
23:20 |
RealBadAngel |
this is for everything but jungle grass |
23:21 |
|
CraigyDavi` joined #minetest-dev |
23:23 |
RealBadAngel |
hmmmm, https://cloud.githubusercontent.com/assets/2177790/3638763/bde707d0-105f-11e4-8033-99a8811ff03c.png |
23:30 |
hmmmm |
well |
23:30 |
hmmmm |
I'll have to take a better look at what I can do |
23:32 |
RealBadAngel |
ok, thx |
23:33 |
RealBadAngel |
btw, whats the purpose of that? #define SERVER_PROTOCOL_VERSION_MIN 13 |
23:33 |
RealBadAngel |
same for client |
23:34 |
RealBadAngel |
anything introduced after 13 will cause client to crash |
23:34 |
RealBadAngel |
so whats the point for minimum version?? |
23:35 |
RealBadAngel |
for example: PROTOCOL_VERSION 14: |
23:35 |
RealBadAngel |
Added transfer of player pressed keys to the server |
23:36 |
RealBadAngel |
client with 13 is just unusable then |
23:41 |
VanessaE |
hmmmm: port plants_lib ;-) |
23:42 |
VanessaE |
seriously though, unless I screwed up, there's some code in an old version of plantlife that should be useful |
23:42 |
VanessaE |
if you can produce a surface to put them on, it'll put the jungle grass in the same areas the existing C++ code does. |