Time Nick Message 00:21 paramat hmmmm, i assume you want mgv5's noises changed to use the 2D and 3D noises that mgv7 uses? currently it is using internal noise buffers and hardcoded noise parameters, and the 3D noise looks 'eased' although i'm not sure about this 00:24 hmmmm yeah it is eased 00:24 hmmmm i was planning on adding 3d eased noise for quite a while 00:25 hmmmm it involves a lot, it's a good idea to make easing and absolute mapgen parameters 00:36 paramat okay i'll now work on the mgv5 noises 00:39 paramat hmmmm, when lots of biomes are registered in mgv7, they become very small, i recommend at least doubling the spread of the heat/humidity parameters, or perhaps even scaling it by the square root of biome number. i actually prefer larger biomes (500n-1kn) but players are used to 125-250n 00:40 hmmmm hrmm 00:40 hmmmm i'll have to check that out 00:40 hmmmm let's talk more about it sometime later 00:41 hmmmm to counteract the effects of having more biomes, shouldn't you be able to increase their size by increasing the spread factor of biome heat and humidity? 00:45 paramat yes that's the manual fix i recommend to people, chat later ... 00:46 hmmmm oh you wrote that derp 00:46 hmmmm not sure what you meant by scaling it by the square root of the biome number 00:46 hmmmm when you say biome number, do you mean the internal biome ID? 00:47 hmmmm the ID is supposed to be an opaque identifier for a specific biome.. if you want to start adding in contribution factors then a separate 'weight' field should be added 00:51 paramat sorry i meant scaling by square root of 'number of biomes' 00:52 paramat that will keep biome size roughly constant with any number of biomes 00:56 kahrl ugh, I fucking hate edge artifacts, they're the worst http://i.imgur.com/vtDgAjg.png 00:57 VanessaE kahrl: they're horribly bad with HDX 00:57 kahrl I tried wiggling the vertex and texture coordinates by plus or minus epsilon in any combination I could think of 00:57 kahrl it always remained horrible, any ideas? 00:57 VanessaE well they shift around depending on the angle of the wield 00:57 VanessaE e.g. by walking 00:57 VanessaE or at least they did last time I looked. 00:57 kahrl yeah 00:58 VanessaE all that tells me is it's a precision error at rendering time 00:58 VanessaE but otherwise, "I got nuthin', man." 00:59 kahrl this is using a different wield mesh than usual though: https://gist.github.com/kahrl/4f2958f9c45e339ca0dc 00:59 kahrl it actually seems that this code makes the HD situation better but the 16px situation worse 01:02 kahrl setting the resolution to 64 makes most of the artifacts go away, I guess I'll do that 01:16 OldCoder I am testing a new world merge script. As 30+GB are involved this script may prove to be easier than WorldEdit. 01:17 OldCoder I also have a theory related to RE-SEND RELIABLE and may eventually submit my own patch to upstream. 01:17 hmmmm paramat, ahh sounds like a much better idea 01:18 hmmmm i hope you realize that biomes need a lot of work done on them, right? heh heh 01:18 hmmmm that was originally supposed to be my job 01:18 OldCoder One question. The order of blocks in an SQLite3 dump of a map should not matter, correct? 01:18 OldCoder I.e. randomize the order, the resulting map should be the same, I think. 01:18 OldCoder Is this true? 01:48 OldCoder Zeno`, I think I found the omission in your patch 01:49 OldCoder Testing another day 01:49 OldCoder I've also got a script that can merge 30+GB of world data 01:50 Zeno` Well, I did write it very quickly without testing ;) What was the omission? 01:50 OldCoder One moment 01:50 OldCoder if (peer->hasForceTimeout()) continue; 01:51 OldCoder How about adding that at the start of the broken loop? 01:51 OldCoder hasForceTimeout() simply returns the flag that you added 01:51 Zeno` I thought I had that 01:51 Zeno` so adding that fixes things? 01:51 OldCoder No, I added hasForceTimeout myself 01:51 OldCoder And I won't know for a few days 01:51 Zeno` ok cool :) 01:52 OldCoder Note: hasForceTimeout not forceTimeout 01:52 OldCoder Does theory make sense? 01:52 OldCoder I think 01:52 OldCoder the loop is repeating 01:52 OldCoder before peers have a chance to be dropped 01:52 Zeno` yes I just noticed that. Yes it make sense, so much so that I thought I added it to the patch already heh 01:52 OldCoder Ah! 01:52 OldCoder My first patch! 01:52 OldCoder We will see 01:52 Zeno` :) 01:53 OldCoder In the interim I am merging four maps, each a partial copy of Redcrab 01:53 OldCoder 30+GB of data 01:54 Zeno` I'm glad you're doing it :) 01:54 OldCoder We shall see 01:54 OldCoder It is rather dramatic surgery 01:57 Zeno` Speaking of dramatic surgery, my cleanup of the_game() should be finished today (fingers crossed) 01:59 VanessaE I should hope you won't be coding THAT with crossed fingers! 02:00 Zeno` well I can connect and play now 02:00 Zeno` the wield hand gets stuck waving though lol 02:02 Zeno` and that is now fixed, so I just need to add profiler graph back and debug 07:42 RealBadAngel https://github.com/minetest/minetest/pull/1746 07:42 RealBadAngel kahrl, hmmmm are you ok with it? 07:43 hmmmm well i don't really know much about collision boxes 07:43 hmmmm i see you made a typo in the commit message though 07:44 RealBadAngel they are nodeboxes 07:44 RealBadAngel before they were copied from nodeboxes itself or set to full cube size in case there were no nodeboxes defined 07:44 hmmmm https://github.com/RealBadAngel/minetest/commit/7af9205bbd4110ee665a1b2f0d70f37f03926488#diff-fc3a9401529179dd3b1e55306363c6a4R360 this could be cleaner by making the second parameter a ternary expression 07:45 hmmmm hrmmm 07:45 hmmmm the selection box is different frmo the collision box 07:45 RealBadAngel selection box has nothing to do with collisions 07:45 hmmmm that kind of strikes me as being odd. 07:46 RealBadAngel you can point a flower but it doesnt have collision boxes at all 07:49 hmmmm heh that's true 07:49 hmmmm but that's a special case, is it not? 07:50 hmmmm wouldn't it be better if you could specify a flag to turn off collision with a node, even though it can be selected? 07:50 hmmmm I mean, I'm just trying to come up with other scenarios where the selection box would not be the same as the collision box 07:51 RealBadAngel walkable 07:51 RealBadAngel ^^ thats the flag 07:52 hmmmm then am i missing something 07:52 hmmmm is the node box the same as the selection box? 07:52 RealBadAngel can be 07:52 hmmmm what is the node box 07:53 RealBadAngel if you do not define selection box, it will be copied from nodebox 07:53 RealBadAngel same with collision 07:53 RealBadAngel lemme point you the code 07:53 hmmmm so what's the point of having a custom collision box exactly? 07:55 RealBadAngel https://github.com/minetest/minetest/blob/master/src/mapnode.cpp#L163 07:56 RealBadAngel meshes need that, theyre not boxes 07:56 RealBadAngel so collision box cannot be copied from def because there are no nodeboxes 07:56 RealBadAngel and they will always get full cube 07:57 RealBadAngel also, if you have complex nodebox, lets say made of 20 boxes, collision box is in fact a list of 20 boxes 07:57 Zeno` Hi, is anyone able to review: https://github.com/minetest/minetest/pull/1729 ? I'm trying to check some other things and it not being merged is confusing things 07:57 RealBadAngel while one would do in most cases 07:57 Zeno` After RBA's issue of course 07:58 hmmmm so it's just a naming convention 07:58 RealBadAngel having many complex nodebox slows down collision code 07:59 hmmmm i'm sorry it's just that i'd like to avoid having too many fields or too many copies of the same data 07:59 RealBadAngel same? 07:59 hmmmm well, yeah. 07:59 RealBadAngel we want different data 07:59 RealBadAngel so nodeboxes can be different from collision boxes 07:59 RealBadAngel thats the point 08:00 RealBadAngel nodeboxes can be list of 20 boxes, while collision could be just one box 08:00 hmmmm okay, that makes sense 08:00 RealBadAngel ofc if modder will define it 08:00 RealBadAngel if not, collision box will be copied over from nodeboxes as before 08:00 hmmmm yeah I can see the use for this 08:01 hmmmm approved 08:01 RealBadAngel well, not really copied, just used 08:02 RealBadAngel thats the code you linked, if selection box is empty then nodebox is get 08:26 Zeno` RBA, care to take a look? 08:45 kilbith RBA : are you aware of this lighting issue ? https://cdn.mediacru.sh/zHrao8syuQ7V.png 09:07 Zeno` not sure I like the look of that 09:09 OldCoder Sokomine, kaeza, VanessaE, the Redcrab merge is done. Please see if things you built before are present. 09:10 OldCoder celeron55, I may have a patch at last for the connection issue. Need a few more days to test. 09:10 OldCoder Others, I have a script in progress that specified pieces of worlds more easily than WorldEdit. 10:08 Zeno` sfan5, can you review https://github.com/minetest/minetest/pull/1729 again please? 10:08 Zeno` I'd like the valgrind errors fixed so I can focus on, well, different ones 10:14 Zeno` can anyone review it? 12:01 sfan5 Zeno`: #1729 looks good 12:01 ShadowBot https://github.com/minetest/minetest/issues/1729 -- Various unitialised variable fixes by Zeno- 12:02 Zeno` thanks 12:07 sfan5 someone please look at #1725 and #1609 12:07 ShadowBot https://github.com/minetest/minetest/issues/1725 -- Update the cURL the buildbot uses to 7.38.0 by sfan5 12:07 ShadowBot https://github.com/minetest/minetest/issues/1609 -- Search for subgames using $MINETEST_SUBGAME_PATH. by davexunit 12:10 sfan5 ^ kahrl, nore, PilzAdam, RealBadAngel 12:11 Zeno` FWIW I've looked at 1609 and think it's ok now 12:12 kahrl Zeno`: about 1729, wouldn't it be easier to always initialize m_highlight_node_color than introduce another bool variable? 12:12 kahrl s/node/mesh 12:13 Zeno` kahrl, you'd think so, and I tried that first but I couldn't work it out. I asked RBA to look at that part of the code as well 12:13 Zeno` i.e. I tried initialsing to 0 12:13 Zeno` if you can make it better then I'd really appreciate it 12:14 Zeno` I don't like the extra bool either :( 12:15 sfan5 somebody plz look at #1725 12:15 ShadowBot https://github.com/minetest/minetest/issues/1725 -- Update the cURL the buildbot uses to 7.38.0 by sfan5 12:15 sfan5 it's only 7 changed lines 12:16 kahrl Zeno`: my valgrind doesn't complain about anything related to m_highlight_mesh_color 12:17 Zeno` have you got enable_node_highlighting = true? 12:18 kahrl yeah 12:18 kahrl should I disable the hud? 12:18 Zeno` false then? 12:18 Zeno` I can't remember... I know I wouldn't have added it unless valgrind was complaining 12:18 Zeno` hmm 12:19 kahrl let me try 12:20 kahrl still nothing with enable_node_highlighting = false 12:20 Zeno` I'll try as well then 12:22 Zeno` oh, from memory it's not *directly* related to that 12:22 Zeno` but... let me find it 12:27 Zeno` i need a faster computer heh 12:29 Zeno` it's related to final color blend 12:29 Zeno` and night 12:30 Zeno` rg += emphase_yellow_when_artificial[night/16]; <--- that line 12:30 Zeno` so for some reason that I cannot work out night is not initialised properly 12:31 kahrl but isn't that the reason for the "static const ..." rather than having anything to do with m_highlight_mesh_color? 12:31 Zeno` nah I added static const just as a matter of style 12:32 kahrl oh, ok 12:32 Zeno` this is what confused me so much at first (I have to admit it took me about an hour to track this thing down) 12:35 Zeno` I'd like to work out why night is using an unitialised object but I couldn't and .. well, I dunno.. I added the bool 12:36 kahrl how is m_highlight_mesh_color even related to night? 12:36 Zeno` well it shouldn't be, but my method was to backtrack the code and that's where I ended up :/ 12:37 kahrl heh 12:37 Zeno` which is probably why I got very confused 12:37 kahrl also shouldn't all members of MeshMakeData be initialized according to the C++ standard 12:37 Zeno` the other fixes were easy... that one had me stumped (I admit) 12:38 kahrl it's a non-POD type (because of the VoxelManipulator) so any missing initializers in the constructor should be added by the compiler 12:38 kahrl 12.6.2.4 12:38 Zeno` maybe my gcc is broken then? 12:38 Zeno` $ g++ --version 12:38 Zeno` g++ (GCC) 4.8.3 20140911 (Red Hat 4.8.3-7) 12:39 kahrl probably :P 12:39 Zeno` grrrr 12:39 Zeno` I doubt it though 12:39 kahrl but I got those valgrind errors at rg += emphase_yellow_when_artificial[night/16]; too 12:40 Zeno` yeah, and add that bool thingy and it will go away 12:40 kahrl g++ (Gentoo 4.7.3-r1 p1.4, pie-0.5.5) 4.7.3 12:40 Zeno` if you can init it "properly" please fix :) 12:40 Zeno` 'cause I wanna see the answer as well lol 12:40 kahrl it's weird because it doesn't happen every time 12:41 Zeno` yeah I think it's when it's pointing at a node 12:41 Zeno` not really sure... hard to kind of experiment with valgrind running (too slow) 12:43 kahrl yeah 12:45 kahrl ah, it stopped happening when I set enable_node_highlighting = false 12:46 Zeno` yeah that might be the case. I can't remember which setting (true/false) I used to trigger it 12:49 Zeno` well, I have to go to bed (sort of, but not really.... actually I will just read my book) but I hope this can be sorted out 12:51 kahrl ah, I see the finalColorBlend that depends on m_highlight_mesh_color now 12:51 kahrl derp ;) 12:52 kahrl Zeno`: good night 12:53 Zeno` O/ 13:02 kahrl Zeno`: this seems to fix all the valgrind warnings in finalColorBlend and mapblock_mesh_generate_special: https://gist.github.com/kahrl/dfb0cfae62a8a68d6e03 13:03 kahrl with both enable_node_highlighting = true and false 13:04 Zeno` hmm, would you mind pulling my change and changing it to that? Otherwise I'll do it tomorrow 13:05 kahrl yeah, I would 13:05 kahrl not mind doing that 13:05 Zeno` ok thank you 13:05 kahrl sfan5: ok with that? 13:05 Zeno` I'm glad it's sorted out. nice find! 13:06 sfan5 kahrl: yep 13:39 kahrl apparently I misread 12.6.2.4 in the C++ standard, it just says member "of class type" are guaranteed to be initialized in non-POD classes 13:39 kahrl members* 13:41 Zeno` ahh and it's a struct? 13:41 Zeno` thank you, btw 13:41 kahrl well MeshMakeData is non-POD because of the VoxelManipulator which has virtual methods 13:42 Zeno` doh! 13:42 Zeno` yes, I see now 13:43 Zeno` oh crap, I closed my tv show after viewing the merge :( 13:44 kahrl the merge is more important anyway :P 13:45 kahrl valgrinding also revealed this little gem: https://gist.github.com/kahrl/96128ae53a81c53d662d 13:45 kahrl in this case minetest crashed right after clicking the Play button 13:46 kahrl could this be related to the OnPostRender crashes? (#1512) 13:46 Zeno` It very well might be 13:52 Zeno` there is also another strange thing that I have come across but I don't know if i's me doing something wrong or... or something else. It's related to this: https://github.com/minetest/minetest/blob/master/src/guiFormSpecMenu.cpp#L134 13:53 Zeno` If you try my refactor_the_game branch, open pause menu and click the close button (of the Window Manager) you will see 13:53 Zeno` I have no idea what m_ext_ptr is for; I was planning on looking at it tomorrow 13:54 Zeno` anyway, I am asleep! 13:54 Zeno` can't work out why I am still typing 13:55 sfan5 kahrl: can look at #1725? 13:55 ShadowBot https://github.com/minetest/minetest/issues/1725 -- Update the cURL the buildbot uses to 7.38.0 by sfan5 13:56 kahrl sfan5: I did but I have no clue about the buildbot at all 13:56 sfan5 well I'd like to merge it 13:56 kahrl I gathered :P 13:57 Zeno` wget http://sfan5.pf-control.de/libcurl-$curl_version-win32.zip is required? 13:58 kahrl who uses the buildbot? 13:58 sfan5 me 13:58 sfan5 Zeno`: how else are you going to download a file? 13:58 kahrl anyone else? 13:58 Zeno` :) 13:58 sfan5 possibly somebody else 13:58 Zeno` Just checking 13:58 sfan5 someone reported some issues with buildbot some time ago 13:58 Zeno` The changes look consistent so if I had a vote I'd say yes 13:59 sfan5 so at least 1 other person uses it 13:59 kahrl ah it was kaeza 13:59 sfan5 2 people then 14:00 sfan5 https://github.com/minetest/minetest/issues/1389 14:00 sfan5 so. can I merge that pull? 14:00 kahrl if he's fine with those changes, merge them 14:00 sfan5 who? 14:00 sfan5 kaeza? 14:00 kahrl kaeza 14:00 sfan5 last time I check kaeza wasn't a core dev 14:01 kahrl sure 14:01 sfan5 and kaeza wanted me to fix the cURL link, this is what I did (by upgrading to a new cURL version) 14:01 sfan5 kk 14:01 sfan5 merge incoming 14:01 kahrl ? 14:01 sfan5 ? 14:01 kahrl I just wanted someone to test the changes 14:01 sfan5 I obviously tested them 14:01 kahrl doesn't matter if it's a core dev or not 14:02 kahrl someone with a possibly different environment than who wrote the changes 14:02 sfan5 *sigh* 14:03 sfan5 Zeno`: install mingw (w32 and w64), change toolchain_muingw{,64}.cmake accordingly and run ./buildwin{32,64}.sh 14:04 sfan5 mingw* 14:04 Zeno` already installed... one sec 14:07 Zeno` well it built 14:08 sfan5 that fast? 14:08 Zeno` yes 14:08 sfan5 kahrl: can I merge it now? 14:08 kahrl yes 14:08 Zeno` full build takes about 10seconds 14:08 sfan5 wow 14:08 Zeno` and I think it took about 20 seconds to download something or other 14:08 sfan5 how many cores? 14:08 Zeno` 8 14:08 sfan5 o 14:09 sfan5 more like, which CPU? 14:09 Zeno` well, 4 14:09 sfan5 it only uses -j2 14:09 Zeno` I changed that :p 14:09 Zeno` I can't abide waiting 14:09 Zeno` I can do it again with -j2 if you like 14:09 Zeno` -j8 is much nicer 14:09 sfan5 no, it's fine 14:09 sfan5 pushed 14:10 sfan5 now, what about #1609? 14:10 ShadowBot https://github.com/minetest/minetest/issues/1609 -- Search for subgames using $MINETEST_SUBGAME_PATH. by davexunit 14:10 Zeno` ok, and it runs in Wine so I guess all is ok 14:11 Zeno` I might start using that :) 14:11 Zeno` didn't know it existed 14:11 sfan5 the 0.4.10 mingw builds are done using that 14:12 sfan5 hm 14:12 Zeno` oh ok... I've been doing it the hard way then :/ 14:12 sfan5 maybe I should update the cURL in my local buildbot copy too... 14:12 kahrl any potential security issues from #1609? 14:12 ShadowBot https://github.com/minetest/minetest/issues/1609 -- Search for subgames using $MINETEST_SUBGAME_PATH. by davexunit 14:12 kahrl I mean, things like LD_PRELOAD have a horrible security history 14:13 sfan5 I can't think of any issue with that 14:20 Sokomine please don't forget about #1732 i'd really like to see that added 14:20 ShadowBot https://github.com/minetest/minetest/issues/1732 -- Add (optional) client-side saving of server map to disk by sfan5 14:20 Zeno` I think I am blind... where is LD_PRELOAD ? 14:21 Zeno` oh, nvm... I'm too tired 14:26 kahrl I guess as long as minetest isn't setuid root the environment variable isn't a problem 14:26 kahrl (and if you do that, ...) 14:27 kahrl ShadowNinja: do you see any potential security problems with #1609? 14:27 ShadowBot https://github.com/minetest/minetest/issues/1609 -- Search for subgames using $MINETEST_SUBGAME_PATH. by davexunit 14:59 rubenwardy #1744 14:59 rubenwardy Only set the camera update keymap when using a debug build - https://github.com/minetest/minetest/pull/1744 15:42 rubenwardy Add lua errors to error dialog - https://github.com/rubenwardy/minetest/commit/5a57fde119035108886fb276eaf5984a95df1b01 16:08 rubenwardy Any suggestions? Add lua errors to error dialog (WIP) - https://github.com/minetest/minetest/pull/1748 17:03 RiZom-91 hi everyone! 17:05 gravgun hi 17:05 RiZom-91 I'd like to improve the line_of_sight function by adding glass, fence, etc nodes 17:06 Calinou maybe use the sunlight_propagates setting for that 17:06 Calinou if true, then it's ignored in line_of_sight 17:07 RiZom-91 What is the best node property to do that? sunlight_propagates ? 17:07 RiZom-91 yes that what i was thinking about 17:08 RiZom-91 but for example I noticed that fences let the sunlight goes through even if there are not registered with this param 17:09 RiZom-91 (in minetest_game/mods/default/nodes.lua 17:09 RiZom-91 )* 17:10 RiZom-91 how is it possible ? 17:11 RiZom-91 is this >> paramtype = "light" responsible ? 17:11 RealBadAngel https://github.com/minetest/minetest/pull/1746 17:12 RealBadAngel kahrl, Calinou, sfan5 ? 17:12 sfan5 RealBadAngel: docs 17:13 RealBadAngel sure, i can add that, thats not the problem 17:14 Calinou paramtype = "light" means the node may store light info 17:14 RealBadAngel i mean the code 17:14 Calinou sunlight_propagates = true lets lights pass through 17:14 Calinou RealBadAngel, I'm not a core dev, but I don't see anything wrong with it 17:15 RealBadAngel that code in my opinion can speed up game a lot 17:15 Calinou can collision box be wallmounted? 17:15 Calinou like selection box 17:15 RealBadAngel can be any list of boxes of modders wish 17:15 RealBadAngel but point is can be a single box even when nodebox is complex 17:16 RealBadAngel before 100 boxes nodebox have same collison boxes list 17:17 RealBadAngel now modder can define one collision box (rather bounding box) for the node 17:18 RiZom-91 Calinou: I understand, but why nodes not registered with sunlight_propagates = true lets lights pass through ? 17:18 RealBadAngel because maybe its default? 17:19 RealBadAngel can be, just check default contentfeatures values 17:19 Calinou it does 17:19 Calinou I was telling you to modify the code so that these nodes are not counted in line_of_sight 17:22 RealBadAngel sfan5, so just the docs? 17:46 RealBadAngel sfan5, added the field to the docs 17:47 RiZom-91 Calinou : Thx. I couldn't find where are written the default value of sunlight_propagates but I will try with this parameter anyway 17:47 RealBadAngel https://github.com/minetest/minetest/pull/1746/files#diff-1305560bd8befb32862f0feeefabd02eR411 17:47 RealBadAngel RiZom-91, nodedef.cpp 17:47 RealBadAngel but its set to false 17:59 RealBadAngel sfan5, ? 18:03 Calinou by default it's false, RiZom-91, but glass has it set to true 18:25 sfan5 RealBadAngel: looks good 18:32 RealBadAngel sfan5, ok 18:33 proller who lock it https://forum.minetest.net/viewtopic.php?f=14&t=7864 ? 18:33 proller and why he still have this privs ? 18:43 RealBadAngel kahrl, are you around? 19:29 RealBadAngel kahrl i need a method to get scenemanager and i find igamedef very confusing 19:30 RealBadAngel why the heck it is reimplemented at so many places? 19:36 RealBadAngel i need only client side function, i tried to copy the getMesh function but keep getting weird errors 19:36 RealBadAngel /home/realbadangel/minetest-meshes/src/main.cpp:1253:10: error: cannot declare variable ‘server’ to be of abstract type ‘Server’ 19:36 RealBadAngel /home/realbadangel/minetest-meshes/src/server.h:166:7: note: because the following virtual functions are pure within ‘Server’: 19:36 RealBadAngel /home/realbadangel/minetest-meshes/src/gamedef.h:67:32: note: virtual irr::scene::ISceneManager* IGameDef::getSceneManager() 19:37 RealBadAngel so the the question is: WTF? ;) 19:50 RealBadAngel i found out that getTextureSource etc are reimplemented on the server side to be just dummy calls 19:51 RealBadAngel but getMesh is done just client side, in client.cpp 19:52 RealBadAngel or it overwrites irrlicht one maybe? 19:53 RealBadAngel even if so, why the fuck code for server and client is not splitted? 19:54 RealBadAngel celeron55, can you answer that? 19:59 RealBadAngel imho client side calls should be defined just for client 20:00 RealBadAngel re adding the dummy functions on the server side is waste of bytes 20:00 RealBadAngel and is causing such idiotic problems