Time Nick Message 01:19 VanessaE I'd like to remind those in channel of PilzAdam's/Taoki's VBO code ( https://github.com/PilzAdam/minetest/commit/7af479cba466f801c5cb648c8a449877957cb723.patch ) along with Exio4's "hardcode the value of 'e'" patch ( https://github.com/EXio4/minetest/commit/136d390905acaf6fb32f54b9583207f2a493ba4f ) 01:19 VanessaE together, these give me at least a 20 fps boost at the spawn on my server 01:20 Exio4 the hardcoding should be done when rba does 'its changes', right now it is useless and just 'bothers' 01:20 PilzAdam I already told RBA to do that 01:23 VanessaE just pointing it out. the improvement is too good not to have. 01:24 Exio4 ah :P 01:29 NakedFury I dreamed of minetest 01:29 NakedFury was weird 01:30 NakedFury it was evolved 01:30 NakedFury and fixed you guys were in love with the source code rewrite and cleanliness 01:30 NakedFury cant remember much 02:20 Exio4 small commit making bump-mapping compatible with 1.8, it is mainly for other thing that RBA will have to 'workaround' with his changes, https://github.com/EXio4/minetest/commit/c1d4467a132c1ee5673dcbc774421aca571d168e 12:04 BlockMen celeron55, -> https://github.com/celeron55/minetest.net_dokutemplate/pull/9 17:12 sapier1 https://github.com/minetest/minetest/pull/640 can someone tell my why this isn't added? 17:13 sapier1 https://github.com/minetest/minetest/pull/774 https://github.com/minetest/minetest/pull/693 and https://github.com/minetest/minetest/pull/418 would be necessary to improove mobs too 17:14 PilzAdam 693 and 418 would be good for Simple Mobs too 17:15 sapier1 of course I always try to make improvements as generic as possible 17:16 sapier1 mobf development is on hold due to those patches not beeing included ... it's useless to improve minor issues while the big blockers aren't fixable 17:16 PilzAdam Im not sure about the animation thing 17:17 PilzAdam there is documentation in lua-api.txt missing 17:17 sapier1 it's most usefull combined with acceleration but you wouldn't have to calculate animation speed in simple mobs too 17:17 PilzAdam and the fact that its not backwards compatible is really bad 17:17 PilzAdam _really bad_ 17:17 sapier1 it was backwards compatible but ppl complained about different functions ;-P 17:18 PilzAdam I dont calculate the framerate in Simple Mobs at all 17:18 PilzAdam I guess thats a mobf thing 17:18 sapier1 yes but you should ;-) 17:18 sapier1 no it isn't 17:18 PilzAdam I have hardcoded speeds, thus I dont need to calculate it 17:18 sapier1 so your mobs have only fixed speeds full and stop? 17:19 PilzAdam walking speed, running speed and standing, yes 17:19 sapier1 quite limited 17:20 PilzAdam Simple 17:20 sapier1 ok mobf supports different speed levels so animation needs to be adjusted ... this can't be done by server as latency is way to big to get a reasonable result 17:20 PilzAdam it looks good in Simple Mobs, I guess the dynamic speed is a not needed feature 17:20 sapier1 that's your oppinion 17:21 PilzAdam and then there is this backwards incompatibility... 17:21 sapier1 I already had a backward compatible version that wasn't accepted ... you're driving me crazy guy ;-P 17:22 PilzAdam why wasnt it accepted? and where is it? 17:22 sapier1 btw protocol will break anyway 17:22 sapier1 exactly same pull request before rewrite 17:22 sapier1 stepheight will do too 17:23 sapier1 and I don't see any other incompatibility ... maybe I'm wrong can you explain to me? 17:24 PilzAdam I just see that you increase CLIENT- and SERVER_PROTOCOL_VERSION_MIN by 9 17:24 PilzAdam and this change is not worth it 17:24 PilzAdam why dont you simply add a new command, like GENERIC_CMD_SET_ANIMATION_WITH_PREDICTION? 17:25 sapier1 I don't have any objections ... but this will result in incompatibility too 17:25 PilzAdam it at least doesnt break anything 17:26 sapier1 it breaks animation on all clients connection to a new server 17:26 PilzAdam adding new things is always possible, chaning existing ones not 17:26 sapier1 it's still changed 17:26 PilzAdam it breaks animation on all clients connection to a new server <- only if mods use the new function 17:26 sapier1 there's no new function 17:26 PilzAdam of course you send the new function only if the new parameter to the Lua function is given 17:27 PilzAdam s/function/command 17:28 sapier1 I don't think this is a good idea ... yes it keeps compatibility but adds inconsistency and lots of maintenance effort 17:29 PilzAdam Ill merge the stepheight thing 17:29 sapier1 I don't have any chance to decide if parameter is intentionally nil or not ... so we need to add a new lua function just for adding a new parameter 17:29 PilzAdam what would "intentional nil" do? 17:30 sapier1 what about 640? this is a major performance issue 17:31 sapier1 disable automatic update 17:31 PilzAdam isnt that exactly when the old command would be send? 17:31 sapier1 most likely ... ok so this isn't an issue ... still sending two different commands for same thing is crap 17:32 PilzAdam it isnt exactly the same thing, and its totally worth it to keep compatibility 17:32 sapier1 I'd even prefere to break animation completely on old clients 17:32 PilzAdam " I'd even prefere to break" /me doesnt continue reading 17:32 sapier1 no it isn't ... you never tried to maintain a software containing years of compatibility fixes 17:33 sapier1 there's a point the only way to fix it is drop it completely 17:33 sapier1 I don't think many ppl use an outdated client and only those would recognize missing animation 17:34 sapier1 you should continue reading PilzAdam unless you want to drive away developery by arrogance 17:37 sapier1 so you're gonna keep cherrypicking what you think is needed and ignoring everything else ... fine ... 17:40 PilzAdam stepheight=1 doesnt seem to work 17:41 proller now impossible to connect 0/4/7 to git 17:41 sapier1 I didn't try for any height only 0.6 17:41 PilzAdam I thought I could disable the jumping in Simple Mobs by setting stepheight to 1 17:42 sapier1 it's not meant to replace jumping ... now I understand why you've been willing to add it ... 17:43 sapier1 and I don't think it'd look good if it would work with that height 17:43 PilzAdam oh wait, I made a mistake 17:45 PilzAdam it works fine 17:46 sapier1 true just tried with 1.1 to ride ostriches 17:47 sapier1 what about get_surface? 17:47 sapier1 it's a small change but a huge performance gain 17:48 PilzAdam stepheight pushed 17:48 sapier1 btw stepheight breaks protocol too 17:49 PilzAdam as I said earlier, adding things is not breaking 17:49 PilzAdam and I have added it to the bump to version 21 17:50 sapier1 you're wrong as soon as an additional member is added to entities this will break 17:51 sapier1 ok it's not gonna result in problems as long as long as no bogus data is ever removed ... 17:52 sapier1 guys this is plain wrong ... next to noone is using outdated clients with new servers .. and we're creating a maintenance nightmare to support it 17:53 PilzAdam what happens if a new client connects to an old server? 17:53 sapier1 I guess nothing 17:53 PilzAdam what does that mean? no animation? 17:54 sapier1 if done the way I suggest it'd change nothing if a new client connects to a old server 17:55 proller push all breaking things now, before release 17:55 sapier1 at least if I didn't do a programming mistake but that could be fixed 17:59 sapier1 ok there's missing same try catch you rely on for your stepheight changes ... but that can be added quite easyly 17:59 PilzAdam the get_surface pull seems good, but I recally hmmmm saying something about it 17:59 PilzAdam cant remember what, though 18:00 hmmmm it needs to be merged manually 18:00 hmmmm there are conflicts apparently 18:02 sapier1 those changesets interfere 18:03 sapier1 if you want to merge more than one they need fixing 18:06 sapier1 I added documentation as well as a fix that enables new clients to connect to old servers without issues 18:08 sapier1 btw I don't even think old clients would have a problem as they'd just ignore the additional parameter in animation message 18:14 sapier1 https://github.com/minetest/minetest/pull/846 VanessaE could you check if this fixes your multiplayer tab issue? 18:21 celeron55 it should be made so that old clients will simply get no animation if it's used 18:21 celeron55 there's no good reason not to 18:22 sapier1 if I'm correct in reading that code old client's won't even notice 18:23 celeron55 eh 18:23 sapier1 to stop them from showing any animation we'd need to replace the old message by a new one and declare old cmd id deprecated ... that was what I meant with "Id even prefere .." 18:24 celeron55 how do you expect old clients to "not even notice" when you've made the server not even accept old clients? 18:24 celeron55 come on now 18:24 celeron55 stop the bullshit and make useful code 18:24 sapier1 I meant if the protocol versions wouldn't be changed the way ther#re changed right now 18:25 sapier1 I can't make usefull code if I don't even understand when a version change is required 18:26 celeron55 generally never 18:27 celeron55 anyway, quickly looking, yes, this seems such that it'll work on old clients too 18:27 celeron55 but i mean, the reason why breaking version cross-compatibility is discouraged is that most people don't ever use any single feature, so breaking some little thing doesn't generally affect anything 18:28 celeron55 people are much happier with a thing breaking that they never use than an old client not working because of something changed that they don't ever use 18:28 celeron55 8) 18:29 sapier1 I understand this but imho if keeping compatibility in some case means adding nonsense code breaking is better 18:30 celeron55 there would be need to improve the framework for easier maintenance of cross-version compatibility though 18:30 celeron55 i once messed around with a more robust serializer, called BKVL somewhere here: https://github.com/celeron55/minetest/commits/meta_set_nodedef_2 18:31 celeron55 maybe take a look for inspiration, but it's mostly a prototype 18:31 sapier1 of course this would be best ... but it's a quite a lot of work ... most likely breaking compatibility a (hopefully) last time again ;-) 18:31 sapier1 thx but I just finished formspec menu now I have to update mobf :-) 18:32 sapier1 ok almost finished 20:09 VanessaE sapier1: no, that did not help. 20:09 VanessaE (pull #846) 20:11 sapier1 hmm :-( 20:12 VanessaE or at least, the IP that was already there got erased after I signed onto a singleplayer world, exited to the menu and went over to the "Client" tab 20:13 sapier1 no I guess this wouldn't help for that case ... I only fixed manually entered ips not beeing saved on connect 20:14 VanessaE so the first run won't be saved, but subsequent ones will? 20:14 VanessaE IP won't* 20:15 VanessaE nope 20:15 VanessaE doesn't save at all. 20:15 sapier1 no it wasn't saved before 20:15 VanessaE start program: type in an IP, go to single player, start a world, exit to menu, go back to client tab, IP is erased. 20:15 sapier1 it should be now ... unless something overwrites ... I'll have to do further investigations 20:15 sapier1 wait 20:16 VanessaE that should be a pretty direct way to reproduce it 20:16 sapier1 it's not saved on switching tabs only if you really connect 20:16 VanessaE it needs to be saved always. never erase a field the user has typed something into 20:16 sapier1 even if it's invalid? 20:16 VanessaE well I suppose if it's invalid :P 20:16 VanessaE but I'd say "127.0.0.1" is quite valid :) 20:17 sapier1 I'll have to find out how to change this it's not meant to save anything on tab switching 20:19 VanessaE even if I enter the IP and connect to it, it's still lost if I then go start a singleplayer world and come back 20:19 sapier1 hmm ok more than one error 21:20 proller now old clients cant connect to new servers with nodebox version error, why to think about them? 21:44 sapier1 what does "World data version missmatch" mean? 21:44 BlockMen5233 PilzAdam, -> http://pastie.org/private/8ppvl70t8vbhljxqubdjow 21:47 sapier1 blockman you're right weather support breaks backward compatibility 21:48 Exio4 so, is weather the thing breaking my worlds? 21:48 PilzAdam yes 21:48 PilzAdam proller, you broke things 21:48 PilzAdam not good 21:48 PilzAdam BlockMen, its proller's stupid weather breaking the map 21:48 proller its version up 21:49 proller i have idea 21:49 sapier1 funny I'm accused for incompatibilities resulting in connection issues while we already broke world compatibility some days ago :-) 21:49 proller for versions upping 21:49 Exio4 fix it then 21:49 PilzAdam sapier1, s/we/proller 21:49 sapier1 it's been added so don't blame him 21:49 PilzAdam ok, Ill blame celeron55 too 21:50 sapier1 at least if he didn't add this without asking anyone ;-) 21:50 PilzAdam since he told proller to push it although 3 other core devs are against it 21:50 sapier1 obviously none realized the version sideeffect 21:51 proller maybe make read in try-catch? 21:51 Exio4 you should read the version, and check it 21:51 PilzAdam ^ 21:51 proller its imposible in old vesion 21:51 Exio4 if it is 1, or whatever it was, "read it in that way", if not, use the new 21:52 PilzAdam Exio4, that doesnt help the old clients now 21:52 sapier1 if you increase number it won't work in old versions no way to add a workaround 21:53 proller because now imbossible to increase version without broking 21:53 Exio4 are you serious? 21:53 sapier1 of course how should an old client correctly interpret new format? 21:53 Exio4 you added something, that could break compatability FOR MAPS? 21:53 proller old can ignore new fields 21:54 sapier1 that's only half way 21:54 sapier1 this way you never ever can remove anything without causing crashes 21:55 proller maybe support version+1 - for compatible changes, and make version+2 for big incompatible? 21:55 sapier1 only reasonable way is a new server doesn't enable higher version features on old maps thus those maps will work with old clients even after beeing used with new version 21:56 proller and main thing: my changes dont save to disk, version was upped only for network 21:56 sapier1 and after two minor changes it becomes a big one? deciding +1 +2 is arbitrary 21:56 PilzAdam proller, why is the new version written to disk then? 21:56 sapier1 is it serialization format? 21:56 PilzAdam if you look at the files at the disk only, you increased the version without changing anything else 21:56 proller because there was only one number for network and disk 21:57 PilzAdam then split these numbers 21:57 proller will try tomorrow 21:58 Exio4 hm 21:58 sapier1 I don't think this is gonna help 21:59 proller maybe name next release 0.5.0 ? 22:00 proller connection 0.4.7->0.4.8 broken, map broken 22:00 sapier1 wait 22:00 Exio4 ehm 22:00 sapier1 why did you increase the number at all? 22:01 proller for transfer +2 variables for every mapblock 22:01 proller only for network 22:01 proller heat+humidity 22:01 sapier1 is the version detected from client? 22:02 sapier1 yes but if version isn't clients version I don't understand this version check 22:02 proller seems yes 22:03 sapier1 hmm ok so version can be different things 22:05 sapier1 we should've put a version field to all our network messages