Time Nick Message 01:25 kahrl ugh... git diff|wc 01:25 kahrl 6018 18557 169140 01:26 kahrl I just cleaned up some code... 01:26 PilzAdam looks like fun 01:27 kahrl to be fair a lot of that was copy&paste, but still... 02:20 Exio4 kahrl: it is all your fault 02:20 Tesseract kahrl: git diff --shortstat 02:21 kahrl 77 files changed, 3615 insertions(+), 3743 deletions(-) 02:22 kahrl (wc is now at: 9194 29550 258584) 04:22 kahrl if anyone has nothing to do: https://github.com/kahrl/minetest/commit/3924f2b7625b113bf641cf9843f0342c948ce51c 04:23 VanessaE oof 04:23 VanessaE someone's been busy. 04:25 kahrl wait, that's the wrong commit, try: https://github.com/kahrl/minetest/commit/98194f4d5d61882d1cf45f356fd1f868651d51bc 04:25 VanessaE still huge :P 04:27 kahrl I believe if you disregard the boilerplate comments and code added by new header/source files it removes more code than it adds 04:28 kahrl (by making GUIEngine reuse the ScriptApi framework that's already in place for the game) 04:30 Tesseract GitHub hates mobile devices. Even their app has huge performance issues. 04:31 Tesseract kahrl: What about #862? It will take me far to long to do the 0.0.0.0, :: thing... 04:34 kahrl what was the problem with 862 again? 06:38 celeron55 wtf kahrl 06:38 celeron55 nobody is going to review that 06:38 celeron55 8D 06:39 hmmmm once thing i don't get is why you have two engine.logs 06:39 hmmmm s/once/one/ 06:41 kahrl hmmmm: in the docs? I copied that from lua_api.txt 06:42 celeron55 as random nitpicking, i hate calling functions "fct" 06:42 celeron55 "fn" and "function" and "func" are fine; "fct" is not 06:43 kahrl again, just copied that :P but I could change it 06:43 celeron55 i know 8) 06:43 hmmmm so wait, what's the purpose of this 06:43 hmmmm seems like some of it is just undoing what sapier did 06:43 celeron55 nobody can say anything meaningful about this unless you make a summary of what it does 06:44 kahrl celeron55: I have to sleep now but I will do tomorrow 06:44 kahrl hmmmm: what in particular? 06:44 hmmmm you're going to sleep tomorrow? excellent 06:44 hmmmm let's focus on this now 06:44 hmmmm ah, adding the lua_State parameter back to the script_* callbacks 06:44 kahrl :P 06:45 kahrl oh, you mean script_run_callbacks? 06:45 hmmmm yeah 06:46 kahrl I did that to make s_base.h smaller because it's included a bunch of times 06:46 kahrl and it's really an internal thing 06:46 kahrl (some of what I did there is remove unneeded includes and make include files smaller) 06:47 hmmmm that's always welcome 06:47 celeron55 i'll do a compile time benchmark 06:47 * kahrl dozes off 06:55 celeron55 with: 06:55 celeron55 real 5m20.484s 06:55 celeron55 user 9m5.074s 06:55 celeron55 sys 0m19.885s 07:01 celeron55 without: 07:01 celeron55 real 5m7.871s 07:01 celeron55 user 8m58.605s 07:01 celeron55 sys 0m18.199s 07:01 celeron55 it increases compile time a bit 07:02 celeron55 of course the main benefit in smaller headers is shortening of incremental compiles, but that's very hard to compare 07:02 hmmmm i say we keep all of minetest in a single .cpp file for maximum compile 07:02 celeron55 8)) 07:02 hmmmm and with clang it'd be zomgbbqfast 07:04 celeron55 anyway i got these warnings from kahrl's branch; i guess those could be fixed at the same time: http://paste.dy.fi/v6d 07:04 celeron55 they're once again just copied from the current code but anyway 07:06 celeron55 but it's good to acknowledge that assuming headers are kept as lightweight as possible, incremental compile times tend to be reversely proportional to the number of compile units, and total compile time tends to be proportional to the amount of compile units 07:07 celeron55 it isn't beneficial to go to either extreme 07:08 celeron55 actually, with bloated headers that becomes much more apparent 07:08 celeron55 ...but only when non-header stuff is modified 07:08 celeron55 with bloated headers a header modification is such a pain it's better to not even think about it 07:09 * celeron55 blah blah 07:09 celeron55 i'll go do something more productive than rant about obvious things -> 07:13 hmmmm mapgen.h has that problem 07:13 hmmmm gotta get around to fixing that sometime. 07:29 celeron55 (also in modern C++ development you basically just put everything in templated headers and then buy a supercomputer to compile it... it's insane)' 07:48 WilliamBundy Hello. 07:48 WilliamBundy Does anybody have any words of wisdom regarding modifying the physics of Minetest? 07:50 smoke_fumus WilliamBundy: garry's mod would be proud. 07:51 WilliamBundy smoke_fumus, Not that extreme. 07:52 WilliamBundy smoke_fumus, But I wouldn't be against trying to weld ODE or Bullet onto the engine 07:52 WilliamBundy smoke_fumus, if it was possible to make that work with the voxel setting. 07:53 smoke_fumus why bullet? go directly to physiX 07:54 WilliamBundy Is that open source now? 07:54 smoke_fumus nope its still propiretary, but nothing restricts you from using it as the component 07:55 WilliamBundy I wonder how good its linux support is. 07:55 * smoke_fumus shrugs 07:56 smoke_fumus ps3/360 supports it. some mac games work with it too. though i don't remember which ones 07:56 smoke_fumus arkham asylum to example 07:57 WilliamBundy I'd personally prefer to go with the open source ones, especially if the minetest source is under GPL 07:58 WilliamBundy But, yes, modifying the built-in physics of minetest. 07:59 celeron55 many are probably against any such thing, but in any case we only allow LGPL or more free libraries (GPL or proprietary won't be ever accepted) 08:00 WilliamBundy I'm sure ODE is under such a licence, Wolfire is using it in Overgrowth, a commercial release 08:00 celeron55 ODE is under BSD so that is fine license-wise 08:02 WilliamBundy It's a pretty drastic change though, any way you look at it. 08:03 * Taoki fully supports having physics in MT. Either BulletX or ODE... Bullet is more popular though 08:04 smoke_fumus popular doesn't mean good. 08:04 WilliamBundy I'd want to do tests before running with an implementation. 08:04 smoke_fumus Look at blender to example - overblown piece of crap. 08:05 WilliamBundy smoke_fumus, or: free modeling software! Now I don't have to shell thousands on commercial ones! 08:05 smoke_fumus WilliamBundy: ....wings 3d? 08:06 smoke_fumus besides - stop being cheap skunk. 3dsmax has self-educational student license, it has per-project licensing and it has subscription licensing, not only prime buying price 08:07 smoke_fumus but back to free ones. In wings 3d you are shaping clay with fingers. In blender you shaping clay too. With the friggin fork. 08:08 smoke_fumus which also needs to open its teeth through dozen of shortcuts 08:08 kaeza wtf 08:08 WilliamBundy Didn't know about Wings. Haven't used/seen/tried 3dsmax, nor have I had to do 3d modeling. 08:09 smoke_fumus you see? 08:09 smoke_fumus popular does not mean good 08:09 smoke_fumus http://www.wings3d.com/ 08:09 WilliamBundy Windows, OSX, and Ubuntu should be prime examples of that. 08:10 * smoke_fumus shrugs 08:10 smoke_fumus well, what are you offering as a replacement for most used system? 08:10 WilliamBundy Not to mention Vanilla Minecraft, Halo4+, Call Of Duty 5+, Skyrim, etc. 08:10 WilliamBundy For physics? There's a bunch of smaller ones which I've come across 08:10 WilliamBundy Whose names I can vaguely remember 08:10 smoke_fumus pfft. uhuh. cod and skyrim might've accmulated users yes. Not as big of an audience like for, say Doom2 08:10 smoke_fumus in total i mean 08:11 WilliamBundy Now we're edging into differing definitions of popularity. 08:11 smoke_fumus Timed waves > point splash 08:12 WilliamBundy There are usually good reasons to go with the most popular choice in programming/development circumstances 08:12 WilliamBundy I'm no fan of C++, but lots of people use it, which means I have to learn it. 08:12 smoke_fumus or, well - you know - most of people are cheap skunks which don't see good software behind their own greed 08:13 smoke_fumus also again - 3dsmax self-educational license is completely free on condition that you will use it only for non-commercial works 08:13 smoke_fumus which in your case - is fine 08:13 WilliamBundy It's not greed when the marginal value of the time wasted is less than the cost of the better software 08:15 WilliamBundy Back to what I wanted help with, the physics code looks like it's spread out over player, localplayer, collision and environment 08:15 celeron55 smoke_fumus: in fact it's not possible to include anything restricted to "non-commercial" in minetest 08:16 smoke_fumus celeron55: you don't charge a penny for minetest 08:16 smoke_fumus it is non-commercial 08:16 WilliamBundy But I could make a game for it, and sell it. 08:16 smoke_fumus AD from site doesn't count as they doesn't restrict model delivery to customer 08:16 celeron55 our releases are under LGPL and CC BY-SA, which mean they can be used for any commercial purpose if wanted 08:16 smoke_fumus yeap, and you will break license 08:16 Calinou Minetest is FOSS, and thus ability to use it commercially is a requirement 08:16 WilliamBundy So long as I released my changes. 08:17 WilliamBundy smoke_fumus, No, not at all. 08:17 celeron55 any license that disallows commercial usage is incompatible 08:17 smoke_fumus celeron55: then you should point out in license agreement that some of the parts of game are CC BY-SA but models are non-commertical CC-NC 08:17 smoke_fumus that will do it 08:17 WilliamBundy celeron55, This is for source inclusion in core? 08:18 celeron55 yeah and that'd blow right through of our values 08:18 smoke_fumus no it will not 08:18 smoke_fumus it will be basic undestanding of law 08:18 celeron55 you can make a separate game that is licensed in whatever way you like of course 08:18 WilliamBundy So long as modifications to your code are released. 08:18 smoke_fumus that will break license too. you are the dev - you point out what licensed under what 08:19 smoke_fumus if they change license from lgpl - they break it 08:19 smoke_fumus its their own damn problems 08:19 smoke_fumus same with CC-NC 08:19 WilliamBundy smoke_fumus, Dual licencing: you choose the licence 08:19 smoke_fumus you responsibilities lie behind YOUR part of contibution to the project 08:19 WilliamBundy LGPL: any changes made to this code must be released, may be compiled with GPL-INcompatible libraries 08:20 smoke_fumus if some jackass will download source, and release it along witn models - you and autodesk can sue him 08:20 smoke_fumus for the model use specifically 08:20 kaeza ... 08:20 celeron55 smoke_fumus: we don't do things like that; that'd be just plain dicky 08:21 smoke_fumus No, that will be fair 08:21 smoke_fumus he read license agreement 08:21 smoke_fumus models were pointed out as CC-NC 08:21 smoke_fumus his ass is busted now. Case closed. 08:21 WilliamBundy smoke_fumus, Have you read the GPL and LGPL? 08:22 smoke_fumus WilliamBundy: i'm talking about the case where you release say mintest with CC BY-SA but IN license agreement point out that MODELS are CC-NC and reusing them for commercial purpose would be illegal 08:22 smoke_fumus since they are created on non-commercial license of 3dsmax 08:22 smoke_fumus once jackass uses em to make a $ - you lay a lawsuit on his ass 08:22 smoke_fumus since he broke user agreement 08:23 smoke_fumus if you wish to do that before autodesk i mean :D 08:23 WilliamBundy Why would you want proper 3d models in a big-voxel game? 08:23 smoke_fumus but if HE uses these models which YOU released under CC-NC - you held no responsibility for HIS actions 08:23 smoke_fumus just saying 08:23 WilliamBundy celeron55, It's nice to see a community that embraces the openness of their source/game 08:23 celeron55 when a release of minetest is made, part of the release is the licenses that we use; it's inseparable from what is released and it's part of our product, and part of what our users appreciate 08:24 smoke_fumus no, your users mainly appreciate gameplay and having a good time with product :D 08:24 WilliamBundy smoke_fumus, yeah, but then he'd be stupid (not having done his homework), and would only be liable to be sued by the makers of 3dsmax or whoever found out. 08:25 WilliamBundy *if the found out 08:25 smoke_fumus WilliamBundy: i know. i just saying that you CAN. doesn't mean that you SHOULD. 08:25 celeron55 smoke_fumus: even if they don't directly appreciate it, they appreciate some results of the community that it creates 08:25 smoke_fumus i agree on that 08:27 celeron55 of course it's inefficient if you just look at the direct end result; nobody can argue with that; but it simply isn't the only priority here 08:28 WilliamBundy What does BS stand for in the source? 08:28 celeron55 https://github.com/minetest/minetest/blob/master/src/constants.h#L66 08:29 WilliamBundy Didn't know where to look, thanks. 08:29 Taoki What does BS stand for in the source? - Code that's considered bulls**t :P 08:30 Taoki J/K... dunno what myself 08:30 smoke_fumus :D 08:30 smoke_fumus search google code by //* fuck or something like that 08:30 smoke_fumus you would be surprised xD 08:30 WilliamBundy Tilesize, essentially, making sure you're not breaking stuff with float/int conversions. 08:31 smoke_fumus WilliamBundy: so, in minetest, does tilesize IS 1 standard opengl unit which is 1m? 08:31 celeron55 (dunno if it makes more harm than good, but it's there and it's also embedded in all network/file formats so it's practically impossible get rid of it) 08:32 WilliamBundy I don't think it's very important, overall, I was just wondering why it was there. 08:32 smoke_fumus standardizing your inputs. certanly more good, except if you expect .RAW files. than you will need ugly import construction with rescaling 08:33 smoke_fumus *then 08:35 WilliamBundy Right now I'm most intent on making the movement feel more satisfying/realistic 08:35 WilliamBundy Not really realistic, but believable. 08:36 Taoki What I'd love to see physics for are dropped items and ragdoll deaths for dead mobs / players 08:36 Taoki Yes, we can and should have ragdolls for something like Minetest :) 08:36 Taoki Oh, and perhaps to make mined blocks drop in pieces... that too of course 08:36 WilliamBundy I'd like to see blocks drop from broken nodes, but that's beyond me at this point. 08:37 WilliamBundy First I'd like to make jumping feel more parabolic 08:37 Taoki Yes. Imagine that instead of particles when breaking a node (or alongside them), a the block drops down in cracks that roll around the ground 08:38 WilliamBundy That not only sounds difficult and time consuming, but also annoying gameplay-wise 08:39 Taoki I think it would look very nice 08:40 Taoki Can be small pieces to not be confusing 08:40 WilliamBundy Oh, and another question: what's the theoretical limit of world-size in minetest? It seems to use something similar to cubic chunks (minecraft mod), so, greater than 65000x65000x65000? 08:40 WilliamBundy Taoki, I don't understand the effect you're going for 08:41 Taoki WilliamBundy: Mined blocks breaking and falling to pieces with realistic physics 08:43 WilliamBundy At what density then? Usually, the texels are 1/16m, which would mean creating 32768 cubes 08:44 WilliamBundy for all of them. 08:44 Taoki Or, we can just have the dropped item fall (like in Minecraft) only with Bullet / ODE physics instead 08:44 Taoki Yeah, that is a good question 08:44 WilliamBundy The idea behind those are that they'd be opened up to lua 08:44 Taoki Prolly best to have the item drop like in MC. But again, with real physics in our case 08:44 Taoki sure 08:45 WilliamBundy So map/game makers, could include complicated physics things in their games 08:45 VanessaE technic has that, and it works fairly well 08:45 Taoki Anyway, someone with enough experience should test and see which works best (BulletX or ODE) 08:45 Taoki yes 08:45 Taoki If they're added however, they should allow both physical dropped objects, as well as armature ragdolls. 08:45 WilliamBundy VanessaE, You mean minecraft-style falling blocks? 08:45 Taoki Imagine sheep ragdolling down the blocky hills when you hit them :) Or sand monsters, etc 08:46 Taoki So... awesome 08:46 VanessaE yup 08:46 Taoki Yes, Technic has those 08:46 VanessaE they don't fall to pieces like you guys were discussing 08:46 WilliamBundy VanessaE, I think the falling item-block mechanic is one of the coolest subfeatures of minecraft 08:47 WilliamBundy Very satisfying in the alpha versions to pick up 50 things at once and hear all of the little pops as they appear in your inventory 08:47 VanessaE but if they fall, they can be made to fall to pieces too I'd think (fake it with a few randomly-chosen, large meshes that look like scattered pieces) 08:47 Taoki Mods would allow that yes 08:47 WilliamBundy If we're going that far with the physics, it might just be better to treat each block as a collection of fragments 08:47 WilliamBundy And breaking them bit by bit with every strike 08:48 WilliamBundy once ~60% are broken, one last strike breaks the rest. 08:48 Taoki Would be even more awesome :) 08:48 WilliamBundy But that wasn't my intention with the addition of a middleware physics engine. 08:48 Taoki Yeah, that would be a separate feature 08:49 WilliamBundy For cycles burned and programmer time used v. gameplay additions, I don't think it's worth it until we get better computers 08:50 VanessaE WilliamBundy: almost sounds like that request I made sometime back for persistent node damage 08:51 WilliamBundy Mostly, I'd like to see it used for mechanical power systems, entities, and the occasional effect. 08:52 WilliamBundy VanessaE, would be an interesting game mode for modders to use 08:52 WilliamBundy I can imagine it having lots of uses in a combat game 08:52 WilliamBundy A per-node setting. 08:53 Taoki Anway, as far as physics go, the important part is someone with the skill and knowledge to integrate ODE or BulletX into Minetest, and allow the LUA API to enable it on entities. 08:53 WilliamBundy Taoki, First things first, adding hooks to existing physics in Minetest 08:53 WilliamBundy Even more first things first: figuring out where the physics is and how it works. 08:54 Calinou "ODE" as if it wasn't terrible 08:54 WilliamBundy Calinou, I have no experience with it, I just know that it exists. 08:54 Taoki There should probable be a set_physics function with balues such as: 0 = default simple physics (currently used for thrown items), 1 = BulletX physics, 3 = BulletX physics + armature ragdolls (if that entity is set to a rigged mesh, such as b3d or x) 08:54 Calinou bullet is probably a better choice 08:54 Taoki **values 08:54 WilliamBundy Calinou, agreed. 08:54 Taoki Erm 2 not 3 08:54 Taoki Yes, agreed too 08:54 WilliamBundy Taoki, don't get ahead of yourself. 08:55 Taoki ODE is nice but Bullet seems more firmly developed and common 08:55 Calinou ODE: every game implementing it has a terrible and buggy implementation 08:55 Calinou bullet: it works 08:55 WilliamBundy Overgrowth? 08:55 Taoki Calinou: Years ago when I tried it in opensim, Bullet looked worse than ODE. But both were fine 08:56 WilliamBundy Anyway, this isn't a feature I'd consider until the UX/basic gameplay is at minecraft levels of polish. 08:57 WilliamBundy Part of the big attraction of minecraft to modders/devs is the amount of stuff it does for you 08:57 WilliamBundy Animations, default menus, extensible systems 09:16 WilliamBundy Does the player have a real velocity property? or just speed, reset every frame on input? I can't find where the integration happens, so I don't know exactly what it does. 10:42 WilliamBundy With a newfound, though elementary, understanding of the movement code, my wtf/min are over 9000. 11:10 WilliamBundy Modifying other people's code is like playing old adventure games. 11:17 celeron55 this code has been evolving continuously for three years, so there's all kinds of stuff to be found 8) 11:18 WilliamBundy I've managed to minimally add something that fixes my pains with jumping/moving, but I'm beginning to think that strapping bullet on is a good idea. 11:19 WilliamBundy I'll tease my changes into a pull request on github, if that's alright with you 11:22 kaeza putting a Bullet in Minetest's HEAD seems a bit extreme 11:23 kaeza 11:23 WilliamBundy What about it's trunk? 11:23 WilliamBundy (is that worse?) 11:26 celeron55 that means the same thing but in subversion's terms 11:27 celeron55 good pun though actually, though 8) 11:27 celeron55 -though 11:27 WilliamBundy I've never used subversion 11:27 WilliamBundy Thankfully. 12:01 WilliamBundy Is it planned to add minecraft-style block-dropping (rotating cubes) to minetest_game? 12:01 sfan5 there are rotating cubes 12:01 WilliamBundy Not by default? 12:01 sfan5 but some mods still define some property in node defs that makes them not appear cubic 12:01 sfan5 ... 12:01 Calinou you can drop them, but stuff mined directly goes into inventory. 12:02 Calinou this is a feature, not a bug. 12:02 Calinou there's no fun in having to collect stuff you mine, tbh 12:02 sfan5 it was inventoryimage 12:02 WilliamBundy Ah, that was always a feature I liked so 12:02 Calinou there are mods for that 12:02 sfan5 if there is no inventory image defined they will look cubic when dropped, otherwise flat 12:02 WilliamBundy sfan5, after being mined 12:03 * sfan5 points at what Calinou said 12:03 WilliamBundy Yes, I know. 12:30 Calinou https://github.com/minetest/minetest/pull/866 12:30 Calinou inb4 refusal 12:30 Calinou WilliamBundy: there used to be less friction, this is no longer the case :P 12:30 WilliamBundy In the air? 12:31 WilliamBundy It feels pretty subtle to me. 12:31 WilliamBundy I remember playing a version wayback when you floated everywhere (it felt like) 12:33 WilliamBundy Would you prefer I rewrite the description telling of the immersion breaking jarring stop the player would come to? 12:40 Exio4 what's up with the minetest.conf settings for movement_damping_ground and movement_damping_air? 12:43 WilliamBundy If I say "What settings?" are you going to reply: "Exactly." 12:43 WilliamBundy *? 12:43 Exio4 nah :P 12:43 Exio4 https://github.com/minetest/minetest/blob/master/minetest.conf.example#L320 12:43 Exio4 like those, plus the thing of they being managed by the server, not a client-side setting 12:46 WilliamBundy Let me look at the headers 12:47 WilliamBundy The movement code is only in LocalPlayr 12:47 WilliamBundy LocalPlayer* 12:48 WilliamBundy I'm assuming that the server must have a copy of that too 12:48 Exio4 as far as i know, those settings are "managed" by the server, and the client just uses the ones that the server sends (or fallbacks to the defaults) 12:49 Exio4 there isn't any "fly protection" right now 12:49 WilliamBundy Settings-wise? All of those are constants in the code, which don't appear to be set by anythin.g 12:49 Exio4 WilliamBundy: those settings in server's minetest.conf .. 12:50 WilliamBundy # By default, all the settings are commented and not functional. 12:50 WilliamBundy Does that mean they don't work at all? or aren't used? 12:50 Exio4 that is the .example 12:50 Exio4 look at defaultsettings.cpp 12:52 WilliamBundy I don't know what to say. Looks like lazy design/incomplete implementation 12:53 WilliamBundy DRY violation 12:55 Exio4 would you use doxygen for generating the configuration example? 12:55 Exio4 good idea! 12:55 WilliamBundy Not that, in player.cpp 12:56 WilliamBundy I'm trying to find where these get set, if not in the constructor 12:56 WilliamBundy / Initialize movement settings at default values, so movement can work if the server fails to send them 12:57 WilliamBundy Wouldn't it be better to have a copy of the default settings on hand and draw them from there? 13:08 PilzAdam WilliamBundy, seems like you dont understand our config system 13:09 WilliamBundy PilzAdam: Not yet, at least. 13:09 WilliamBundy More and more by the second. 13:10 PilzAdam defaultsettings.cpp contains the default values for settings that are needed by the engine; minetest.conf overrides these settings 13:10 PilzAdam minetest.conf.example has nothing to do with this, this file is only for documentation 13:10 WilliamBundy PilzAdam, I was looking for how it was all hooked together 13:11 PilzAdam in case of the player physics the server has the settings and sends it to the client 13:11 PilzAdam the settings in player.cpp are just fallback defaults in case the server doesnt send them (for some reason) 13:12 WilliamBundy They're actually set in the client.cpp file under TOCLIENT_MOVEMENT 13:12 PilzAdam yep 13:13 WilliamBundy A simple fix? 13:14 WilliamBundy add the stuff in defaultsettings, add a few lines to Server:SendMovement, and add a few lines to client. 13:14 PilzAdam basically that 13:14 PilzAdam but it requires a protocol version bump 13:15 PilzAdam for now just read it in a try-catch block in the client 13:15 PilzAdam so it doesnt crash if a new client connects to an old server 13:17 WilliamBundy what should I catch for? 13:17 PilzAdam SerializationError 13:18 WilliamBundy Are clients supposed to be backwards compatible like that? 13:18 PilzAdam yes 13:20 PilzAdam btw, we plan to implement node-specific friction, does this conflict with your changes? 13:20 WilliamBundy It shouldn't. 13:21 WilliamBundy That was something I was going to look into doing myself. 13:21 WilliamBundy Depending on how you choose to implement friction, my changes are a base for that. 13:23 PilzAdam so basically doing this in server side settings would be wrong, we should move it to nodedef from the beginning on 13:25 WilliamBundy I don't think so. 13:27 WilliamBundy What happens in the default code is, when the player stops pressing a key, the target speed becomes zero 13:27 PilzAdam first adding setttings and changing the protocol, and then later moving these settings to nodedef and changing protocol again doesnt seem good to me 13:28 WilliamBundy Maybe the ground_damping part of it, but air damping might well be system-wide 13:28 PilzAdam well, air is hardcoded in the core anyway 13:30 WilliamBundy This changes it so that the target speed becomes a fraction of the previous speed, based on a damping value if no key was pressed. 13:30 WilliamBundy So, actually, this is all to do with stopping motion, not resisting it. 13:31 WilliamBundy Friction would have to change the speed while the key is pressed down. 13:31 celeron55 why would you do that 13:31 WilliamBundy Target speed under high friction is slower than under low friction 13:32 celeron55 what does friction have to do with speed 13:32 WilliamBundy friction is a force that opposes motion 13:32 celeron55 eh 13:32 WilliamBundy So, the net force is lower 13:33 WilliamBundy therefore the max speed is lower 13:33 celeron55 i guess i won't know what you're actually doing until you have made it 13:33 WilliamBundy What you probably want is max max speeds mapped to nodedefs 13:33 WilliamBundy I guess the "basic" version of the damping fix is already a pull request 13:34 WilliamBundy It's not hooked into the settings, but it may not need to be. 13:35 WilliamBundy Technically, in a game like this, we aren't implementing friction (for players at least, for entities it might be different), but more like difficulty moving through terrain 13:58 celeron55 to talk on this high a level, i must mention that if walking in some places is made slower, then walking in some other places must be made faster 13:59 celeron55 otherwise it averages at too boring 13:59 celeron55 that's much of personal preference i guess though 14:11 WilliamBundy The Better Than Wolves mod for minecraft implements this already 14:11 WilliamBundy Though he added it to add incentive to road building. 14:12 WilliamBundy In fact I'd call that mod a model for survival-type games 14:12 WilliamBundy But I imagine FlowerChild would have a fit about that. 14:16 WilliamBundy He changes it so that walking on stone, cobblestone, gravel, bricks, wood and some other ones is faster 14:17 WilliamBundy Walking on grass/dirt is normal speed (or slower) 14:17 WilliamBundy tall grass, snow, sand, leaves and some others are way slower 14:31 harrison i was conceived at 14:31 harrison Woodstock 14:31 harrison in the back of a VW microbus 14:31 harrison and raised in an anarchist commune 14:31 harrison by wolves 14:31 harrison with tiedyed fur 14:33 WilliamBundy and? 14:40 harrison I no longer consider myself an anarchist. 14:41 harrison Code testers needed for new renderer. Must have desktop i7 or better. 14:43 WilliamBundy anomie is pretty terrible, but I think I could get used to anarchy. 14:47 kaeza darkrose, https://dl.dropboxusercontent.com/u/100008207/screenshot_1842826857.jpg 14:48 kaeza can you see those stripes in the leaves? 14:50 sfan5 ^ z-fighting 14:51 darkrose yeah, wierd... you've got new style leaves (or whatever it is) turned off too 14:51 kaeza yup, I don't like it 14:51 kaeza (+ no smooth lighting 14:51 kaeza ) 14:52 darkrose yeah, can reproduce, probably removed something I shouldn't have :D 14:53 kaeza ah well, it ain't so bad after all 14:53 kaeza maybe I should open an issue/whatever on gitorious? 15:00 celeron55 by the way, how can you use gitorious? for all i've tried to do there, it's worse than anything 15:00 celeron55 github and bitbucket are bad enough 15:01 sfan5 github is bad? 15:02 darkrose my only gripe with gitorious is it's lack of issue tracker... or extremely well hidden one if it is there 15:03 celeron55 sfan5: well, github and bitbucket are the best out there, so maybe it's a bit unfair to call them bad... but it's not like there's nothing to improve 15:03 sfan5 gitorious is really hard to use 15:47 thexyz gitlab is good 15:47 thexyz if you need self-hosted one 16:14 troller dirt_with_snow remover and weather stuff: https://github.com/proller/minetest/commit/b5a7b15c89bc0a36acec94c8a7454fd6fb5a9958 16:23 Exio4 you are doing the same thing that happened with finite_liquids 16:24 troller happened what? 16:24 PilzAdam its kinda funny how everyone tells you to develop it in a seperate branch and you simply ignore that 16:25 troller i'm develop it in a separate branch and want to merge working things to master 16:28 troller and this ^^ fixes forever staying dirt_with_snow after snow removing 16:29 Exio4 you should have develop the 'whole weather feature set' and complete the TODO before pushing it to upstream 16:29 Exio4 that is why branches are here 16:30 troller and never push it to upstream because all features needs 1-2 years? 16:30 troller or more 16:32 Exio4 you are making a change now, a fix the other week 16:32 Exio4 and a new feature the other 16:36 troller who write ideal code and never fix it? 16:36 Exio4 you write unfinished code and push it to upstream 16:36 Exio4 it is different. 16:37 troller i write finished small chunks 16:38 troller some problems can occur after months of testing 16:38 PilzAdam thats the problem, we dont want you to make small chunks 16:39 PilzAdam nobody can see what goal you are aiming at, and its hard to judge if these things are good or not if you dont see the context 16:40 troller and nobody will allow one big chunk 16:40 troller my goal - interesting dynamic world 16:41 PilzAdam well, if you think that your patch would never be merged then you probably work on the wrong feature 16:44 troller nobody here wants big changes 16:45 PilzAdam what makes you think that? 16:46 troller experience of merging not big patches 16:57 celeron55 it's a tough problem really 16:58 celeron55 or, actually 17:01 celeron55 well think of it this way: nobody will allow these small broken chunks 17:01 celeron55 so a big working chunk is better 17:01 celeron55 also, if you'd rebase your work as often as you currently push it, you woudln't have rebase problems 17:01 celeron55 wouldn't* 17:02 celeron55 the only problem that exists is forming some kind of trust between others and your work; i'd recommend working with some of the windows packagers to build test versions of your branch 17:05 celeron55 we don't want to give you a way to hide a bad end result or bad performance or anything behind small creepy patches 17:06 celeron55 you don't have a track record of doing good code and the right things; it's just a fact that you need to swallow 17:10 hmmmm like the random version changes for no other reason than to support something *in the future* 17:10 hmmmm "useful for debugging", "some mods can use it now" - really..? 17:10 hmmmm useful for whose debugging 17:11 hmmmm i don't know, maybe i should start paying closer attention and scrutinizing pull requests closer anymore 17:11 hmmmm s/closer/more/ 17:13 hmmmm i'll admit maybe it's my fault all this happened, because i unconsciously thought someone else would point out problems and other weird things with the pull requests 17:14 hmmmm pull requests, requests to push, whatever 17:16 PilzAdam I wonder who actually agreed to push the weather stuff 17:23 celeron55 me i guess, but this isn't going really how i thought it'd go 17:24 celeron55 this is a problem because *all* of what we have done in the past is just improving what we have had 17:24 celeron55 weather is something we *haven't* had 17:24 celeron55 so first of all, nobody wants to even talk about it 17:24 celeron55 that's not a good ground to do reasons on 17:25 celeron55 umm... i mean, decisions 17:26 celeron55 it could be very bad for the long term to say "no more features", altough it's easy for the core devs at the current moment 17:26 celeron55 that's why everyone should speak up about it 17:30 celeron55 and ultimately there should be a decision whether it will be merged if it is executed reasonably well 17:31 celeron55 if there is not, at least i am disappointed (and obviously proller is) 17:34 celeron55 i could even use not answering something well argued to this issue as a reason for voting towards taking away core dev statuses, because having too many naysayers is definitely poisonous (however, those are tough decisions as it's a very slippy slope between too much badly coded hasty features and too much conservatism) 17:34 harrison make me a core dev! we can switch to raytraced voxels! 17:35 celeron55 *inserts harrison into the imaginary "hell no, never" list* 17:35 Jordach haha 17:36 harrison i thought you would say that 17:36 harrison celeron55 what cpu do you dev on? 17:36 * sfan5 bets on an Intel Celeron 17:36 celeron55 doesn't sound like anything relevant 17:37 harrison you are just insecure. i have that effect on some people. this is your house so i will pipe down before being asked. 17:40 sullome Hello everybody. Is someone working on chat now? 17:43 hmmmm you know, Celeron G1610s are great bang-for-the-buck processors 17:44 hmmmm celeron, how much of a problem do you think it'll create if we revert the entire weather thing? 17:45 hmmmm i really want to get 0.4.8 going like asap but there are too many unfinished things that just don't qualify as "stable" at all 17:46 PilzAdam hmmmm, your schematic change needs to go in before 0.4.8 since it changes the API 17:46 PilzAdam and we dont want to change the API of stable releases 17:46 hmmmm pilzadam, i'm still trying to figure out if it's a good idea to change it or not 17:46 PilzAdam sullome, what do you mean "working on chat"? 17:46 hmmmm but the thing is, once we get 0.4.8 out, we can start doing the faster release model and people won't rely on upstream as much 17:46 hmmmm as it'd be easier to break things without ill consequence 17:46 celeron55 it can't be reverted completely in the strict meaning of that word (we're not dropping support for reading map version 26 as 25), but otherwise it wouldn't be too much of a problem i guess 17:46 celeron55 a political problem it could be though 17:47 hmmmm technically speaking, if things break in between versions then it's their fault for using something completely unstable 17:47 hmmmm so we'd have much more freedom in that regard 17:47 hmmmm and from now on 17:47 hmmmm big features NEED to be fully developed into something useful in their own branch BEFORE pushing to upstream 17:47 celeron55 that wouldn't make any sense because people have run worlds for a long time with possibly some version 26 stuff 17:48 celeron55 we can't require those to revert to weeks old backups 17:48 hmmmm like with voxelmanip and schematics and crap like that... those were all done in one go, and it worked out relatively painless (until people wanted me to tack shit on top of the schematics anyway) 17:48 celeron55 and yes, this serves as a proof that big features should be developed to useful stage between going upstream 17:49 celeron55 before* 17:50 hmmmm come 0.4.8, can we add an explicit disclaimer that we aren't responsible for screwups that happen as a result of using unstable versions? the freedom to change things between versions is very important 17:51 hmmmm so then if something didn't work out like the weather, we don't require hacks for things that never even officially made it in the first place 17:51 hmmmm and schematic api as well 17:52 celeron55 it would create a problem 17:52 celeron55 the problem that the code would get way less testing 17:52 sullome PilzAdam, (maybe my bad english) 17:52 sullome Now: client type message, and then it show in chat. register_on_chat_send() in LUA don't overwrite default message processing, it just do something else. (Maybe I'm not right, I don't know.) 17:52 sullome And I think, that this is bad. If I want to do (?) a local chat on my server, I can't do it by mods! If there is a way to disable default message processing, it would be better. 17:52 sullome (Again, sorry for bad english) 17:52 hmmmm (sorry for the bad lag) 17:52 celeron55 currently we have community-run servers that run git head that make the code go through very real-world testing 17:53 celeron55 and regular unstable builds that do the same thing 17:54 PilzAdam sullome, the Lua function can override the default processing, but it cant disable that the client who has send it doesnt put it into his chat 17:54 celeron55 it's not reasonable to move to a different development model unless some kind of a flag is added to worlds that make minetest ask users whether they want to potentially break it infinitely and that they require backups; or something similar so that there's less chance that people break stuff accidentally 17:54 hmmmm like in FreeBSD, *practically nobody but developers* uses -CURRENT in the real world at all, and yet it somehow has a reputation of almost completely bugfree upon release 17:55 hmmmm but then again i guess that's more doable because they have way more developers 17:55 celeron55 they also don't advertise features in the midway of development and don't have end-user application developers (modders to us) that immediately use every kernel and system library feature when they can get their hands on them 17:56 celeron55 there are many reasons why you're talking about a relatively large change to our culture 17:57 celeron55 a workaround could be to switch development to a new real-unstable branch if that is desired 17:57 celeron55 and then put enough bells and horns in the way of people getting it 17:57 hmmmm well i think that's stupid because it merely centralizes instability instead of people just developing features in their own branches 17:57 celeron55 it's been actually done before in MT's history 17:57 celeron55 the need for it tends to be periodical 17:57 sullome PilzAdam, Lua function can? Err... please, tell me how. I made a simple mod for testing... 17:57 sullome minetest.register_on_chat_message(function(name, message) 17:57 sullome minetest.chat_send_all(name .. " send a message!") 17:57 sullome end) 17:57 sullome And it's not work. Default processing still.... runs (?). 17:58 celeron55 sullome: don't talk about modding in here 17:58 hmmmm sullome, sounds like a modding problem, should probably discuss it in #minetest for better responses 17:58 celeron55 go to #minetest or #minetest-mods or something 17:58 sfan5 sullome: try adding "return true" 17:58 sullome Sorry 17:58 sullome Thanks 18:00 hmmmm but anyway 18:00 hmmmm having a super unstable branch, i suppose, would be needed if more than one person is working on a huge new feature 18:00 hmmmm we should write all of this procedure down actually 18:01 hmmmm one person working on a new feature -> personal branch 18:01 hmmmm multiple people working on a really huge new feature -> minetest repo branch 18:04 celeron55 when has the second one even last happened 18:05 hmmmm i guess lua's introduction? before me, of course 18:05 hmmmm and i'm thinking we'd need to use it again for 0.5.x 18:09 celeron55 it looks like a "next" branch was used when 0.4.0 was being made 18:09 celeron55 when moving from 0.4.dev-* to that, i mean 18:12 celeron55 there's really nothing like that going on currently so whatever, it shouldn't really be needed... except if weather is going to be developed as a non-personal thing 18:14 hmmmm no, no, weather is a personal thing definitely. i'm saying this next branch is what we'd use for 0.5.x.. you know, *that*. 18:14 celeron55 yeah i get that 18:18 hmmmm so, er, i need more feedback on the schematic version change before i do it, because this *will* break things for people and it's important that it's the right decision 18:19 hmmmm the thread on the forums didn't really work out as you can tell 18:19 hmmmm i'd also have to use a modified version of readnode to read raw schematic data, one that sets param1 to 0xFF by default instead of 0 but i fear that this is inconsistent 18:21 celeron55 i don't really want to get myself involved with the schematic thing; you should be able to handle it by yourself 18:21 hmmmm the specifics of what would need to be changed are in that thread, https://forum.minetest.net/viewtopic.php?id=6808 so seriously, any feedback? i really wonder if this is worth it. i've also learned my lesson that tacking on ugly features for reverse compatibility when it's still somewhat early is a bad idea. 18:21 celeron55 it's probably easier to do it in a more compatible way than you think though 18:22 hmmmm i know how to do it in a more compatible way, just fix up the values they give for the schematics. but that adds cruft 18:22 celeron55 well if you're determined to stick with it, commit it already 18:22 celeron55 every minute makes it worse 18:23 celeron55 but breaking compatibility without valid enough reason doesn't make people happy anyway 18:24 hmmmm if we keep adding workarounds for every change, we'll end up like windows 18:24 celeron55 you can add a wrapper to builtin/deprecated.lua with a date in comments when it should be removed 18:24 celeron55 and loud error loggings 18:25 hmmmm i could, but the modders who wrote things using schematics already are active and can change their mods in no time at all 18:25 celeron55 ... 18:26 celeron55 just do it god damnit 18:26 celeron55 no need to be so pedantic 18:26 hmmmm then if it doesn't work for an end user, they can say "oh, did you update to 0.4.8? you can't use the unstable version" 18:26 hmmmm what? this is important 18:26 hmmmm alright w/e. 18:27 celeron55 my opinion will be, without change, to add it for a period to builtin/deprecated.lua and announce the change clearly on the forum; but it's still up to you what you do 18:27 celeron55 actually, if it's just an unreleased modding api thing, nobody will care 18:27 celeron55 it's like three magnitudes less important than file formats 18:28 hmmmm that's great then 18:28 PilzAdam hmmmm, a question about the new code: if I have 1 node (lets call it "a") in the schematic, but set the probability for it to 0, will this node be checked when you place the schematic, i.e. will it print "'a' not defined" if its missing? 18:29 celeron55 as long as nobody fucks up file formats, there won't be much problems 18:29 hmmmm pilzadam, yes it will 18:29 PilzAdam thats not good 18:29 hmmmm if you're wondering about ignore nodes, they're changed to air. 18:29 hmmmm if you read the code you'd know that^ 18:29 hmmmm air with 0 probability 18:30 PilzAdam so I cant create schematics for minetest_game in a world that has a different node than "air" 18:31 PilzAdam even if I change the probability of that airlike node to 0 18:31 hmmmm there will always be air, no matter what. 18:31 PilzAdam what? 18:32 PilzAdam imagine a custom game, e.g. a spacegame that has vacuumin instead of air 18:32 hmmmm ignore and air are always registered so i don't see any problem 18:32 hmmmm what's your point exactly? i don't get it 18:32 celeron55 PilzAdam: well, even a space game will have air by the default "empty" node; it's just a naming thing 18:33 PilzAdam if I create a schematic in that game and change all probabilities of the vacuum node to 0, then it would still complain if I want to place that schematic in minetest_game, since vacuum is not define there 18:33 PilzAdam wouldnt it? 18:34 celeron55 (the empty node being "air" is inherited directly from the very first versions of minetest) 18:34 hmmmm no not at all 18:34 hmmmm there is always a node titled "air", in every version 18:34 hmmmm any game rather 18:34 hmmmm it's builtin 18:34 hmmmm there is literally no problem here 18:34 PilzAdam I guess I suck at explaining :-) 18:35 PilzAdam let me rephrase that: what do you write to the file if the probability of a node is 0? 18:35 hmmmm whatever the node is that was at that position 18:35 PilzAdam and it also checks the nodename in resolveNodenames(), even if you never actually place it? 18:35 hmmmm that's correct 18:36 PilzAdam I dont like that 18:36 hmmmm there are things you'll never like 18:36 hmmmm can you propose a clean solution to this? 18:36 hmmmm er 18:36 PilzAdam the previous way of writing ignore to the file instead, and then simply place air at ignores position was better 18:37 hmmmm i'll just change it to air if the probability is 0 18:37 PilzAdam yea, air works too 18:37 celeron55 i guess a more current explanation of the issue would be if someone builds something at the bottom of the ocean, creates a schematic and expects it to be placeable without water on the beach? 18:37 hmmmm now there's no need for writing ignore in the schematic file ever, and we don't have to do an annoying check to see if the node was defined 18:37 celeron55 (i don't understand anything about this though) 18:37 PilzAdam celeron55, not really 18:38 PilzAdam celeron55, it is possible to set the probabilty of each water node to 0, thus it will never place it 18:38 PilzAdam but the problem is that it will still check if water is defined when placing it 18:38 PilzAdam so you cant place it in a game that has no water, even if it never places the water 18:39 hmmmm celeron, the "0 probability node" is equivalent to having some image with some (or many) pixels with an alpha of 0 18:39 celeron55 sounds like a problem that has a solution 18:39 hmmmm for overlays like 18:39 PilzAdam hmmmm, if you write air to the file, then it will replace the node at that position when placing, right? 18:39 celeron55 my take on this is "just fix it, it's not like you can't" 18:39 hmmmm there really is no problem after this, though 18:40 hmmmm pilzadam, wha? 18:40 hmmmm okay let's go through this again 18:40 hmmmm we have a node that's marked as having 0 probability 18:40 hmmmm to avoid the error you're talking about (which isn't really a problem because now you have replacement lists), we also change the node name at that position to air 18:41 PilzAdam when placing that schematic, will it place the air node or simply skip the position? 18:41 hmmmm so when it gets loaded and the names are resolved, the nodes that are never placed are marked as air but that's just for the sake of shutting the node resolving up 18:41 hmmmm it skips the position! 18:41 hmmmm that's the point! 18:41 PilzAdam ok, good 18:41 hmmmm if you wanted it to write an air node instead, you'd write a goddamn air node 18:47 sfan5 celeron55: could you explain to me what packet "4f 45 74 03 00 01 00 03 ff dd 01 00 29 39 78 00 01 19 40" is supposed to be? 18:48 sfan5 I get that it is a reliable packet from peer id 01, but I don't get what is inside the TYPE_ORIGINAL packet 19:07 celeron55 it looks like a TOCLIENT_TIME_OF_DAY packet 19:08 celeron55 it says the current time is 14712 and time speed is 72 19:09 celeron55 (00 29 = 0x29, just refer to clientserver.h from there on) 19:21 kahrl celeron55, that first thing http://paste.dy.fi/v6d pointed to is strange 19:22 kahrl there is an unsigned int bytes_read but the code checks if (bytes_read < 0)?! 19:22 celeron55 oh don't care about strange things if they are strange; my GCC is some random broken version from a year ago :P 19:22 kahrl no, the warning itself is right, it's the code that is strange :P 19:23 celeron55 it sometimes gives warnings about things that make absolutely no sense, like a warning about indexing above boundaries in some place where there are no indexing found in a whole file 8) 19:23 celeron55 oh, well that's indeed strange 19:24 kahrl (the warning comes from the fact that irrlicht's io::IReadFile::read only returns nonnegative values but uses a signed type) 19:25 kahrl er, getSize()* but it's the same with read() 19:27 kahrl actually, CReadFile::getSize() can return negative values if the file is larger than 2GB. Not sure about memory files read from a zip, probably the same 19:28 hmmmm more like Crap::getBrokenSize() 19:29 hmmmm but then again, IIRC windows can't have zip files larger than 4gb 19:30 hmmmm anyway i'm going to commit this https://github.com/kwolekr/minetest/commit/f12078263dd56cfbfa59a140d37f7f2d14fa2dde 19:31 hmmmm sorry, https://github.com/kwolekr/minetest/commit/b592b1b8f845e634f36c4cd5382893a54b0688e5 19:32 PilzAdam there is no other place in lua-api.txt where we have hex numbers 19:32 PilzAdam why dont you simply write 255? 19:32 hmmmm because i used 0xFF in the core and forgot, i guess 19:33 hmmmm anyway, look! https://github.com/kwolekr/minetest/commit/b592b1b8f845e634f36c4cd5382893a54b0688e5#L4R838 happy? 19:35 kahrl we should replace all numbers in lua_api.txt with hex 19:35 kahrl ^ location = eg. {type="player", name="celeron0x37"} 19:35 hmmmm you know, i always wondered why his number is 55. it's kinda arbitrary 19:36 hmmmm why do people append numbers to their nicks anyway. 19:36 PilzAdam I guess celeronFiftyFive was too long 19:37 jin_xi 55 stands for ee for shizzle 19:38 kahrl Intel Celeron Registered Trademark LV, Esq. 19:38 hmmmm i have an interview at Intel :)) 19:40 kahrl go make the processors faster so we don't have to optimize minetest ;) 19:41 kahrl we could finally port it to python 19:42 jin_xi wow: Over the past twelve months, 98 developers contributed new code to Minetest. This is one of the largest open-source teams in the world, and is in the top 2% of all project teams on Ohloh. 19:46 Exio4 kahrl: haha 20:04 hmmmm ugh 20:04 hmmmm proller i sware to god 20:04 troller ? 20:05 hmmmm your changes to emerge.cpp makes a possible race condition 20:05 hmmmm you need to modify the environment inside of an environment lock 20:07 troller how to fix it? 20:08 hmmmm don't bother, i'm doing it right now myself 20:08 troller thank you 20:11 hmmmm troller, getHeat and getHumidity modify the block as well as returns it 20:11 hmmmm don't you think it should be called getHeatAndUpdate 20:12 troller maybe yes, its from first version - they have no cache 20:12 hmmmm what's the point of heat_time and humidity_time? 20:13 troller cache time 20:13 hmmmm why are they separate i mean 20:13 troller hm.. 20:13 hmmmm shouldn't it be like weather_last_updated 20:13 troller but it need to update heat from humidity and humidity from heat 20:13 hmmmm when would you ever update them separately? 20:14 Exio4 unfinished code ^ 20:15 troller hmmmm, its new idea to join them 20:16 hmmmm whatever, i'll leave it up to you to do that 20:16 troller Exio4, finished code not exists 20:16 Exio4 what? 20:16 troller hmmmm, ok 20:24 hmmmm the only thing you use SeverEnvironment for in getHeat/getHumidity is the game time 20:24 hmmmm why don't you just pass the game time as a parameter instead? 20:24 Tesseract kahrl: There wasn't anything wrong with it, you just mentioned that you would like to have bind_address = 0.0.0.0, :: ... and not have ipv6_server. But that would take a lot mort time to implement. 20:26 Exio4 20:26 Exio4 er 20:26 Exio4 fail 20:28 * troller testing server with d = sqlite3_exec(m_database, "PRAGMA synchronous = NORMAL", NULL, NULL, NULL); 20:29 troller hmmmm, game time as a parameter to getHeat/getHumidity ?? 20:29 Exio4 to the class that contains getHEat/Humidity 20:29 Exio4 Heat* 20:29 Exio4 (i guess) 20:29 hmmmm it's just not correct for a member of Map to deal with the environment, it's supposed to be separate from that 20:30 hmmmm the environment has a map 20:31 hmmmm oh, by the way, 20:31 hmmmm map->getHeat(m_server->m_env, MAP_BLOCKSIZE*i->first ,i->second); is wrong 20:31 hmmmm that second parameter should be getBlockPos(i->first) 20:32 hmmmm it'll be incorrect for negative positions 20:32 Exio4 can anyone tell me why the got merged at first? 20:32 Exio4 it got* 20:32 hmmmm it was a really huge patch and nobody actually went through each thing and scrutinized it 20:33 Exio4 the only who said "yes" was c55 and he stated that he didn't try, yet PilzAdam, (sfan5 iirc), and some other people complained a bit about it 20:33 Exio4 s/try/try it/ 20:33 hmmmm i complained about it too for a more fundamental reason, that is, it's more or less something for a mod to do 20:34 hmmmm there are definite plans for client side lua in the future, so adding something as static and specific as this is pretty ugly 20:34 Exio4 well, lets see who didn't complained, the list then may be shorter ;) 20:35 troller (f32)env->getGameTime() * env->getTimeOfDaySpeed() , env->getTimeOfDayF(), -- pass all as params??? 20:36 hmmmm troller, i'm doing it right now 20:36 hmmmm i don't see where you use those however 20:36 troller getHeat 20:37 hmmmm oh 20:37 hmmmm wow 20:37 hmmmm i completely missed those 20:38 hmmmm give me some time to think 20:39 hmmmm you know, in this case, doesn't this belong in ServerEnvironment? 20:39 hmmmm the heat and humidity have nothing to do with the map itself 20:39 hmmmm but rather the environment in which the map resides 20:40 hmmmm i'm going to move ServerMap::getHeat/Humidity to ServerEnvironment, because it makes more sense 20:41 troller whats with Map::getHeat(v3s16 p) ? 20:42 hmmmm those are fine, since they only query data from the map 20:42 troller its now only for debug on client, but.. 20:42 troller ok 20:42 hmmmm those really could be called getHeat and getHumidity 20:42 hmmmm since they do nothing more than retrieve the data 22:39 kahrl some include file statistics: http://paste.dy.fi/n8Q 22:39 kahrl this is the number of headers included in each source file, including deep includes, using the code in my scriptapicleanup branch 22:40 kahrl (it doesn't count headers of external libraries) 23:37 kahrl who would have thought? adjacency sets are faster than an adjacency matrix: http://paste.dy.fi/n9V 23:53 kahrl I wonder if there's any way to make server.h less fat 23:53 kahrl all the lua api source files need it 23:54 kahrl stuff like ServerThread can be moved to server.cpp 23:54 kahrl should I replace most of the class-type fields in Server with pointers? (so that forward declarations can be used) 23:56 Exio4 will it help for the cases that when you change a .h you need to recompile 95% of the source code, other time? 23:57 Exio4 ;P 23:57 kahrl hopefully