Time Nick Message 00:00 Fixer MillersMan, by changing max amount of loaded blocks i guess? 00:00 Fixer MillersMan, maybe "client_mapblock_limit = 5000", try lowering it down, it is "Maximum number of mapblocks for client to be kept in memory" ? 00:01 Fixer MillersMan, you can search in minetest.conf.example if not sure 00:02 MillersMan Does this also limit the server in singleplayer? 00:02 Fixer MillersMan, don't know :) not a dev 00:03 Fixer MillersMan, if not sure, run it from Server tab 00:06 MillersMan I'll try you test map, am I right that all water in the air is flowing and no source nodes? 00:06 Fixer MillersMan, yeah, that is the worst kind 00:07 Fixer MillersMan, you can found more of the stuff 00:07 Fixer MillersMan, simplest case is probably this hanging one https://cloud.githubusercontent.com/assets/3686677/12376394/bf4e1572-bce9-11e5-903e-733d672d504f.png 00:08 Fixer source above is present and water_flowing getting stuck some where below 00:08 Fixer but sometimes it gets more ugly and you get flying water_flowing in air :) 00:09 Fixer that map has all kinds of strange water bugs 00:09 Fixer thats why i saved it 00:11 Fixer it will lag a lot because of liquids going through empty nonsaved map chunks but thats ok :) (don't do performance testing on it! it has empty space below so huge amounts of water can start flowing through some cracks or empty chunks) 00:11 Fixer have fun and good night 00:51 hmmmm paramat: what I ended up doing was take the generateBiome change out of that commit completely 00:52 hmmmm it's harder work but it's worth it in the end imho because if there's a problem it's simpler to trace down and it's better organized too 01:57 ShadowNinja nore: I already have a multithreaded C++ MC2MT converter working. It does about 8900 16x16x16 blocks in 14 sec on my laptop. 01:58 ShadowNinja Most of the time is spent in ZLib compression, so it's not going to get much better than that. 02:02 ShadowNinja I also fixed some bugs in your converter (some incorrect conversion file entries mostly I think), added chest inventory conversion, added a bunch of other nodes, and started adding MC inv items (not yet done with all of the conversions). 02:03 ShadowNinja I also fixed some bugs in your converter (some incorrect conversion file entries mostly I think), added chest inventory conversion, added a bunch of other nodes, and started adding MC inv items (not yet done with all of the conversions). 02:33 sofar ShadowNinja: damn, time to merge my improvements to mcimport then 02:33 sofar I was starting on very non-trivial things like itemframes 02:49 gregorycu Hello all 03:17 Wayward_One Two Android users have encountered problems with my recent apk, detailed here: https://forum.minetest.net/viewtopic.php?f=42&t=12169&p=215809&sid=e779a5875127aafd9e6c1b228ead02c2#p215793. I personally test each build before I upload them, so I have no idea what could be wrong 03:19 gregorycu hmmmm is going to enjoy that bug report 03:20 gregorycu "ERROR: An unhandled exception occurred: SQLite3 database error" 03:50 diemartin nothing else? 03:58 Zeno` is anyone merging #4056? 03:58 ShadowBot https://github.com/minetest/minetest/issues/4056 -- Mainmenu: Remove space under mod list by Rui914 03:58 Zeno` If not I'll do it in 10 minutes or so 03:59 nore ShadowNinja: oh, interesting, didn't know that 03:59 * nore looks 03:59 gregorycu diemartin: ? 04:00 Zeno` that's his name 04:00 Zeno` literally 04:00 gregorycu nothing else? 04:02 nore ShadowNinja: do you have a repo with it though? I can find the nbt reader, but not the cpp mcimport 04:02 diemartin gregorycu, your error. in any case, please ignore 04:03 gregorycu I was quoting from what Wayward posted 04:34 gregorycu sofar, give me sheep bro 04:36 sofar hop over an island, they have plenty 04:37 gregorycu Well played 04:38 gregorycu Where are you from sofar? 04:38 gregorycu By the way, my pathfinder now has parity with the existing pathfinder, except it has no bugs 04:39 sofar the answer to that question depends on a timescale 04:39 gregorycu Check this out: http://www.gregorycurrie.com/hooray.jpg 04:39 gregorycu That's with a jump height of 2 04:40 sofar just make a tester stick 04:40 gregorycu I have two tester blocks 04:40 gregorycu Which I move about 04:41 gregorycu But they don't bleat 04:41 sofar sorry, I'm really not going to publish it until I think it's ready for that 04:42 sofar I want to get everything right, no shortcuts, no bad models, no mspaint textures, no bad sounds, no missing gameplay components, etc. 04:43 gregorycu I know, I'm just teasing :) 04:43 gregorycu That's why I'm working on a kickarse pathfinder for you 04:43 gregorycu What pathfinder options do you need 04:43 gregorycu At the moment I have max drop / max jump 04:44 sofar https://github.com/minetest/minetest/issues/4049 04:44 gregorycu Which of those do you need? 04:45 gregorycu Soon, I mean 04:45 sofar swimming across surfaces 04:45 sofar and, obviously, walking through grass plants needs to work 04:45 gregorycu So, with swimming, I'm thinking there are three types 04:45 gregorycu Swimming above the water, like a boat 04:46 gregorycu Swimming below the water, like a fish 04:46 gregorycu Swimming "at the surface" like an animal 04:46 gregorycu A non-fish animal :) 04:46 sofar ah, yes 04:46 nore oh, btw, is there an option for needed height? 04:46 sofar although two of those are very similar 04:46 gregorycu nore: No, there isn't, and you're right, there needs to be one 04:46 sofar ohh yes, needed height is good 04:46 gregorycu sofar: You're talking about the first two 04:47 gregorycu Right? 04:47 sofar needed size to be complete 04:47 sofar gregorycu: add a note? 04:47 sofar I'll add it 04:47 gregorycu sofar: With regards to surface and above water 04:48 sofar "path may swim under the surface (against the bottom) of the liquid" 04:48 gregorycu For me, under the surface means inside a block that doesn't have air above it 04:48 gregorycu Can be dirt, ice, etc. 04:48 gregorycu Maybe not air, maybe walkable 04:49 sofar sure 04:49 gregorycu Are you happy with 3 types of swimming? 04:50 sofar bottom dwellers can just use the normal surface of nodes 04:50 sofar so yeah, I think that's everything 04:52 gregorycu The hardest thing about all of this is to make it performant 04:54 gregorycu lol 04:54 gregorycu What if the liquid is lava 04:55 sofar damage will kill entities inside of them if needed 04:55 sofar otherwise, it's a liquid 04:56 nore sofar: yes, but then, the pathfinder should say to avoid the lava 04:57 sofar sure, assign a high cost to lava 04:57 sofar gregorycu: #define performant 04:57 nore Oh, there would be per-liquid costs? 04:57 sofar gregorycu: let me give you a request based on what I think would be normal usage: 04:58 sofar gregorycu: 100 mobs requesting 1 path every 1 second 04:58 gregorycu_ So, it must be able to handle 100 tps 04:58 sofar yup 04:58 hmmmm why are mobs requesting paths so often 04:58 sofar I'd be happy with that already 04:58 sofar hmmmm: edge case 04:59 sofar my sheep are requesting paths every 20-30 seconds right now 04:59 gregorycu With regards to lava 04:59 sofar but, if they're in pursuit or fleeing, they may recalculate more often 04:59 gregorycu What do you mean, associate a high cost with it? 04:59 gregorycu Nothing in the pathfinder understands what lava is 05:01 nore gregorycu: that was the why of my per-liquid costs question 05:01 gregorycu Yep, it was a good question (I got DCed so I'm catching up) 05:04 gregorycu How does the pathfinder help mobs avoid lava while allowing them to go through water 05:06 kahrl let the mob specify a parameter to the pathfinder like 'avoid = {"group:hot"}'? 05:06 sofar assign a higher cost to liquids than air nodes 05:07 sofar assign a higher cost to lava than to other liquids 05:07 sofar air cost = 1 05:07 sofar water cost = 5 05:07 sofar lava cost = 100 05:07 gregorycu Right 05:07 gregorycu Well, I like kahrl's suggestion 05:07 gregorycu This means the pathfinder needs to understand the different liquid types 05:08 sofar I'd make a standard cost matrix first 05:08 kahrl yeah, ideally costs can be different for each mob 05:08 kahrl if someone wants to make a lava monster 05:08 sofar then allow specific custom costs to be passed 05:08 gregorycu You could also associate costs with groups 05:09 gregorycu group: hot; cost: 100 05:09 sofar maybe define a few standard cost sets (cost_set_water) (cost_set_surface) (cost_set_flying) 05:09 gregorycu But this question isn't really about costs 05:09 gregorycu It's about categorisation 05:10 gregorycu In fact, at the moment, everything is boolean 05:10 gregorycu Which means either a cost of 0, or a cost of infinity 05:10 gregorycu Or more than infinity 05:45 gregorycu There is another type of swimming 05:45 gregorycu Wading 06:32 Zeno` Can anyone look at this please: https://github.com/minetest/minetest/blob/master/src/threading/event.cpp#L63 ? 06:32 Zeno` And explain the logic behind it (specifically, what is 'notified' meant to be initialised to when the object is created...) 06:34 gregorycu false 06:35 Zeno` yeah, so I am not wrong if I add code to actually initialise it to false? 06:35 gregorycu err... 06:36 gregorycu Well 06:36 Zeno` in the constructor I mean 06:36 gregorycu Yeah 06:36 Zeno` thanks. Just making sure :) 06:48 Zeno` #4063 06:48 ShadowBot https://github.com/minetest/minetest/issues/4063 -- Fix use of uninitialised variable in class Event by Zeno- 06:54 hmmmm aren't objects initialized with the "default value"? 06:54 hmmmm i.e. zero fill for primitives 06:55 Zeno` no 06:55 Zeno` not last I checked the standard anyway 06:56 Zeno` valgrind was complaining anyway (uninitalised) 06:57 hmmmm hmm looks like what i mentioned only applies to new T() 06:58 hmmmm so-called value initialization 06:58 gregorycu Yeah, value initialzation 06:59 gregorycu Unless it's static 07:04 Zeno` I think I can *probably* remove the constructor for C++11 and it would be fine 07:05 Zeno` But not for pre-c++11 07:05 hmmmm subtle 07:05 Zeno` yeah, too subtle for my liking :( 07:05 hmmmm absurd 07:05 hmmmm mr. bjarne should think hard about what he's done 07:06 * Zeno` waits for an explanation mark 07:06 Zeno` explanation lol 07:06 Zeno` exclamation! 07:06 hmmmm what does an explanation mark look like 07:06 Zeno` it looks like @&$*^@$^&@*( 07:06 hmmmm that doesn't explain very much though 07:06 Zeno` lol 07:07 hmmmm for people like me who learns languages from using them/seeing them, such incredibly subtle things are bad 07:07 hmmmm i never read a book on C++ so idfk about the 50 types of initializations and every circumstance they apply in, under which versions 07:10 Zeno` well, that's what I'm saying. I'm not sure having people needing to refer to the Standard (and more than one version of it in this case) for something as simple as this is a good idea 07:11 Zeno` will merge in a few minutes if there are no objections 07:11 Zeno` look, another request for a C++ api 07:12 gregorycu *shrug* 07:13 gregorycu Mark as non-trivial 07:13 gregorycu The current Lua pathfinding API is this: find_path(pos1, pos2, searchdistance, max_jump, max_drop, algorithm) 07:13 Zeno` is #4042 ready? 07:13 ShadowBot https://github.com/minetest/minetest/issues/4042 -- Use ReplaceFile to rename files on Windows (not rename) by gregorycu 07:13 gregorycu Are we able to overload it to be find_path(pos1, pos2, searchdistance, options) ? 07:14 gregorycu Yes, it's ready 07:14 gregorycu bb in 30 min 07:18 Zeno` hmmmm, I'll merge 4042 at the same time as 4063? 07:20 hmmmm would be nice if 4042 had the line wrapped onto the next 07:20 hmmmm could you do that before merging? 07:20 Zeno` line 711? 07:21 hmmmm yes 07:21 hmmmm also that loop looks a little odd 07:21 Zeno` yeah, I'll wrap it. Loop looks ok to me... 07:21 hmmmm !rename_success doesn't need to be a condition 07:21 Zeno` true 07:22 Zeno` I'll do that when merging as well 07:24 Zeno` grrr. I'll fix "warning: 1 line adds whitespace errors." also >:-| 07:54 Zeno` whoa. I got curl to work for the server list 07:55 Zeno` I had to disable ipv6 in minetest settings 07:56 Zeno` which is... odd 08:05 nore Zeno`: maybe because the serverlist isn't ipv6? 08:06 Zeno` yeah, but why do I, as a player, have to disable ipv6 which is enabled by default? 08:06 nore A bug... 08:06 Zeno` eek 08:07 nore So that should be fixed 08:07 nore Perhaps you should file an issue 08:07 nore I'm wondering why I don't get the problem though 08:08 Zeno` I'm not sure 08:08 Zeno` I'll look into it more after dinner 08:08 nore Well, I never enabled ipv6, but never disabled it either 08:09 nore Have a nice dinner then :) 08:09 gregorycu Thanks Zeno 08:09 gregorycu So yeah, my find_path question above 08:09 gregorycu Anyone have opinions? 08:10 nore gregorycu: this overloading should be possible 08:10 gregorycu Should we do it? 08:11 nore I think so 08:11 nore It goes in the line of a consistent and easy to extend API 08:20 gregorycu The lua c api is annoying me 08:23 Zeno` I think it's some of the best code in minetest 08:23 paramat nore do you +1 #4037 ? perhaps it can be merged 08:23 ShadowBot https://github.com/minetest/minetest/issues/4037 -- Pathfinder cleanup by est31 08:25 nore paramat: have there been changes since yesterday evening? 08:25 paramat kahrl #4048 ? 08:25 ShadowBot https://github.com/minetest/minetest/issues/4048 -- FileSelectMenu: Fix formspec parsing broken by Irrlicht file-chooser by kilbith 08:26 paramat nore no, est was waiting for +1 08:26 nore paramat: I gave my +1 yesterday 08:26 paramat ok thought so 08:26 nore But maybe you already left 08:26 nore 4048 is good too 08:27 paramat 4037 has only been rebased and updated with hmmmm's request 08:30 millersman i've added a fix for the reflow problem #4061 08:30 ShadowBot https://github.com/minetest/minetest/issues/4061 -- Add loaded blocks to transforming_liquid-queue similar to updateLiquid by MillersMan 08:30 paramat good looks like freeze tonight then 08:30 paramat ok mm will look later 08:33 Zeno` yes.. PLEASE freeze :) 08:34 gregorycu freeze tonight? 08:34 gregorycu What do you mean freeze? 08:34 Zeno` feature freeze ready for release 08:34 gregorycu Looks like release will be ready tonight :) 08:34 Zeno` haha 08:34 Zeno` yeah, let's release while everyone is away! 08:34 gregorycu Now you get it 08:34 nore Finally! :) 08:34 Zeno` we only need two approvals right? 08:34 Zeno` hehe 08:35 paramat freeze = 2 weeks of testing without adding new features 08:35 Zeno` and then 6 weeks of bug fixing after release :-D 08:35 jin_xi most mt bugs so old they're features now, so fixes not allowed 08:36 Zeno` "oh my god, it's full of features" is now part of my sig (thanks jin_xi) 08:36 paramat for game i'll rereview game#1061 then merge it later 08:36 ShadowBot https://github.com/minetest/minetest_game/issues/1061 -- TNT: Combine adjacent TNT into the explosion by sofar 08:37 Zeno` I tested that TNT changed... it's fun 08:37 Zeno` I couldn't *not* test it after watching sofar's video :) 08:38 paramat nore this evening i will be submitting a PR to make grass_side textures hang a little lower: halfway down 08:38 paramat i'll prepare screenshots later 08:38 nore paramat: ok, will review 08:39 paramat i'd prefer 3/4 covered but thought halfway would be a compromise to keep most happy 09:02 gregorycu I want to add freestanding begin and end 09:02 gregorycu Should I, if so where? 09:04 nore gregorycu: what do you mean? 09:05 gregorycu http://www.cplusplus.com/reference/iterator/begin/ 09:05 gregorycu (2) 09:05 gregorycu I want to add that when compiled in non-C++11 mode 09:07 nore Hm, to what do you want to add that? 09:08 gregorycu It's a freestanding function 09:08 nore Ah, ok 09:08 gregorycu Works with all arrays 09:09 gregorycu (Works with arrays that are not raw pointers, that is) 09:09 nore I guess, in util/something 09:09 nore Maybe misc.h if there isn't a better place 09:11 gregorycu for(name_to_setter* iter = begin(bool_setters); iter != end(bool_setters); ++iter) { 09:11 gregorycu To iterate through an array (as you would a std container) 09:13 nore Yeah 09:13 gregorycu Actually, maybe I won't 09:14 gregorycu It will clash with the C++11 feature 09:14 gregorycu And I'm not sure we can avoid that easily 09:42 nore gregorycu: Well, I'd say it is good to have, but you should see that with the other devs at well 09:42 gregorycu I won't touch it, I have other battles to fight :) 09:42 nore And to avoid the clash, just put it in an #ifndef 09:43 gregorycu lol 09:44 gregorycu That assumes include order 09:51 nore gregorycu: no, an #ifndef __CPLUSPLUS11 (or whatever the name is) 09:53 MillersMan found another flow bug: http://imgur.com/aJNLdLC 09:53 MillersMan this affects both mapgen and reflow 10:10 Zeno` The column of water stays like that? 10:12 gregorycu nore: But in the user code, what do you include? 10:12 gregorycu misc.h would have to include 10:17 nore Ah 10:18 nore Hm, don't know then 10:18 gregorycu All good 10:18 gregorycu We can revisit this later :) 10:19 nore MillersMan: are these source or flowing? 10:57 MillersMan Zeno, nore: They are source blocks in this case, it only occurs for blocks added by mapgen or after loading 10:57 MillersMan I've created a fix for them: #4065, note that it has to be applied to #4061 also when both are merged 10:57 ShadowBot https://github.com/minetest/minetest/issues/4065 -- Fix for flow issues in Mapgen::updateLiquid by MillersMan 10:57 ShadowBot https://github.com/minetest/minetest/issues/4061 -- Add loaded blocks to transforming_liquid-queue similar to updateLiquid by MillersMan 11:01 MillersMan s/or after loading/or at loading/ 11:35 nore ~tell Fixer maybe this light problem is related to #2823 11:35 ShadowBot nore: O.K. 11:39 gregorycu I think I'll do a video demo of the pathfinding 12:01 gregorycu https://youtu.be/8vFKXovblCw 12:03 gregorycu It's alright to be amazed 12:08 MillersMan gregorycu: Looks nice. Does the pathfinding have weightings for different actions. Like giving the dog the preference to walk around a small puddle but walk under water through a long river? 12:09 gregorycu Not yet 12:09 gregorycu That's planned though 12:10 nore gregorycu: woah 12:12 gregorycu I want to add underwater swimming and wading through water next 12:12 gregorycu (wading is only suitable for animals more than 1 high) 12:13 gregorycu Then after that, flying 12:13 gregorycu And then diagonal movement 12:13 gregorycu Then I'll think about adding weighting 12:57 gregorycu Off off to watch history being made 12:57 gregorycu I'm off * 12:58 Krock watching your neighbour, mowning the lawn? 13:17 kahrl paramat: I can't really approve #4048 since I made that patch (even though kilbith submitted it) 13:17 ShadowBot https://github.com/minetest/minetest/issues/4048 -- FileSelectMenu: Fix formspec parsing broken by Irrlicht file-chooser by kilbith 13:24 PilzAdam kahrl, approving your own PRs is allowed 13:25 Zeno` kahrl, it's one line. Just merge it without even using the PR :/ 13:26 Zeno` kilbith didn't write it and the PR is not necessary 13:28 kahrl Zeno`, I'm not sure it is that trivial, see hmmmm's comment in #4044 13:28 ShadowBot https://github.com/minetest/minetest/issues/4044 -- In-Game Font switching mess up the GUI 13:29 kahrl PilzAdam: is it? I wasn't sure about the outcome of that recent discussion 13:29 Zeno` I'm aware of hmmmm's comment but the thing is either 4048 has to be closed as not a solution or the small change merged as a possible fix 13:30 kahrl sure 13:30 kahrl but I wanted to give it the chance to generate more feedback first 13:30 Zeno` I can't see how it would cause any harm even if it doesn't actually fix the issue... 13:31 kahrl idk, locales are weird, maybe it causes something completely unrelated to break on a specific OS 13:32 kahrl but that sounds far fetched for LC_NUMERIC, I admit 13:32 kahrl (when set to "C") 13:33 kahrl thing is, Irrlicht changes all the locale categories, not just LC_NUMERIC, so the whole combination of them might end up broken 13:34 Zeno` This bug... after it manifests, is it "fixed" after restarting minetest or does it persist? 13:34 kahrl restarting fixes it 13:34 Zeno` I don't see how it's a blocker then. Perhaps it can wait 13:36 kahrl I wouldn't call it a blocker either 13:36 kahrl all that said, my fix can only break things in the case where someone has opened a file select menu 13:36 kahrl which is already broken 13:37 kahrl (to the extent that restarting is required) 13:37 kahrl so I don't thing the fix can make anything worse 13:37 kahrl think* 13:38 kahrl I think I'll just merge it in 30 minutes then 13:38 Zeno` Which was my first thought also 13:38 Zeno` yeah, just do it :) +1 16:00 Zeno` hi hmmmm 16:14 hmmmm hello 16:26 ShadowNinja nore: No repo yet. Another thing I fixed is the block flags, the generated flag is actually stored inverted, and the lighting expired flag doesn't work properly. My converter has to fix the lighting of nodebox nodes like stairs and slabs, but other than that you can just use the MC lighting. chunksize=1 is also necessary to prevent maiden griding from mod with mapgen like moretrees. 16:27 ShadowNinja *mapgen greifing. Thanks, autocorrect. 16:27 hmmmm and here i was thinking that maiden gridding is a new term i haven't heard of yet 16:48 Zeno` Gosh I hope we're frozen when I wake up 16:49 Zeno` We've been in "semi-freeze" since I've been back lol 16:49 hmmmm yeah this is getting ridic. 16:50 Zeno` it is 16:50 hmmmm then again i'm not the greatest at release management either D: 16:50 Zeno` things keep getting added to the milestones and freeze delayed 16:50 hmmmm maybe somebody should be designated for the role instead of passing it around every couple of versions 16:50 Zeno` let's just put it in liquid nitrogen hehehe 16:51 Zeno` well, it *is* a juggling act, I agree 16:51 Zeno` but... semi-freeze for months on end? 16:52 hmmmm alright i'm gonna make an executive decision 16:52 hmmmm we'll be in feature freeze until everybody decides on which blockers are really blockers or not 16:53 hmmmm and then immediately code freeze for a week or two 17:07 Fixer wait what? feature freeze is not release, who said there will be release? is not it is bug fix part now for some weeks? just to be sure 17:08 Fixer nevermind 17:08 Zeno` Fixer, feature freeze hasn't even ... hehhe ok 17:09 Fixer could you guyz look at that water reflow fixes? that could be nice for mt, i will play with it today too I guess 17:09 Zeno` the liquid reflow? 17:09 Fixer yeah 17:09 Zeno` yeah I think it looks great but I should not be in this release 17:09 hmmmm ? 17:09 hmmmm what are you guys talking about 17:10 Zeno` secret stuff 17:10 Fixer #4061 and #4065 17:10 ShadowBot https://github.com/minetest/minetest/issues/4061 -- Add loaded blocks to transforming_liquid-queue similar to updateLiquid by MillersMan 17:10 ShadowBot https://github.com/minetest/minetest/issues/4065 -- Fix for flow issues in Mapgen::updateLiquid by MillersMan 17:10 hmmmm oh.. 17:10 hmmmm no no no no... 17:10 Zeno` yeah, ok, secret's out 17:10 hmmmm we already discussed this, that's not a valid fix 17:10 Fixer oh 17:11 Zeno` it shouldn't even be discussed now :P 17:11 Zeno` it's promising though 17:12 Zeno` hmmmm, why is it not valid? 17:12 Fixer i missed discussion on irc, have not noticed in logs 17:12 Zeno` I missed it also 17:12 hmmmm performance issues 17:12 Zeno` but I don't really want to discuss it before this release happens 17:12 hmmmm the liquid queue is being filled up with thousands of nodes on load time 17:13 Zeno` it might be better than "frozen" liquids though :/ 17:13 Zeno` that queue is infinite anyway 17:13 Zeno` (effectively infinite) 17:13 hmmmm it's an issue of priority 17:14 hmmmm our priority is basically having the game as smoothly running as possible 17:14 hmmmm frozen liquids are an issue, but nowhere nearly as big of an issue as a chronically lagging liquid queue 17:14 Zeno` It's pretty horrible to walk into a region where lava is pooling around the bottom of a block 17:14 Zeno` or water, or whatever 17:15 hmmmm didn't paramat do something to address this? 17:15 Zeno` well if he did I can't see it fixed 17:15 hmmmm not liquid reflowing exactly, but stopping it from pooling at least 17:16 Zeno` possibly, I'd have to check again 17:16 paramat yeah i stopped liquids spreading out if they hit ignore 17:16 Zeno` but that doesn't fix the entire "issue" 17:16 Zeno` although it's a great improvement 17:16 paramat correct 17:17 paramat now a water column will just stop, looks much tidier 17:18 paramat #3581 17:18 ShadowBot https://github.com/minetest/minetest/issues/3581 -- Liquids: Prevent liquid spreading on ignore by paramat 17:19 Zeno` in real life lava and water (as two examples) don't flow down forever anyway 17:19 Zeno` lava cools and water gets absorbed 17:20 Zeno` but I'm not even going to think about this until after release :) 17:21 Zeno` paramat, so, are we ready for freeze? 17:22 paramat i'm catching up, reading logs, been out all day .. 17:23 Zeno` who gave you permission to go out? 17:23 Zeno` You need two approvals to go out 17:24 hmmmm hmm 17:24 hmmmm millersman seems to have read the original thread since he commented in it, but does he actually understand...? 17:24 paramat heh 17:24 hmmmm if he did then he'd get why the PR isn't a solution 17:25 hmmmm it's not like 50 people haven't already tried fixing it and then this random person does something obvious and all of a sudden it works 17:25 hmmmm we're gonna have to invent something for a good solution, and also perhaps some compromise 17:25 hmmmm i hate to say it 17:25 paramat well engine can be frozen now, no milestone PRs left 17:26 paramat game has a tnt 17:26 paramat sorry .. 17:26 paramat .. PR i will review then merge soon 17:26 hmmmm no problem, as long as something is happening 17:27 paramat so yes engine freeze now. game freeze later tonight probably 17:27 Zeno` yay 17:28 Zeno` tnt by sofar? 17:28 Zeno` I tested that... it's great 17:29 Zeno` can't/won't comment on the code (I'm not 100% comfortable with Lua) 17:29 paramat i have some texture tweaks for game to propose, but textures don't have to delay game freeze 17:29 hmmmm actually on second look 17:29 hmmmm millerman's solution might possibly be okay 17:29 hmmmm it needs to be profiled though, this is one of those things that can't be predicted accurately 17:29 Zeno` hmmmm, I think it would be ok because that queue is always full anyway lol 17:30 Zeno` but as I said... not looking at it until after release 17:30 paramat there are still some engine issues labelled as milestones 17:30 hmmmm it's not 17:30 Zeno` paramat, you can freeze with issues still open (IMO) 17:30 paramat yes correct 17:31 hmmmm it only gets "full"-ish on mapgen time 17:31 hmmmm in the average case it's like... 10 17:31 Zeno` hmmmm, on a multi-user server it's nearly always full 17:31 hmmmm well what did you expect 17:31 Zeno` I profiled it ages ago 17:32 hmmmm so if it's almost always full on a multi-player server now, it's going to be even worse when every single block load adds 1k or more 17:32 hmmmm at that point why even bother, honestly 17:32 hmmmm if the liquid transform queue is going to be always full then no liquids will get flowed 17:32 Fixer why? 17:32 hmmmm maybe there needs to be a smarter liquid flowing algorithm 17:32 Fixer is it gets stuck or smth? 17:33 hmmmm one that doesn't recursively re-add nodes 17:34 Fixer don't understand why when it gets full it won't process, it will process oldest parts and slowly empty it, etc first in first out thing 17:35 hmmmm oh yeah it'll get processed 17:35 hmmmm you're just gonna have to wait an hour 17:35 Zeno` hmmmm, yes, but it won't matter... because clogged is clogged 17:36 Zeno` if I still had my VPN I'd be tempted to setup a server just to test it 17:36 hmmmm or maybe even better, you'll get a std::bad_alloc crash on the 1 zillionth liquid transform 17:36 Fixer i don't know, i will just apply that PRs and play with them on that world copy, just to see the gameplay 17:36 hmmmm i don't think the liquid transform queue gets dumped anymore 17:36 Zeno` hmmmm, it's (it == that queue) already occupies most of the RAM according to massif 17:37 hmmmm yeah okay 17:37 hmmmm it's clear to me at least that the liquid flow algorithm sucks and simply doesn't scale 17:37 Zeno` yep :) 17:37 hmmmm this shit 17:37 hmmmm is not fixing the issue 17:37 hmmmm so are you volunteering for improving liquid flow? lol 17:37 Zeno` me? 17:37 hmmmm ya 17:38 Zeno` no way dude 17:38 hmmmm hahaha 17:39 hmmmm ok less talk more code 17:40 Zeno` If I did it I'd implement the cooling/absorbing heh 17:40 Fixer paramat, "players on Xanadu complaining about new grass texture... they no like" 17:40 paramat stuck liquids are not a huge problem, at least they don't spread anymore 17:40 Fixer yeah 17:40 paramat heh well of course many will not like it 17:40 Fixer worst thing is when some DH places one block below it and it spreads a little and go down in that shape and freeze :) 17:41 Zeno` my water elevators are broken! 17:41 Fixer someone actually playing minetest? breaking 17:42 Zeno` I was giving an example of a complaint :P 17:42 paramat oh :) 17:48 paramat sofar i'll merge game#1061 now i assume it's still ready 17:48 ShadowBot https://github.com/minetest/minetest_game/issues/1061 -- TNT: Combine adjacent TNT into the explosion by sofar 17:49 sofar yes, it's good to go 17:49 paramat good work on this, thanks 17:49 sofar I experimented yesterday with liquids being a falling node, that was interesting 17:50 sofar it has potential 17:53 * VanessaE peeks in 17:55 paramat 'peek' and 'poke' were ZX Spectrum keywords for accessing memory locations 17:55 * VanessaE pokes paramat jut because. 17:56 MillersMan hmmmm, Zeno` : didn't notice my PR are in discussion. Some background on my fixes: I did my best to avoid adding any nodes to the tranformation list that don't belong there. 17:56 paramat now merging 17:57 MillersMan #4065 might actually get rid of the issue with clogged queue after mapgen, as it ignores most of the nodes that would have been previously added 17:57 ShadowBot https://github.com/minetest/minetest/issues/4065 -- Fix for flow issues in Mapgen::updateLiquid by MillersMan 18:00 MillersMan the old implementation added the whole upper plane of generated chunks while the new implementation ignores anything above the first actual non-ignored block which actually solved a bug while I wasn't able to see any issue so far 18:01 MillersMan the loading implementation will only add the highest and lowest node in an actual water column where a column that might continue above or below is ignored 18:02 paramat merged, all game milestones cleared 18:03 MillersMan so for ocean blocks it will only add the water surface and the water base which has a relative low overhead. 18:03 paramat 4065 issue 1 is weird, water does usually spread when it hits ground 18:04 MillersMan paramat: it only does if it wasn't added by the mapgen, i've added the following line in the plane mapgen to produce the result 18:04 MillersMan line 400: } else if (y <= water_level || x == 0 && z == 0 &&) { 18:04 MillersMan oh sorry should be } else if (y <= water_level || x == 0 && z == 0) { 18:05 paramat if it was added by schematic or voxelmanip liquid is not added to the transform queue 18:06 MillersMan it is not that it wasn't added to the queue, it's just that the solid block was added instead of the fluid block itself, in case of an air block the transform will still work as it just progresses downward but it will just ignore solid blocks so the column is stuck 18:07 MillersMan its actually only replacing the coordinate with the uppers nodes coordinate if the node itself is not fluid, the rest of the PR is about avoiding updates where they shouldn't be 18:09 Zeno` MillersMan, as I said... personally I think it has potential 18:10 Zeno` I (for one) will certainly be looking at it very closely after release 18:10 Zeno` liquid stuff was a big problem on my server when I had one 18:11 MillersMan the loading algorithm could be improved by additionally ignoring all nodes that have fluid or solid nodes beside them 18:12 hmmmm millersman: yes, I looked at your code a bit better and it definitely has potential 18:13 hmmmm do you mind performing a simple printf("transforming queue size: %u\n", m_transforming_liquid_queue.size()); in transformLiquids() with and without your fix? 18:14 MillersMan I've tested it with the map attached to #2977 and runs unexpectedly smooth on my machine, but someone else with more MT-benchmarking experience has to validate my results 18:14 ShadowBot https://github.com/minetest/minetest/issues/2977 -- Stop liquids from flowing over ignore. by red-001 18:14 paramat ah i see updateLiquids is failing for a water column, i guess we don't notice usually because most water is in a mass below water_level, or in gently sloping rivers 18:14 MillersMan I'll can do it 18:15 paramat perhaps check rivers in mgvalleys for non-updated water 18:15 Fixer i will play with those prs :) 18:15 Fixer i remember some stuck water in valleys iirc 18:15 Fixer placed by mapgen 18:15 hmmmm as for the sides of a water column not getting flowed 18:15 MillersMan paramat: I only noticed it when testing the broken map and after all water run off few places were left that had the same initial configuration and i tried to reporoduce it with mapgen and the issue remained there 18:15 hmmmm that was expected behavior 18:15 paramat yes i've come to expect occasional non-updated water 18:16 hmmmm i made it that way because the topmost water node is supposed to spill and cause the lower nodes to get their transform queued as well 18:16 hmmmm like a cascade effect 18:16 MillersMan hmmmm: But it does if it gets generated in any other way than by mapgen only, so for me it is unexpected behaviour 18:16 hmmmm right... that's why it's called Mapgen::updateLiquids 18:17 hmmmm generating map is a heavy operation to begin with, so all the mapgen variations of the algorithms like transforming liquids and updating light take many shortcuts and make assumptions on the current state, for the sake of speed 18:19 MillersMan topmost nodes will still spill exept for cases where there is an upper block that might continue the column but wasn't generated yet 18:20 MillersMan i've started learning MT code by doing a new mapgen that has strictly downflowing rivers (ok sometimes there is a single water node above the other where it shouldn't be, but that just a bug) that go through the whole map, so mapgen code is the part i know best so far 18:20 rubenwardy #579 18:20 ShadowBot https://github.com/minetest/minetest/issues/579 -- Don't grant priveleges to non-existent players. by 0gb-us 18:20 paramat the shortcuts in updateLiquids are ok with me, even working with a river mapgen the stuck water bugs are only occasional and minor 18:21 rubenwardy game#579 18:21 ShadowBot https://github.com/minetest/minetest_game/issues/579 -- Add give_initial_stuff API (and a setting) by rubenwardy 18:21 paramat nice rebased 18:21 paramat i'll merge 18:22 Fixer kahrl, will you bugfix that chat scrolling before release or after? 18:25 paramat mapgen doesn't usually generate these water columns so it may be best to not fix the issues in 4065 18:26 hmmmm it might be worthwhile as long as the number of updated nodes isn't significantly higher.. 18:27 hmmmm mapgen generates water columns when you have a cave that gets carved right next to a lake 18:27 hmmmm (maybe it's for the best, liquids + caves = bad news 18:28 paramat now merging game 579 18:34 paramat done 18:37 MillersMan hmmmm: Where can I paste the output generated by transformLiquids? 18:37 hmmmm fpaste.org? 18:39 MillersMan here is the output: https://paste.fedoraproject.org/361565/27923146/ 18:39 MillersMan I'll do the same without my changes 18:40 hmmmm wow 18:40 hmmmm at least it's not consistently 12-15k like my attempt 18:45 Fixer i have compiling error while cross-compiling win build on my debian of newest minetest: error in event.cpp I guess, pic: https://i.imgur.com/U6A90oH.png Should I open an issue? 18:47 MillersMan Here the same without my fixes: https://paste.fedoraproject.org/361569/62128420/ 18:50 MillersMan The first version contained both PRs, so the high load during loading will be gone without #4061 but the lower load during generation is the result of #4065 18:50 ShadowBot https://github.com/minetest/minetest/issues/4061 -- Add loaded blocks to transforming_liquid-queue similar to updateLiquid by MillersMan 18:50 ShadowBot https://github.com/minetest/minetest/issues/4065 -- Fix for flow issues in Mapgen::updateLiquid by MillersMan 18:51 MillersMan I didn't apply my changes from 4065 to the loading algorithm in 4061 yet, it might get better when doing so 18:53 MillersMan looks like 4065 reduces load while generating area with little to now water by up to factor 20, while removing it completely in dry regions 18:55 MillersMan I'll going to check whether it has any disadvantages for valleys mapgen, or are there any other mapgens with flowing water spread over a y range of about 200 nodes or so? 18:57 paramat no only mgvalleys 18:57 paramat mgv5 can have very deep oceans though, but this is mostly liquid source 18:58 hmmmm incredible 18:58 hmmmm and shadowninja wonders why I get upset with his copious overusage of ifdef blocks 18:59 paramat i agree that addressing the updatng of water next to underwater tunnel entrances would be good, to get it flowing down into tunnels 19:00 MillersMan only issue i can think of is if an upper block gets generated before one below without overlap and the upper one contains fluid that stops exactly at generation border with ari below, but either i wasn't able to adjust the flat-mapgen to generate one of that or its not an issue 19:00 Fixer paramat, yeah, i've seen some times water in caves that got stuck above nice cave 19:00 MillersMan either case i would term a mapgen that creates a lake over air with the ground being the generation chunks border an bug by itself, so this should not be an issue 19:01 Fixer paramat, or you mean generated one? 19:02 paramat i mean in core mapgen 19:05 MillersMan oh, one bug isn't fixed with my PRs: if fluid stops exactly at side of a chunk that is generated before the neighbouring one that contains only air, but this would require different measures 19:05 MillersMan so no, haven't fixed all issues with flow in valleys mapgen :( 19:06 MillersMan http://imgur.com/TDOB1OA 19:07 paramat maybe we could make updateLiquids overgenerate like generateTerrain does, but by 1 node horizontally too 19:07 paramat for overlap 19:07 hmmmm please stop it with the overgeneration 19:08 paramat heh 19:08 paramat maybe not 19:08 hmmmm it might solve the immediate problem but it causes data dependency problems 19:08 paramat i agree it can be problematic, best avoided if possible 19:09 hmmmm like mapgen isn't subtle enough the way it is 19:09 hmmmm --; 19:09 paramat does disabling waving water solve that river bug? 19:10 Fixer is not we removed it? 19:10 paramat that was 'new style water' 19:11 paramat the slight lowering of water surface 19:11 Fixer waving water adds another problems 19:13 MillersMan paramat: i wouldn't expect it, the river bug comes from not recreating tranformation requests at the borders of chunk if the neighbouring block was containing water but the generated block doesn't 19:15 MillersMan fixing those might be possible if updateLiquid will also process the borders of neighbouring blocks that already existed 19:16 MillersMan not sure if this is possible yet, as i don't know whether mapgen starts out with an empty buffer or whether it preloads existing content 19:19 paramat mapgen works with the 5x5x5 block mapchunk plus a 1 mapblock thick 'shell' of mapblocks 19:21 paramat some things like large caves, dungeons, trees will be generated out into neighbour mapchunks 19:25 hmmmm i wish i could take a video of my screen right now 19:26 hmmmm to share how good it feels to highlight ~600 lines of code, and then press the backspace button 19:26 hmmmm and then do it 5 more times 19:29 Fixer http://littlefun.org/uploads/524cd2d3e691b2144cc4428d_736.jpg 19:37 paramat nice, de-duplicating all that mapgen code 19:38 MillersMan paramat: thanks, just have seen that MMVManip::initialEmerge initializes the new block with already generated nodes so it should be possible to fix this bug easily 19:39 hmmmm it's pretty much impossible to deduplicate valleys mapgen generateCaves however :( 19:39 paramat yeah 19:39 Zeno` yeah 19:40 MillersMan hmmmm: it would be even worse with my canyon mapgen once underground rivers are implemented, it will rewrite the whole cave generation... 19:41 Zeno` changing in event.cpp to this: http://dpaste.com/3NAWQ6S 19:41 hmmmm oh god no 19:41 hmmmm please don't do that zeno 19:42 hmmmm instead, remove the #ifdevs around the notified variable definition 19:43 Zeno` even though it's not used? 19:43 Zeno` actually I'll leave it... it's a trivial error 19:43 hmmmm it's worth not having surprise compilation fails for some specific subset of builds 19:43 Zeno` got to sleep 19:44 hmmmm bad enough that the client and server include different subsets of header files making server-only builds fail for some people due to the large and complex chain of required includes... 19:44 hmmmm better yet, on certain platforms 20:00 MillersMan can't reproduce my issue anymore, same seed, approaching the blocks from the same side but the river is flowing now at that location :(( 20:06 paramat it may be an occasional random thing. y = 176 is a lock border but not a chunk border 20:07 paramat nore sfan5 WIP but some screenshots game#1065 20:07 ShadowBot https://github.com/minetest/minetest_game/issues/1065 -- Default: Slightly lower grass_side and snow_side textures by paramat 20:07 sfan5 I'm not sure whether i like this more 20:07 sfan5 also 20:07 sfan5 can we finally have a set date for feature freeze? 20:09 paramat freeze doesn't have to stop new textures, so now, engine is in freeze 20:09 paramat savanna certianly looks better, more golden. the snow side needs work though 20:10 paramat (certainly) 20:10 sfan5 when do you plan to release? 20:10 paramat provisionally 2 weeks later 20:10 sfan5 later than now? 20:11 paramat 2 weeks from freeze start 20:11 hmmmm this is ridiculous 20:11 sfan5 yeah when did the freeze start 20:11 paramat right now 20:12 hmmmm we'll release on the 11th 20:12 hmmmm no ifs ands or buts! 20:12 sfan5 why do we need yet another 2 weeks of freeze? 20:12 sfan5 i understand that there are problems in need of solving 20:12 paramat some feel 2 weeks is needed 20:12 hmmmm to test the burst of changes that just got merged to make sure nothing is a huge issue 20:12 sfan5 but this release has been pushed so far back already 20:12 sfan5 this is getting a little annoying 20:12 sfan5 "some" 20:13 paramat better than rushing 20:13 sfan5 rushing 20:13 sfan5 ahaha 20:13 sfan5 what 20:13 sfan5 this release is anything but not rushed 20:14 paramat getting annoyed is your problem 20:14 Fixer don't forget to test the damn thing :) 20:14 sfan5 it may be 20:14 sfan5 this release having been pushed back a lot is a fact though 20:15 paramat unavoidable due to many bugs arising at last moment 20:15 hmmmm what bugs have arisen though? 20:15 sfan5 bugs do not require pushing back a feature freeze 20:15 paramat well yes 20:16 paramat i mean essential PRs 20:17 paramat the complaints seem to come from devs not around much 20:18 paramat who then seem to blame me for the delay 20:18 paramat and don't have much of a grasp of whats going on 20:18 hmmmm well, as the release manager, you do get to make judgement calls on whether or not something *needs* to be fixed in this release 20:19 paramat i odn't mind less than 2 weeks freeze, it's up to others, it was requested by a few devs so i went with 2 weeks 20:19 paramat (don't) 20:20 paramat i think it went well. delay is irritating for everyone, but it was needed 20:21 paramat i now know why est31 didn't enjoy being release manager last time. people give you crap :) 20:24 hmmmm after your turn, who is up next? 20:25 hmmmm i already went a couple times now, est31 went, you went, pilzadam went, did zeno ever do it? 20:25 PilzAdam why choose someone who hasn't done it before? 20:26 hmmmm everyone should get a turn' 20:26 PilzAdam I think experience is a big factor when managing releases 20:27 hmmmm distributing experience in this manner is good though because everybody will get to know what they're doing up to a certain point 20:27 hmmmm and maybe have a provision like the last release manager to go should help the next one 20:27 PilzAdam maybe w could have 2 release managers next time? 20:28 PilzAdam it would make life easier for both of them 20:29 paramat it's quite an experience, you need a lot of tolerance 22:04 hmmmm hey guys 22:04 hmmmm does anybody know off the top of their head what a class would be that has its purpose documented? 22:05 hmmmm there are a lot of inline comments about what individual methods do, or what a parameter is, but i can't find any examples of where we wrote a comment discussing the what/why of a class 22:05 hmmmm i'd much rather follow prior precedent than making up my own style as i go along 22:06 hmmmm nvm, found one in camera.h 22:10 MillersMan hmmmm: A few others are in environment.h 22:18 hmmmm i guess these days minetest developers aren't too terribly concerned about architecture and where their code fits in :/ 22:24 MillersMan i wouldn't say it this way... minetest seams to have an architecture and the structure was easy to learn so far... i've seen projects where you wouldn't be able to answer any architecture related question without doing a whole day of traversing call-hierarchies and writing full blackboards with dependency-graphs 22:26 MillersMan fixing a trivial issue in such an project is roulette, it might take 10 minutes or a whole week and one can't answer before the fix is done 22:26 hmmmm there's no way to know if you're inadvertantly causing an even bigger bug by fixing it either 22:32 hmmmm i'm glad people like minetest's architecture :) 22:34 MillersMan so far it was fun, and i think i already know about 50% of all flow related code, or maybe more 22:35 MillersMan and a lot of mapgen stuff