Time Nick Message 05:11 RealBadAngel ShadowNinja, around? 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` RealBadAngel: something I'm kind of uncertain about... https://github.com/minetest/minetest/blob/master/src/voxel.cpp#L224 05:30 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 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:05 RealBadAngel thats after zefram_fysh 06:05 RealBadAngel and to make 360 degs rotations possible 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 ;) 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. 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 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 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: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: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 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 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 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 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: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 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 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 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 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 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: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.