Time Nick Message 01:11 doserj rarkenin: reliable can be wrapped around split packages 01:11 doserj split packages just contain data, not other packages 01:12 doserj For your other question. undersurface is the node that is punched, abovesurface is where you would place a node 01:20 rarkenin So, reliable around control, original, and split. Split around raw data. ' 01:21 rarkenin And is split's seqnum related to the seqnums of the packets the chunks are in? 01:30 doserj the seqnum for split packets has nothing to do with the seqnum for reliable packets 14:40 Taoki A heads-up: I fixed veryical speed and acceleration in my physics branch, since I finally discovered what was breaking them. Feel free to test my code more if needed (it should be fine now) and pull upstream. https://github.com/celeron55/minetest/pull/483 15:00 darkrose works for me, just added the change to upstream/movement branch 15:39 Taoki darkrose: ok. Just finished doing one more commit a minute ago, check that as well please 15:44 VanessaE Taoki: your latest is now on my server. 15:44 VanessaE (including the commit you just mentioned) 15:44 VanessaE if you wish to test it further I mean 15:46 VanessaE uh oh. 15:46 VanessaE can't fly upwards. 15:47 VanessaE unless I jump first and try to take off while in mid-air, then up/down works as expected. 15:51 VanessaE or, toggle noclip on and then back off while trying to fly from a standing position, that works too. 15:57 F00 Someone mind testing a tiny patch for me? http://pastie.org/6133333 15:57 VanessaE what does it do? 15:57 F00 All it does is enabled wrapping in the already-five-line guitext_info box (Should look like so: http://i.imgur.com/yFzwJIK.png ) 15:58 F00 I can't imagine why it wouldn't work, but I had someone say it didn't. 15:58 VanessaE ah 16:57 proller Taoki, maybe add to your patch moving in flowing liquids ? 16:58 proller when liquid push player to flowing direction 17:22 * F00 tries again. 17:22 F00 Anyone have a minute to test a one-line text wrap patch (for signs, etc.)? http://pastie.org/6133333 17:55 F00 ShadowNinja: My current iteration just uses the wrap bool to addStaticText, works fine for me on Irrlicht 1.8 and 1.7.3 17:55 F00 Haven't been able to get anybody else to test yet. 17:56 ShadowNinja I can't get it to work with the same implimentation 17:56 F00 But I can't see why that would be unset unless you have an actual, explicit disabling of wrap elsewhere 17:56 F00 git diff src/game.cpp is identical to this? http://pastie.org/6133333 17:57 ShadowNinja It is only referenced three times in game.cpp, adding it, seting it, and making it visible, and yes 17:58 F00 Neither setText nor setVisible have args that might impact wrapping, so that's utterly bizarre 17:58 ShadowNinja I tried it with 1.7 and 1.8 17:58 F00 Oh. Your guitext_info rect is 400px wide, text_height*5+5 tall, right? 17:58 ShadowNinja yes 17:58 F00 This makes no sense, then. 17:59 F00 Need a third person to give it a try to see if you're the anomaly or if I am. 18:01 F00 You're making sure to run ./bin/minetest from your git checkout, right? 18:01 ShadowNinja yes, I just did a reset --hard HEAD to try again 18:02 F00 What happens in-game for you? Long signs just run off the end of the first line like before? 18:02 F00 With a partially-clipped letter visible or whatnot? 18:02 ShadowNinja yes 18:03 ShadowNinja reset did nothing 18:05 F00 Just for kicks, does changing the sole guitext_info->setText to be guitext_info->setText((L"AAA"+infotext).c_str()); actually prepend your signs with AAA? 18:08 ShadowNinja it doesn't compile 18:08 ShadowNinja L"AAA"+infotext.c_str() 18:08 ShadowNinja gtg bbl 18:09 F00 There's a paren around that 18:19 Taoki Back 18:20 Taoki PilzAdam: When you have time to look at pull requests again, please check https://github.com/celeron55/minetest/pull/483 and if there aren't any problems pull it upstream. I did the last checks and changes today and it should be as ready as it can be 18:21 PilzAdam Taoki, random thoughts about your branch: 18:21 PilzAdam - the sinking speed in liquids is way too slow 18:21 PilzAdam - the movement speed in liquids should depend on the viscosity 18:22 PilzAdam - the sliding effect after fast move is too high/long 18:22 PilzAdam - disable the normal sneaking when in liquids, shift should be used only for sinking when in liquids 18:23 Taoki Sliding effect after using fast cannot be helped. It's due to the acceleration / deceleration, and I see no way around it. I hope this one can be let to slip... the rest I can look into 18:23 PilzAdam - climbing on ladders is too fast 18:23 Taoki Climbing / decendiing uses walk speed, but I can change that and make it slower 18:23 PilzAdam maybe higher deceleration when the player is faster than max walk velocity? 18:23 Taoki Also, I'm not aware of different liquids supporting different levels of viscosity yet. That will probably need to be a separate feature later 18:24 Taoki Not sure how and if to do that. For now I'd leave it as is if that's ok 18:24 Taoki But the rest I can try to take care of 18:25 PilzAdam echo "Speed depending on liquid viscosity \n pushing of player/objects through flowing liquid" >> Taoki/TODO.txt 18:25 Taoki PilzAdam: Except movement depending on viscosity because different liquid nodes don't support viscosities yet. That will be a different feature 18:25 Taoki yes, I will add a comment for it 18:25 PilzAdam ehm... https://github.com/celeron55/minetest/blob/master/doc/lua_api.txt#L1457 18:28 Taoki Oh... there is a liquid_viscosity tag I see. But it didn't seem to do anything until now 18:28 PilzAdam it controls the flowing speed 18:28 Taoki If I'll be able to read its value where liquid friction is applied (in environment.cpp) I can easily account it then. Can't promise however 18:28 Taoki Oh, ok 18:28 Taoki Then I'll do it if I can read it in environment.cpp. But that I can't promise... will try still 18:32 F00 Would either of you mind testing my patch quickly? I'd like to see the next release have proper multi-line sign support. 18:34 Taoki Sorry, on my GIT branch and working on it. Can't tonight at least 18:34 Taoki PilzAdam: Bt "the sinking speed in liquids is way too slow", did you mean the speed by which you move in water (and sink with Shift), or the ambiental sinking when you stand still? 18:35 Taoki If it's the first, going up and down uses the same veolocity as moving horizontally 18:35 PilzAdam its when you standing still 18:35 PilzAdam s/standing/swimming 18:35 Taoki Ok. That one's meant to be slow, but if you wish I'll make it a little faster by default 18:37 Taoki Yeah... liquid_viscosity is only used around nodedef and map.cpp. I can't think of any good way to parse that to the client where physics are applied. So if that's ok I'm skipping that one but will add a TODO... it can be done later 18:38 PilzAdam Taoki, how is the bool in_liquid (or similiar) passed to this? 18:39 PilzAdam F00, done 18:39 Taoki erm... *looks* 18:39 Taoki Interesting... localplayer gets it from the nodemanager. That seems like I might be able to do it then :) 18:39 Taoki in_water = nodemgr->get(map.getNode(pp).getContent()).isLiquid(); 18:40 PilzAdam nodemgr->get(map.getNode(pp).getContent()).liquid_viscosity 18:41 Taoki Thanks, setting up the function and will try to compile that 18:41 F00 PilzAdam: Wrapping works for you? 18:41 PilzAdam F00, yea, I have pushed it upstream 18:41 Taoki PilzAdam: Also, does crouching underwater really happen? Looking at the code, that doesn't seem like it should 18:42 F00 I'm puzzled as to why it doesn't for ShadowNinja. I'm suspecting he's somehow not running the binary he's built. 18:42 F00 Anyhow, thanks. 18:42 PilzAdam how can this not work for anyone? 18:43 F00 That's my thought. 18:43 PilzAdam Taoki, yep, it does happen 18:43 PilzAdam just checked 18:43 Taoki ok. What happens in that case? The speed gets lower? 18:43 PilzAdam you dont sink anyomre 18:44 PilzAdam try it yourseld: walk on the ground of a sea and hold shift 18:44 Taoki Sneak key is meant to sink. When you hit a node you don't sink so you don't go through it 18:44 Taoki yeah, but you don't sink cuz you touch the ground 18:45 PilzAdam yea, but it blocks you even if you over the edge 18:45 PilzAdam like normal sneaking 18:45 Taoki Ahhh, you mean falling off nodes? 18:46 PilzAdam localplayer.cpp:162 add && !in_water 18:47 Taoki thanks, trying to get viscosity read then I'll fix that too 18:50 Taoki Ok this is weird. If I add anything in nodedef.h under "struct ContentFeatures" the file rollbackinterface.cpp fails to compile 18:51 PilzAdam why would you add anything to ContentFeatures? 18:52 Taoki PilzAdam: Look in nodedef.h line 245 for example (bool isLiquid() const{ ) - I need to add a function there to read viscisoty 18:52 Taoki Otherwise using liquid_viscosity like you suggested says that word isn't defined 18:52 Taoki nodemgr->get(map.getNode(pp).getContent()).liquid_viscosity 18:54 Taoki At least that's what it seems like to me, but isLiquid() is defined there (which is what environment.cpp uses to know the player is in water) 18:54 PilzAdam it works for me 18:55 Taoki Using "nodemgr->get(map.getNode(pp).getContent()).liquidViscosity" compiles for you? 18:55 Taoki erm, 18:55 Taoki nodemgr->get(map.getNode(pp).getContent()).liquid_viscosity 18:57 Taoki PilzAdam: I get this ---- error: ‘water_viscosity’ was not declared in this scope 18:57 Taoki For the line water_viscosity = nodemgr->get(map.getNode(pp).getContent()).liquidViscosity; 18:57 PilzAdam its "liquid", not "water" 18:57 Taoki oh 18:58 PilzAdam https://gist.github.com/PilzAdam/4772323 18:58 Taoki Thanks, will use that as a guide 18:59 PilzAdam oops, m_liquid_viscosity should be u8, not bool 18:59 Taoki I was using float 19:00 Taoki Is viscosity an integer or can it have decimals? 19:00 PilzAdam its u8 19:00 PilzAdam lua_api.txt says max = 7 19:01 Taoki Can I replace in_water and in_water_stable with in_liquid and in_liquid_stable for consistency? 19:01 PilzAdam why not? 19:02 PilzAdam "liquid" and "water" is mixed up everywhere in the code:-) 19:02 Taoki Yes, that's part of what was confusing 19:04 PilzAdam the engine doesnt really know if a liquid is water or not, since water is define in Lua 19:04 PilzAdam so you can see "water" in the core code as "liquid" 19:07 Taoki Weird, for water I seem to get a null value for viscosity 19:08 Taoki I'm trying to print it in errorstream to check its value, but it doesn't print anything, not even 0. I wonder if in minetest_game water doesn't have viscosity set 19:08 PilzAdam every liquid needs a viscosity != 0 19:09 PilzAdam otherwise it wouldnt flow 19:09 * PilzAdam tested everything in the Lua API :-) 19:12 Taoki I've no idea why my test shows 0 x.x 19:12 Taoki errorstream<<"!!!! "<liquid_viscosity<liquid_viscosity there 19:20 Taoki I think it sees 0 in water for some reason :/ 19:20 PilzAdam well, first its m_liquid_viscosity, 2nd: its private 19:20 PilzAdam you cant read it outside of localplayer.{cpp, h} 19:21 Taoki But I declared it exactly like in_water and in_water_stable, and those can be read there 19:21 PilzAdam can you show me the diff? 19:22 Taoki Compared to the last revision in my branch? I'll try to generate one 19:22 PilzAdam (if you havent used git add you can just do git diff without params to get the unstaged changes) 19:23 sfan5 i'm still waiting for this( https://github.com/celeron55/minetest/pull/458 ) to be merged 19:23 Taoki PilzAdam: Think I got it: http://pastebin.com/raw.php?i=0ZZKiiH7 19:26 Taoki Let me know if you can tell what's wrong in that diff 19:29 PilzAdam sfan5, done 19:29 sfan5 thanks, i can build minetestserver.exe on win now :) 19:30 PilzAdam Taoki, the reading isnt in the diff 19:30 PilzAdam (the errorstream line) 19:31 Taoki PilzAdam: I removed that, it wouldn't print any values for some reason. The line of interest now is d_wanted /= lplayer->liquid_viscosity; 19:32 Taoki For some reason that seems to attempt a division to 0 when in water 19:34 Taoki Actually it works. I messed around with water viscosity and it changed the water friction. Sweet :D 19:34 Taoki Need to use it the other way around though 19:34 Taoki The other things will be easy 19:34 PilzAdam finding bugs which dont exist is hard work :-) 19:35 Taoki Yeah, my bad there. Coding can get so complex even when you expect it's an easy task 19:36 PilzAdam btw: you use "water" instead of "liquid" in the comment about liquid_viscosity 19:38 PilzAdam strange, it seems to work the other way round 19:38 Taoki oh 19:38 PilzAdam now Im faster in lava 19:38 Taoki Yes, I'm changing that. The higher the viscosity value the slower you must be 19:39 Taoki So you need to multiply friction with it. But since that would be too slow, I'm making another value to decide how much viscosity affects friction 19:43 PilzAdam ummm.... when I stand still and turn fly mode on I cant move upwards 19:44 PilzAdam it only works with velocity.Y != 0 19:44 Taoki You should be able to with jump. I don't have that problem here 19:44 PilzAdam that needs to be fixed 19:44 PilzAdam VanessaE reported something similiar IIRC 19:44 Taoki I don't get that problem so I can't test it 19:46 Taoki When and how does it happen exactly? 19:46 PilzAdam if I switch to fly mode with no vertical velocity 19:47 PilzAdam (I have shift = descend and always_fly_fast = false) 19:48 Taoki Ok, will have to test that too 19:59 F00 Something I was wondering about 19:59 F00 Why are chunks stored when generated? 19:59 Taoki PilzAdam: Also, is it correct that I'm using writeF1000 to network the settings, considering they can all have decimals? Or is there a smaller way to network floats 19:59 PilzAdam they are called blocks or mapblocks in Minetest 19:59 PilzAdam chunk is Minecrafts name for it 19:59 F00 If somebody's just passing through and makes no changes, why not discard the generated data? 20:00 PilzAdam Taoki, I dont know much about networking 20:00 F00 By chunk I mean 16^3 blocks. AFAIK 'chunk' is used in lots of engine nomenclature? 20:00 Taoki ok, will leave it like that then 20:00 PilzAdam F00, http://dev.minetest.net/Terminology 20:01 PilzAdam Taoki, better ask celeron55 or so, changing this later could break compatibility 20:02 hmmmm floats are fine 20:02 F00 Anyhow, as to the substance of my question? :p 20:02 hmmmm map blocks are stored because generating them is rather slow 20:02 F00 It seems like it's a worthwhile trade-off to regenerate them in most cases. 20:03 F00 I was on Redcrab the other day and he must have a modification of some sort. Sent an automated notice about the map hitting 9 GB. 20:03 F00 Also, the storing of generated chunks has ruined my plans a bit. 20:03 hmmmm ....'plans'..? 20:04 F00 I wrote a little util that reimplements the Lua mapgen's nyan cat function as well as the engine-side PRNG for blockseed, etc. 20:05 F00 It lets me find Nyan cats, but only in areas generated by current mapgen 20:05 hmmmm you already have access to the core's PRNG through PseudoRandom() 20:06 F00 This is just a little hacky third-party util. Doesn't actually interface with Minetest at all. 20:08 F00 Anyhow, the "issue" is that people tend to wander randomly. So, an old map run on a current server will mostly have old-mapgen stuff near the surface, even if unmodified 20:10 F00 But on a non-cheaty level, I think it'd be useful to have save vs regenerate on demand be an option - I'm sure most public server operators would choose momentary CPU usage over continuous map bloat 20:10 hmmmm doing that would be an incredibly huge change to minetest 20:13 Taoki I wonder if f32 holds floats or just integers 20:13 Taoki Anyone know? 20:13 hmmmm why would you think it holds just integers? 20:15 Taoki No specific reason, just being sure :) 20:15 F00 How so? Are blocks not usually kept in memory or something? 20:15 hmmmm why can't you just look at where f32 is defined? 20:16 Taoki Not good at those things heh 20:16 Taoki But if it holds decimals I'll use that to network the settings 20:17 * VanessaE pokes Taoki ... just because. 20:17 hmmmm you might really want to get good at those things 20:17 Taoki hi :) 20:17 Taoki hmmmm: For now, can I ask if it's certain it holds decimals? 20:18 hmmmm no, you must look it up on your own 20:20 F00 Not being familiar with that part of the codebase, at a high level my desired behaviour would be something like: generate block -> send to client -> maybe cache on disk? (if so, unload from memory) -> if client doesn't make a change in that block "soon", discard from memory/disk/whatever 20:20 F00 It seems to me that the insistence on always storing what's generated is the primary cause of people bumping into 4 GB map sizes with SQLite 20:21 Taoki ok. Anyone else know? I can't calculate how numbers are stored in bytes to figure out if decimals are kept or not 20:21 PilzAdam F00, this sounds to me like the first step to only store things that are modified 20:21 F00 PilzAdam: Aye 20:22 F00 Oh, wait. 20:22 F00 Are you talking about a scheme in which only client-made modifications are stored on disk? 20:22 PilzAdam yea 20:23 F00 That would be great if generation were able to be sufficiently inexpensive 20:24 F00 I wonder what ends up being faster, typically 20:24 F00 Seek latency plus throughput speed of a HDD vs fresh generation 20:25 PilzAdam currently HDD 20:26 PilzAdam but the other thing could be nice goal for Minetest 20:29 RealBadAngel this imho would slow whole the game down. it means mapgen to be run continously 20:30 Taoki PilzAdam: I turned always_fly_fast to false and can't reproduce that bug. Going up with the Jump key always works in free_move mode 20:30 Taoki It's very weird you're getting the problem and I'm not 20:30 Taoki Even if I turn on free_move when standing perfectly still, and flying up is the first move I do 20:46 VanessaE Taoki: did you see where I mentioned that you can also toggle noclip off/on to get fly ot work? 20:46 VanessaE to* 20:47 hmmmm taoki, did you find out yet? 20:47 Taoki no 20:48 VanessaE Taoki: try signing onto my server and see how it behaves for you 20:48 hmmmm i'm just blown away that you don't know nor are you willing to find out an answer to such a fundamental question 20:48 VanessaE perhaps it's a multiplayer issue 20:48 Taoki VanessaE: Can't now, after I finish 20:48 VanessaE ok 20:48 hmmmm taoki, what's your coding setup? 20:48 Taoki hmmmm: It's not that mind-blowing that I can't calculate byte to number conversions... 20:52 hmmmm has nothing to do with calculating anything 21:05 Taoki From how it's working, d32 seems to hold decimals 21:05 Taoki **f32 21:06 hmmmm i still cannot understand what is preventing you from looking up where it's defined 21:06 hmmmm you don't even know how your own code works.. 21:07 Taoki IIRC f32 and other things like this are builtin c++ types 21:08 RealBadAngel shouldnt f32 be float 32-bit wide? 21:08 hmmmm you recalled wrong then 21:09 hmmmm you should at least know the language that much 21:09 doserj grep "typedef.*f32;" /usr/include/irrlicht/* 21:09 doserj /usr/include/irrlicht/irrTypes.h:typedef float f32; 21:09 doserj for gods sake 21:10 Taoki Nice, I needed tom look in the sources within a system path. I'm sorry you can't have expert developers who know everything 21:10 Taoki I get this pretty frequently. I try to do something with the little knowledge I have, then I'm given "Why can't you do -insert complex programming stuff here-?" 21:11 hmmmm if you think this is complex, i have some bad news for you 21:11 Taoki Yeah, I'm actually still LEARNING c++ as I work on minetest 21:11 Taoki Yeah, I have seen worse codes 21:12 Taoki MT is helping me learn C++ slowly. Don't need rough teachers smacking me in the head for it though 21:14 Taoki Then again, I'm probably either crazy or stupid. I got similar reactions on #c++ with questions like this. I asked something, got told something I couldn't understand, and when I tried to understand better everyone jumped me like I had some problem. 21:14 hmmmm have you heard people tell you "RAFB" often? 21:14 Taoki Don't remember what that one means :P 21:14 hmmmm well, it's sound advice. 21:18 Taoki Still makes no sense why some devs like to act like this when I don't understand things I'm expected too 21:18 Taoki It's not like I insulted anyone or committed any crime 21:21 Taoki Guess I gotta get used to it, and that this happens when working around expert coders :/ 21:22 Taoki Who are obviously, a lot smarter and can blast on noobs like us 21:26 thexyz f32 = 32-bit float 21:28 Taoki thanks / hail 21:29 thexyz it may hold decimals or may not 21:34 hmmmm well 21:35 hmmmm i guess there's nothing inherently wrong with learning how to code while writing things for minetest, but i have a feeling that your contributions ought to be extra-peer-reviewed 21:36 doserj and please don't call it decimals. floats don't store decimals. 21:36 Taoki ok 21:38 VanessaE but..but...the decimal point has to be stored somewhere! 21:40 F00 doserj: It's nice to think that floats offer a constant amount of precision 21:41 F00 But then, as every new programmer must, the unfortunate discovery comes about. "Why is this off by 0.00001?" 21:41 F00 And then you start reading about IEEE floating point and slowly go insane. 21:45 Taoki Nah... developers should know everything the moment they're born it seems 21:45 hmmmm you can't call yourself a developer if you don't know enough 21:46 Taoki I do think / hope I know enough to make the codes I'm working good. Those I seem to be good at, but there are some things that are just out of my range to understand 21:48 Taoki Never considered it a "sin" 22:46 Taoki VanessaE: Done. Pull my branch again, and let me know if the flying bug still happens. If it does I will join and try it as well 22:48 Taoki Latest commit also has viscosity working. But for lava it's very slow, you nearly can't move in it. Not sure if that will be accepted, since finding a good maths is difficult there 22:49 Taoki Anyway, let me know when your server is updated and if the fly issue is fixed. Like I said, I tried in several ways and couldn't reproduce it 22:50 Taoki Erm... wait. I think I'll amend my commit, might do something that could be related to the flying bug 22:50 Taoki Hold on... 23:05 Taoki VanessaE: Ready. Pull now... I fixed a problem which might have been the flying bug 23:10 Taoki Yeah... if it's what I think it was this should have surely fixed it. We need to test though 23:29 Taoki VanessaE: There is a different bug on your server it seems. touching_ground and / or gravity might not be updated properly sometimes. I'm stuck in the air, and whenever I re-connect I remain stuck as such. But I don't think it's related to my code, since even gravity doesn't happen any more and I didn't touch that in my branch (apart from making it a setting)