Time Nick Message 03:01 technomancy I have a question about whether my idea for a mod would work with the limitations of the minetest engine. I want to do something similar to http://computercraft.info/ where the game adds computer blocks with a simple OS on them, but it seems like this would be extremely problematic because Lua has no support for pre-emptive multitasking out of the box; one problematic script could take down the whole server. 03:03 technomancy does minetest do anything to help in this case? does allowing the user to run sandboxed lua code threaten the stability of the server? 03:03 technomancy I mean, it's easy to sandbox what resources a given script is allowed to access, except for time. 04:18 est31 technomancy, look here https://github.com/Jeija/minetest-mod-mesecons/blob/master/mesecons_luacontroller/init.lua#L368 04:18 est31 its using that method 04:18 technomancy est31: iiiiinteresting. that's promising. 04:19 technomancy so does that force a yield, or just kill the coroutine? 04:20 est31 http://www.lua.org/pil/23.2.html 04:23 technomancy I see. In this case it kills it, but it should be possible to simply yield instead. 04:23 est31 ? 04:24 technomancy I would like the execution to be allowed to continue as long as the rest of the engine is given time to run. 04:25 est31 as I said, there is no real concurrency 04:25 technomancy yeah, I don't need actual concurrency. 04:26 technomancy it seems like a forced yield after a max number of instructions can approximate pre-emptive multitasking even if you don't actually have multiple things happening at once 04:26 technomancy but at the very least it's possible to kill out-of-control programs, and that may be good enough 05:26 technomancy https://stackoverflow.com/questions/8459459/lua-coroutine-error-tempt-to-yield-across-metamethod-c-call-boundary could be problematic 05:26 technomancy but I don't know enough about minetest's engine to know whether I'd run into this 05:27 technomancy oh... apparently might not be a problem with luajit? 05:27 est31 dunno 05:28 est31 I don't even know whether coroutines will work with minetest 05:28 technomancy what luajit version is used? 05:32 est31 minetest just uses the lib 05:32 est31 so no limitation :) 05:32 est31 or there is but still more than one 05:34 est31 if I remember right, there is code that warns you if you use buggy luajit 05:36 technomancy oh, you provide whatever luajit version you want? 05:36 technomancy cool 07:02 jin_xi technomancy: others have already tried and done some work, see this thread: https://forum.minetest.net/viewtopic.php?f=47&t=10185 07:02 jin_xi this even resulted in a pull request for keyboard input, which got shut down 07:03 jin_xi https://github.com/minetest/minetest/pull/1737 which killed the enthusiasm it seems 07:03 technomancy jin_xi: huh... but somehow luacontroller is able to get keyboard input? 07:03 technomancy is this about keyboard input outside a form? 07:03 jin_xi yes 07:03 jin_xi well, outside a text element 07:04 technomancy gotcha. yeah, the text element is pretty weak sauce vs what's available in computercraft. =\ 07:06 technomancy jin_xi: it's hard to tell what's going on in this conversation without knowing which comments are form core devs. has anyone spoken with authority on this change, or has it just been enough random people shitting on it to make the original author give up? 07:06 technomancy *from core devs 07:08 jin_xi the thread starts off badly, but then its two dudes working on a mod. core devs have special green names in the forums 07:08 technomancy oh sorry; I meant the github issue 07:09 technomancy wow, I didn't realize luacontrollers couldn't have loops and functions =\ 07:09 jin_xi hm, sapier used to be a coredev but has not been around 07:10 technomancy he is not listed on https://github.com/minetest/minetest/graphs/contributors 07:11 jin_xi weird, he did many commits 07:12 technomancy "I have pretty much dropped this idea because formspecs are very limited." =( 07:12 jin_xi where is that from? 07:13 technomancy https://forum.minetest.net/viewtopic.php?id=8399 07:14 jin_xi yeah anything remotely dynamic is very much doomed in minetest 07:14 technomancy blargh 07:14 technomancy just when I was feeling very accomplished for figuring out how to get sandboxing and pre-emption working 07:14 technomancy it looks like one of these guys just switched to computercraft 07:15 technomancy but I'd rather just give up than start building on a proprietary platform 07:15 jin_xi thats the spirit 07:16 jin_xi you can get some dynamic stuff done via stitching together images, it works well enough for a tetris 07:17 technomancy for output, yeah 07:17 technomancy seems like without this input PR it's dead in the water though 07:18 jin_xi i gave it my +1 for what its worth and am in full support for reviving that discussion 07:18 technomancy thanks. I'll look into it some more. 07:19 jin_xi also sapier is gone and left many a feature done badly 07:19 technomancy heh 07:19 jin_xi so that argument maybe is not so strong 07:19 technomancy it's good to know what's out there. I did some searching but didn't find this discussion. 07:19 nore sfan5: can I merge game#511? 07:19 ShadowBot https://github.com/minetest/minetest_game/issues/511 -- Use connect_to_raillike for default:rail (2nd try) by Wuzzy2 07:21 technomancy jin_xi: the most encouraging thing is that ninnghazad seems to imply that the debug.sethook approach works to prevent scripts from blocking the rest of the engine 07:22 technomancy the most cringeworthy part is that his mod is called "dronetest" 07:23 jin_xi lets hope no one makes a wedding mod 07:24 jin_xi but from the repo it looks like quite some work has been done 07:25 technomancy nothing since december, but yeah. less for me to do. 07:26 technomancy I was pretty excited to get my toy little OS working on my own, but I don't mind throwing that away 07:45 OldCoder sfan5, present? 07:47 OldCoder Zeno`, hi 07:56 Zeno` hi, how's things? 16:31 RealBadAngel hi 16:31 RealBadAngel http://i.imgur.com/QhKRhLP.png 16:32 RealBadAngel finally i managed to show textures as meshes :) 16:33 RealBadAngel easy to rotate them in 3d space and have them visible on screen plane 16:33 RealBadAngel that will make rotating items in inventories possible even 16:35 kilbith impressive 16:42 RealBadAngel that would solve many issues, like hud elements not workin properly with interlacing or other 3d rendering modes 16:42 Krock next step: tiny 3d model of the minimap, rotateable by couse drag 16:42 Krock *mouse drag 16:42 kilbith RBA, can we have a round map instead ? 16:42 Krock ^ 16:42 RealBadAngel thats possible 16:42 RealBadAngel kilbith, ofc, thats the main idea 16:42 RealBadAngel i will just apply round mask to minimap now 16:43 RealBadAngel and the map will rotate when player moves 16:43 RealBadAngel another advantage it can be shaded with shaders now 16:44 RealBadAngel and i do have stored already height map of the scanned area 16:44 RealBadAngel so minimap will be 3d 16:44 RealBadAngel or at least will look like 3d :) 17:26 Calinou the arrow should be less ugly :x 17:26 Calinou well, it can be removed if minimap is round and rotates 17:26 Calinou instead we'll show a slight grey “+” 18:00 kilbith the grey "+" doesnt indicate the facing direction 18:00 est31 RealBadAngel, any feedback from gsmanners about license? 18:01 RealBadAngel no, but i wont need him 18:01 est31 ? 18:01 RealBadAngel nothing of his code left by now ;) 18:02 RealBadAngel Calinou, map is already round and rotating :) 18:02 Calinou cool 18:02 Calinou Rei will be angry :3 18:02 est31 http://programmers.stackexchange.com/questions/260347/ship-of-theseus-applied-to-gpl-can-i-relicense-my-program-if-i-replace-all-of 18:02 RealBadAngel est, we are not philosophers :P 18:03 Calinou StackExchange is GPL hate party 18:03 * Calinou tries to avoid SE as much as possible 18:03 Calinou its login also requires third-party cookies 18:03 RealBadAngel you will compare the code 18:03 est31 Stackexchange puts all content into free license 18:03 Calinou it's not like we'll be sued over a minimap anyway 18:03 est31 thats better than other forum sites 18:03 RealBadAngel literally nothing is as gsmanner did it 18:03 est31 not even minetest forum has it anymore 18:04 RealBadAngel im using totally different techniques even 18:04 est31 what about just simply *asking* him? 18:04 est31 perhaps he sais "yes its ok?" 18:04 RealBadAngel i did, no answer 18:08 est31 when you list him in the copyright boilerplate inside the header then he must have agreed to the according license 18:09 est31 either way, if he doesnt agree, then we still can change the license of minetest to GPL. who needs that "lesser" anyway. 18:10 RealBadAngel if there wont be any of his code why should i put him into copyright note? i can just mention that he inspired me 18:11 est31 yea I think inspiration is fair use 18:12 est31 but I guess whether its GPL or LGPL is decided when one actually wants to use the "lesser" part of the license 18:12 est31 if* 18:13 est31 so, from my POV, its ok to merge the code 18:13 est31 because I don't really care whether its LGPL or GPL 18:13 est31 as long as its free 18:14 Calinou if it stays GPL, we might include it provided we provide a --no-gpl build option 18:15 Hijiri LGPL matters when dynamically linking to minetest, right 18:16 Hijiri but how would that work 18:16 est31 dunno 18:16 est31 perhaps mods can be interpreted that way?? 18:16 Hijiri as in the mods are dynamically linking to minetest? 18:17 Hijiri actually I'm not sure at all how interpreted programs work with GPL and friends 18:17 Calinou ask licensing@fsf.org 18:17 est31 there is an entry in the GPL faq about stuff like this 18:18 est31 they say "if communication is intimate enough, its like static linking" 18:18 Hijiri I thought it was "if communication is intimate enough, its like using a library" 18:18 est31 I mean its similar to the IPC issue which even GPL doesnt impose any restrictions (or freedoms if you are fsf :p) upon. 18:19 Hijiri in the context of people trying to run a separate program and use message channels of some sort to avoid it being technically a library 18:20 est31 yea 18:20 est31 but applies to simpler examples too 18:20 Hijiri GPL FAQ says However, when the interpreter is extended to provide “bindings” to other facilities (often, but not necessarily, libraries), the interpreted program is effectively linked to the facilities it uses through these bindings. 18:21 Hijiri minetest provides bindings to minetest API things 18:21 Hijiri so I assume that means mod scripts count as linked to an LGPL library 18:21 Hijiri or GPL if it's GPL 18:21 est31 yea I think that has been the reason for the switch 18:22 est31 perhaps LGPL isnt that bad after all... 18:22 Hijiri which switch? 18:22 est31 minetest has originally been GPL if I'm right 18:22 Hijiri oh 18:23 Calinou yes, before June 2012 18:23 Calinou marktraceur refused license change to clouds code was rewritten 18:23 Calinou est31, ideally we'd be using permissive license from the start 18:23 Calinou this is what celeron wanted 18:23 Calinou (no one should use GPLv2 on new projects in 2015… either use permissive of GPLv3) 18:23 Calinou or* 18:26 est31 so why didnt he do it then? :) 18:26 Calinou probably didn't think about it 18:27 celeron55 because i was a big dummy in 2010 18:27 celeron55 or actually 2011 18:28 celeron55 that's when i accepted the first GPL licensed contributions 18:28 Calinou yeah, thought so 18:29 Calinou Buildat is Apache 2 for comparison 19:54 TenPlus1 Hi folks... 19:56 TenPlus1 Update on std::bad_alloc error... it seems newly generated areas also create map errors which cause this problem... I found out today as a player dug down and at a certain spot the server crashed again 20:32 TeTpaAka Why does PlayerSAO::setHP check only for enable_damage when the new hp is smaller than the old hp? Shouldn't enable_damage = false forbid any hp change? 20:33 RealBadAngel just realized one important thing that comes with my render to screen plane 20:33 RealBadAngel we wont need inventory cubes anymore thx to that 20:34 VanessaE oh G*d, please make that a reality 20:34 VanessaE :) 20:34 RealBadAngel thats damn easy in fact 20:35 RealBadAngel you just add a mesh there 20:35 RealBadAngel set the mesh rotation, position and you got it 20:35 RealBadAngel it can have rotation animator too 20:50 VanessaE RealBadAngel: one thing that's needed is a way to tell the engine to just render the object like it normally does, and specifically to be able to set the location of the virtual camera so that e.g. a small model or nodebox can be scaled up to fit the inventory slot (instead of using an inventory image) 20:52 RealBadAngel you dont need to set the camera for such plane 20:53 RealBadAngel you just define meshes position compared to the middle of the screen 20:53 VanessaE I mean e.g a mesh node or something else that often ends up wrongly-sized when it's rendered to texture 20:55 RealBadAngel you should then just define inventory visual scale perhaps 20:55 VanessaE yeah, something like that. 20:55 VanessaE but for some objects, setting the camera position may be useful too 20:56 RealBadAngel such plane has fixed camera 20:57 RealBadAngel only way to move it is to move your monitor lol 20:57 VanessaE heh 20:57 RealBadAngel its meant i think for hud and shit like that 20:58 RealBadAngel but name of it and description doesnt suggest that in any way :) 20:58 RealBadAngel https://github.com/zaki/irrlicht/blob/master/tests/material.cpp#L25 20:58 RealBadAngel ^^ sample usage 20:59 RealBadAngel http://irrlicht.sourceforge.net/docu/classirr_1_1scene_1_1_i_scene_manager.html#a2eb986c6975ebc1aa1f68c878ac8dcda 21:07 RealBadAngel VanessaE, http://i.imgur.com/Vd1FIRR.png 21:08 RealBadAngel the bigger one is visible on that plane, it rotating when player moves, compare on both orientation on red/green details on the ground 22:24 RealBadAngel http://i.imgur.com/ioCKtrP.jpg 23:20 est31 RBA: just seen that image: nice! 23:31 est31 But its an option to have round vs rectangular maps right? 23:53 RealBadAngel i will make it that way propably