Time |
Nick |
Message |
00:01 |
|
ecube joined #minetest-dev |
00:04 |
|
kaeza joined #minetest-dev |
00:08 |
|
AllegedlyDead joined #minetest-dev |
01:24 |
|
Miner_48er joined #minetest-dev |
02:16 |
kahrl |
https://gist.github.com/kahrl/6259610 does this make sense? |
02:16 |
kahrl |
I tested it with minetest.env:debug(some args) with both the bundled lua and luajit |
02:17 |
kahrl |
both seem to work, and it fixes the issue that trailing nils are dropped |
02:17 |
ShadowNinja |
kahrl: Looks good. |
02:29 |
kaeza |
kahrl, ah Lua may do some special processing for the special symbol `...' |
02:29 |
kaeza |
that is interesting... |
04:08 |
|
jojoa1997 joined #minetest-dev |
04:12 |
|
ch98 joined #minetest-dev |
05:02 |
|
ch98 joined #minetest-dev |
06:01 |
|
Ritchie joined #minetest-dev |
06:15 |
|
neko259 joined #minetest-dev |
06:37 |
|
nore joined #minetest-dev |
07:19 |
|
darkrose joined #minetest-dev |
07:57 |
|
Weedy joined #minetest-dev |
07:57 |
|
Weedy joined #minetest-dev |
08:00 |
|
tango_ joined #minetest-dev |
08:26 |
nore |
https://github.com/minetest/minetest/pull/876 |
08:26 |
nore |
any thoughts on this? |
08:36 |
sfan5 |
nore: see my comment |
08:37 |
nore |
I thought it wasn't merged because of main menu |
08:38 |
nore |
so we will see the comments this time, but I guess it won't be merged as-is |
09:38 |
|
Vakadavr joined #minetest-dev |
09:44 |
|
Calinou joined #minetest-dev |
09:52 |
kahrl |
nore, I don't think your commit works |
09:52 |
kahrl |
you can't rely on the user starting the world immediately after creating it |
09:53 |
kahrl |
try creating two worlds with seeds 1 and 2 and then starting the first world |
09:53 |
kahrl |
btw, is there a way of doing this that doesn't punish users whose copy+paste doesn't work in irrlicht? |
09:58 |
|
sapier joined #minetest-dev |
10:06 |
sapier |
kahrl you do at least 2 string copy operations more lua->core ... core->lua for gettext call ... of course none of those single performance penaltys will be an issue ... in this special case it most likeky wont be a problem because gettext() is used for UI only. At least atm ... but I feel solutions like that are used in way to many occasions in mt ... and later ppl wonder why mt is slow |
10:07 |
sapier |
kahrl os.clock() isn't very usefull for tracing. it's accuracy is 10ms (on linux) only. So all function < 10ms evaluate to 0 |
10:07 |
sapier |
s/tracing/profiling/ |
10:09 |
thexyz |
celeron55: do we have any policy regarding mods with closed source? |
10:12 |
celeron55 |
policy in what? |
10:12 |
sapier |
mt is lgpl you could even sell it |
10:12 |
celeron55 |
the only policy i know of is for the forum's modding releases section, and that is against those |
10:13 |
celeron55 |
-ding |
10:13 |
thexyz |
hm, okay |
10:13 |
sapier |
is there any closed source mod? |
10:14 |
thexyz |
sapier: https://forum.minetest.net/viewtopic.php?id=6890 |
10:15 |
sapier |
ahh sdzen :-) |
10:16 |
thexyz |
attention whoring fail |
10:16 |
sapier |
I wonder when license discussion will start again |
10:16 |
celeron55 |
what zden is doing we call "vittuilu" in finland |
10:16 |
celeron55 |
sdzen* |
10:17 |
sapier |
I guess this is backlash to some ppl demanding wtfp licenses that strong |
10:18 |
celeron55 |
by the way, what the hell is the point of the CC-BY-NC-ND license? |
10:18 |
celeron55 |
what exactly is "creative commons" about it except the name? 8) |
10:18 |
sapier |
especialy as the one doing that didn't even publish any big mod :-) |
10:19 |
celeron55 |
it's more restrictive than most freeware, lol |
10:19 |
sapier |
but maybe you're allowed to read source code ;-) |
10:21 |
sapier |
imho we shouldn't enforce license limitations. I believe in mid or long term to restrictive licenses will sort out themselfes |
10:21 |
sapier |
at least for mods :-) |
10:22 |
celeron55 |
i don't want to take the chances because one core point of our community is code that's free to build upon by anyone |
10:23 |
celeron55 |
it would suck too much to try to get back to the current way if it gets out of hand |
10:24 |
celeron55 |
both are cancer, but i prefer this cancer 8) |
10:25 |
|
BlockMen joined #minetest-dev |
10:26 |
sapier |
why do we need to get back? those who like open licenses will continue to use them. In other case you loose those who don't want to give away everything without even beeing mentioned for it ;-) |
10:27 |
BlockMen |
hi, im having trouble with the last commit. i made a new build including commit "09a50d0" and it results this http://i.imgur.com/EyBbEyu.png |
10:27 |
Calinou |
ND makes it a pain for forks |
10:27 |
Calinou |
it's just bad |
10:27 |
sapier |
ND is silly of course nothing to discussa bout that point :-) |
10:27 |
celeron55 |
sapier: that's one core question that comes up in license discussions - whether closed licenses take away from free ones or not |
10:27 |
celeron55 |
sapier: that's why i mentioned "taking chances" - because i don't know whether it's the case here |
10:27 |
celeron55 |
and can't know |
10:28 |
sapier |
me too I guess this is a matter of believe ;-) |
10:28 |
sapier |
BlockMan you're missing i18n |
10:29 |
sapier |
and no don't blame me that commit was modified drasticaly compared to the one I suggested ;-P |
10:29 |
thexyz |
sapier: license restrictions only apply to "mod releases" section |
10:29 |
sapier |
thexyz yes and that's fine that way |
10:29 |
celeron55 |
i actually encourage somebody to make a second site with closed mods and link to it in minetest-related projects or so |
10:30 |
sapier |
I guess we need to specify rules for modb too soon |
10:30 |
celeron55 |
mmdb is a problem in this for sure... |
10:30 |
BlockMen |
sapier, im not blaming anyone. im was just telling because i had trouble with gettext at msvc before |
10:30 |
sapier |
oh this is msvc only by now? interesting fact ;-) |
10:31 |
sapier |
btw I was joking about "blameing" |
10:31 |
proller |
https://github.com/proller/minetest/compare/master...liquid63 - liquid next step |
10:32 |
celeron55 |
i think we kind of have the obligation to allow closed source mods in mmdb, because the other way would be unfairly limiting to them |
10:33 |
celeron55 |
but i would strongly encourage eg. asking a low submission price from them |
10:34 |
sapier |
I guess a license field is missing in modstore |
10:34 |
celeron55 |
or at least publicly reserving the possibility of starting to do that |
10:34 |
sapier |
its missing in in gui only of course |
10:34 |
celeron55 |
because nobody will like hosting a mod database full of closed mods for free |
10:35 |
thexyz |
we can have nonfree flag and set it by default to off |
10:35 |
sapier |
I don't know why not host closed mods exept of personal feelings ... this is different for commercial ones of course |
10:36 |
thexyz |
taking money seems rather odd |
10:36 |
sapier |
as far as I know mmdb supports external links too maybe closed mods won't be allowed to be stored in mmdb infrastructure but are forced to be hosted external? |
10:36 |
celeron55 |
sapier: that doesn't really make sense |
10:37 |
celeron55 |
thexyz: as long as you host it, you can do whatever you like; personally i think nobody should be required to host stuff from their own pocket |
10:37 |
thexyz |
i don't see any problems with hosting mods that are free as free beer |
10:37 |
sapier |
no? I thought "hosting" was targeted at "providing bandwitdh" for it? |
10:38 |
celeron55 |
sapier: well, mmdb includes moderation for mods so that people can't include malicious code |
10:38 |
celeron55 |
if they were gotten from elsewhere, it would be trivial to abuse it |
10:38 |
sapier |
ok this is a problem |
10:38 |
celeron55 |
thexyz: that's a valid opinion |
10:39 |
sapier |
but if you want to ensure non malicious code mobf never will be part of mmdb |
10:39 |
thexyz |
sapier: why? |
10:39 |
celeron55 |
it's not about ensuring, it's about reducing the risks considerably |
10:39 |
sapier |
because I don't believe anyone will read full mobf code to confirm it doesn't contain maicious code |
10:42 |
sapier |
ok reducing risk is possible as malicious mods could be sorted out ... but this can be done for closed ones too |
10:43 |
sapier |
so risk is (roughly) (time since upload / number of downloads) * some factor ;-) |
10:43 |
sapier |
... forget about it :-) |
10:44 |
celeron55 |
anyway we do need the security improvements for the API |
10:45 |
celeron55 |
the risk for malicious mods and human error is too large otherwise |
10:46 |
celeron55 |
(the only valid opinion against that is if the same person also is overally against the automated database) |
10:46 |
sapier |
so its time to think about security changeset again and find out what's usefull and what still needs to be improoved? |
10:47 |
celeron55 |
well, we either have both, the database and the security patches, or neither |
10:47 |
celeron55 |
it doesn't make sense to have only either one |
10:47 |
celeron55 |
and it seems we're going to have the db, so there are no options |
10:49 |
sapier |
ok I'll have a look at the security pull request and see what's still valid but I wont fight for it against everyone else like last time |
10:49 |
celeron55 |
you can freely quote my reasoning 8) |
10:50 |
sapier |
and you are ok with api changes (where not possible to avoid) too? Of course first we need to find a way to avoid but maybe this isn't possible everywhere |
10:51 |
celeron55 |
i think it should be as minimal as possible; didn't you already have the things for allowing safe file access with existing interfaces? |
10:51 |
sapier |
e.g. os.execute ... this can't be done in a safe way and some ppl will fight against disabling it ;-) |
10:52 |
celeron55 |
eg. os.execute should be just hidden from mods |
10:52 |
sapier |
yes I did |
10:52 |
sapier |
hiding is like obfuscuating ... you need to disable debug to really stop mods from accessing it that way |
10:52 |
celeron55 |
well of course that too |
10:53 |
celeron55 |
but don't eg. do any of the complete metatable removal; remove the *metatable functions after builtin has been run and similarly for similar things |
10:53 |
sapier |
this is necessary because debug does allow accessing lua stack by index ... hidden functions will still have same index on each start so you'd have to find out that index only once |
10:54 |
sapier |
metatable is more complex ... yes I know it needs to be done but I'd have done that in a second step with help of someone who is more experienced in metatables ... any suggestions? |
10:55 |
celeron55 |
suggestions? well, how about adding setmetatable = nil; getmetatable = nil; to the end of builtin.lua |
10:55 |
sapier |
do you think this is enough? |
10:55 |
celeron55 |
it most likely is |
10:56 |
celeron55 |
the scopes should work to our favour |
10:56 |
celeron55 |
all this isn't as hard as you think :P |
10:56 |
sapier |
at least if we can remove all features allowing to ignore scopes |
10:57 |
celeron55 |
those should be limited to debug |
10:57 |
celeron55 |
...as far as i know |
10:57 |
sapier |
the hard thing is not to miss a single leak as this'd be enough ;-) |
10:58 |
celeron55 |
http://securityreactions.tumblr.com/post/36806874808/trying-to-exploit-a-sandboxed-environment |
10:58 |
celeron55 |
8) |
10:58 |
celeron55 |
pictured: the scopes of mods |
10:58 |
sapier |
:-) |
11:01 |
sapier |
completely unrelated does minetest support animated gifs in formspec? :-) |
11:05 |
thexyz |
what's wrong with metatables? |
11:10 |
|
nore joined #minetest-dev |
11:12 |
sapier |
nothing is wrong they're just a nightmare as of security point of view ;-) |
11:13 |
thexyz |
well can you elaborate exactly how they're "a nightmare"? |
11:13 |
sapier |
you can do anything you want if you have metatable access by mod |
11:14 |
thexyz |
can you provide an example? or a link for me to read about it? |
11:15 |
celeron55 |
why not just googling "lua sandboxing metatables" |
11:15 |
celeron55 |
first result: http://lua-users.org/wiki/SandBoxes |
11:15 |
sapier |
it's some time ago since I evaluated this as security was always dropped if I remember correctly by metatable access you can break out of sandbox using arbitrary functions again |
11:15 |
celeron55 |
ctrl+f metatable |
11:15 |
celeron55 |
basically a mod can affect the behavior of any other code by modifying metatables |
11:16 |
celeron55 |
you can't use arbitrary functions (AFAIK), but you can practically feed any data you want to functions that any other code calls |
11:17 |
celeron55 |
by just making the metatable make something be read as something else (or eg. modifying how string operations work, or whatnot) |
11:17 |
sapier |
I'd be surprised if this couldn't be abused to call other functions |
11:17 |
celeron55 |
i don't think you can get a reference to a function that isn't in your current scope |
11:18 |
|
PilzAdam joined #minetest-dev |
11:18 |
celeron55 |
but... well, if you can inject a function as a callback via a metatable to something where the global environment or get/setmetatable is passed as a parameter, then you have it |
11:18 |
celeron55 |
8) |
11:18 |
celeron55 |
basically metatables create infinite holes |
11:20 |
celeron55 |
but not very serious ones in common cases; it's easiest to just crash something with them |
11:20 |
thexyz |
oh, okay |
11:20 |
sapier |
does anyone have a hint for me where to look for chat drawing code? I'm annoyed chat messages catching clicks meant for gui :-) |
11:20 |
thexyz |
now I'll just have to make user add a line to builtin .lua to make stress work, great |
11:22 |
sapier |
found it .. I should ask faster ... did look for it half an hour now :-) |
11:23 |
celeron55 |
thexyz: after some time we might add some kind of a system for allowing some mods to be automatically trusted, but yes, you'll have harder time with stress in the near future |
11:23 |
celeron55 |
thexyz: of course a better alternative for stress is to just toggle off mod security from settings :P |
11:23 |
celeron55 |
oh, talking of which... we need protected settings 8) |
11:24 |
celeron55 |
protected from mods, that is :P |
11:24 |
sapier |
I allready added that ;-P |
11:24 |
sapier |
very simple all settings starting with "security" are read only if security is enabled :-) |
11:27 |
thexyz |
oh well |
11:27 |
thexyz |
because fuck oop yeah |
11:28 |
sapier |
but still mods like map or irc will fail as they require to execute external apps |
11:28 |
celeron55 |
thexyz: it's really no use insulting us; we just do what we need to |
11:29 |
celeron55 |
sapier: a setting required for those is understandable to anyone |
11:29 |
celeron55 |
a setting required for thexyz's stress thing is less understandable |
11:30 |
celeron55 |
(if this is new to someone, it's a jquery-like thing for MT's API) |
11:31 |
thexyz |
yay, yay, I have no idea how many mods actually use metatables |
11:32 |
sapier |
I remember some small pieces about that one :-) |
11:32 |
|
Calinou joined #minetest-dev |
11:32 |
thexyz |
but there's no point in security if most mods will ask you to disable it |
11:32 |
celeron55 |
afaik not many mods at all |
11:33 |
thexyz |
okay |
11:33 |
sapier |
most common use is serialization but thats builtin |
11:33 |
celeron55 |
thexyz: what kind of stuff does stress use metatables for? |
11:34 |
celeron55 |
i'm wondering whether those uses could be added to builtin as some kind of limited functions that still are always secure... probably not |
11:34 |
celeron55 |
you could research that a bit if you're bored 8) |
11:35 |
thexyz |
celeron55: OOP, obviously |
11:36 |
thexyz |
closures are not an option |
11:47 |
|
adc joined #minetest-dev |
11:55 |
sapier |
does anyone have an idea how to push chat behind formspecmenu? just pulling all menus to front doesn't seem to work |
11:55 |
sapier |
hiding chat completely while a menu is active isn't an option am I right? |
12:01 |
celeron55 |
sapier: well the problem is that the guiroot element (main.cpp, mainmenumanager.h) is created before the chat |
12:01 |
celeron55 |
try IGUIElement::sendToBack() or something |
12:02 |
celeron55 |
after the chat stuff is created |
12:02 |
celeron55 |
to something |
12:03 |
sapier |
sendToBack seems to be quite new ... at least my irrlicht version doesn't have it |
12:04 |
sapier |
I tried to pull all menus after chat creation too but no success by now |
12:08 |
kahrl |
sapier: try bringToBack, it was renamed in 2011 |
12:09 |
sapier |
not available too |
12:09 |
kahrl |
maybe bringToFront when a formspec menu is created |
12:10 |
sapier |
I tried different positiosns by now but didn't succeed but bringToFront requires parent and child ... not sure if I need to pull menu childs to top too |
12:12 |
kahrl |
you have the menu and you have guiroot |
12:12 |
sapier |
not sure if I even have right parent :-) |
12:13 |
kahrl |
what did you try? |
12:13 |
sapier |
getParent() of menu |
12:13 |
kahrl |
well that's guiroot |
12:14 |
sapier |
ok then it should work ... I thin I need to verify this |
12:14 |
sapier |
wait ... guiroot is a text element? :-) |
12:14 |
celeron55 |
irrlicht doesn't have a proper GUI hierarchy so i invented that hack 8) |
12:15 |
celeron55 |
a looong time ago |
12:15 |
sapier |
maybe it doesn't work because the guiroot is visible and always drawn after it's children? |
12:16 |
kahrl |
irrlicht always sends (mouse) events to the innermost child, afaik |
12:16 |
sapier |
if menu is child of guiroot text this is obviously not true as the click doesn't have any effect while text is displayed on top of a button |
12:17 |
kahrl |
celeron55: what about IGUIEnvironment::getRootGUIElement()? |
12:17 |
celeron55 |
kahrl: oh dunno, maybe i was just blind or something; just try it |
12:18 |
celeron55 |
or maybe there is some unobvious reason that i have forgotten and isn't even a reason anymore 8) |
12:19 |
sapier |
hmm children are only drawn if root element is visible. As hiding chat is possible while menu still beeing drawn the chat and root element can't be same |
12:20 |
kahrl |
sapier: yeah the chat element and the formspec menu are siblings |
12:22 |
kahrl |
wait, actually no |
12:22 |
kahrl |
the chat element is a child of the actual root (getRootGUIElement) and formspec is a child of guiroot |
12:22 |
kahrl |
that's why your bringToFront doesn't help |
12:24 |
sapier |
ahh so I need to pull guiroot to front |
12:25 |
sapier |
ok works ... still looks ugly with text behind transparent gui but at least the interface works now |
12:29 |
|
Zeitgeist_ joined #minetest-dev |
12:31 |
kahrl |
when I try to remove guiroot and use NULL instead the formspec is missing from the mainmenu |
12:32 |
sapier |
guienv->getRootGUIElement()->bringToFront(guiroot); at game.cpp 3000 will work |
12:33 |
sapier |
great ... while generating map mobf spawn algorithms consume 60% of total minetest cpu time |
12:33 |
sapier |
I guess there's some work to do |
12:35 |
PilzAdam |
sapier, try simple mobs :-p |
12:35 |
sapier |
of cours if I wanted stupid mobs I'd use it ;-P |
12:37 |
sapier |
or did you finaly manage to make your mobs not go swim all the time? |
12:37 |
PilzAdam |
no, they like swimming |
12:37 |
sapier |
and diving of course ;-P |
12:38 |
sapier |
but I guess I need to fix the spawning problem I need the cpu power for advanced movegen now honoring mob extents |
12:41 |
sapier |
btw pa did you try the autorotate feature with sm? |
12:41 |
PilzAdam |
not yet |
12:42 |
sapier |
I guess I know why mobf mobs are rotated 90° to sm mobs .. I didn't want to add a offset for autorotate |
12:43 |
BlockMen |
#877 fixes the tab issue like here -> http://i.imgur.com/EyBbEyu.png |
12:44 |
BlockMen |
*at msvc builds |
12:44 |
sapier |
https://github.com/minetest/minetest/pull/878 fixes chat catching menu clicks |
12:45 |
kahrl |
wow |
12:45 |
sapier |
wow? |
12:45 |
kahrl |
does msvc seriously delete temporaries before the end of the statement? |
12:45 |
kahrl |
or what is going on in #877 |
12:47 |
sapier |
that'd be the best explanation why this should help |
12:48 |
PilzAdam |
sapier, ummmm... you do realise that mobf's rotation is wrong? |
12:48 |
sapier |
but that's very very tough optimization |
12:49 |
sapier |
no sm and main model is wrong ... unless you want to add a offset to any single autoupdate |
12:49 |
PilzAdam |
try using upright_sprite, you will notice that they will move sideways |
12:50 |
PilzAdam |
so either fix your mobf models or add the offset |
12:50 |
sapier |
so we have inconsistent orientations within core |
12:50 |
sapier |
sprites moving different than models |
12:50 |
PilzAdam |
not really, the only thing that has an offset is mobf |
12:50 |
sapier |
autorotate doesn't have an offset |
12:51 |
sapier |
I don't rotate models myself anymore in current version |
12:51 |
PilzAdam |
you should add it or your mobf mobs will move sideways, since then Im gonna fix the rotation |
12:51 |
PilzAdam |
since the offset you have hardcoded now breaks everything else |
12:51 |
sapier |
WHAT? you're gonna add a offset to autorotation ??? |
12:53 |
sapier |
m_yaw = atan2(m_velocity.Z,m_velocity.X) * 180 / M_PI; is plain degree to rad transalation am I right? n offset |
12:53 |
sapier |
if you want to make YOUR mobs move correct you need to do a + x*M_PI |
12:53 |
sapier |
that's an offset |
12:54 |
kahrl |
sapier, your menu commit moves item tooltips behind the menu |
12:55 |
sapier |
argh I want "bringtoback" ;-) |
12:56 |
kahrl |
perhaps we can get rid of the custom "root" element completely like so: https://gist.github.com/kahrl/6261515 |
12:56 |
kahrl |
sapier: does that ^ fix the issue you're trying to solve? |
12:56 |
sapier |
I try |
12:57 |
sapier |
pa is doing the celeron after not knowing what to tell about offsets ;-) |
12:58 |
PilzAdam |
what? |
12:59 |
sapier |
I understood you want to ADD a additional offset to autorotate is this true or false? |
13:00 |
kahrl |
we'll obviously there are two opposing views on what offset should be used |
13:00 |
kahrl |
we should make a compromise and use 45 degrees |
13:00 |
sapier |
no there shouldn't be a offset used at all |
13:00 |
kahrl |
well* |
13:00 |
sapier |
offset == add something -->cpu load |
13:00 |
PilzAdam |
sapier, fact is that it breaks everything except your models |
13:00 |
sapier |
so it's changeing a model once and for ever not causing any additional cpu load |
13:01 |
sapier |
or cause additional cpuload on each engine step for any model |
13:01 |
PilzAdam |
you also need to change the upright_sprite drawtype and add an offset there |
13:01 |
PilzAdam |
also adding a value will surely add 10 seconds CPU times per second |
13:02 |
sapier |
of course its better to add a workaround than fixing a bug ... sorry thats really insane |
13:03 |
PilzAdam |
ummm.. for some reason all my mobs walk in squares, and I have commented out all setyaw() calls |
13:04 |
sapier |
but enabled autorotate? |
13:04 |
PilzAdam |
yes |
13:04 |
sapier |
of course autorotate doesn't use a offset |
13:05 |
sapier |
unless this is wrong: m_yaw = atan2(m_velocity.Z,m_velocity.X) * 180 / M_PI; |
13:05 |
sapier |
you gonna need to fix it |
13:05 |
sapier |
and missing a "+ x*M_PI" is NOT beeing wrong |
13:06 |
sapier |
kahrl your version is better I dropp the pull request |
13:07 |
kahrl |
sapier: there might be other stuff my version is breaking |
13:07 |
sapier |
mine does break things too |
13:07 |
kahrl |
yeah |
13:08 |
sapier |
PA if you manage to find a way to fix that line without adding additional addition I'm gonna switch my models but fixing compiletime bugs in runtime is insane |
13:09 |
kahrl |
sapier, PA, do you think this should be merged? https://gist.github.com/kahrl/6259610 |
13:09 |
kahrl |
sapier: ^ should fix problems with find_path in mobf |
13:10 |
PilzAdam |
kahrl, if it works, sure |
13:10 |
sapier |
problem with find_path? didn't even know about it :-) |
13:10 |
kahrl |
PilzAdam: tested it with both bundled lua and luajit-2.0.0_beta7 |
13:10 |
kahrl |
sapier: something about trailing nils (with cause crashes because the core doesn't detect them as nils) |
13:11 |
sapier |
oh |
13:11 |
kahrl |
sapier: https://forum.minetest.net/viewtopic.php?pid=93768#p93768 |
13:12 |
sapier |
that one ... I thought it was settled long time ago |
13:12 |
kahrl |
unless you changed the minetest.env:find_path call to minetest.find_path, no |
13:12 |
sapier |
I did :-) |
13:13 |
kahrl |
ah :) |
13:13 |
sapier |
I don't use legacy functions |
13:13 |
kahrl |
the line in deprecated.lua should be fixed anyway though |
13:13 |
sapier |
true |
13:15 |
PilzAdam |
are angles usually passed as radian or degree to the API? |
13:16 |
sapier |
depends |
13:16 |
sapier |
if I remember correctly it's not consistent but degrees are more common |
13:18 |
|
proller joined #minetest-dev |
13:21 |
PilzAdam |
sapier, https://gist.github.com/PilzAdam/6261635 |
13:21 |
BlockMen |
can #877 and #865 be merged? |
13:21 |
sapier |
NO |
13:21 |
sapier |
yo do an addition where it's not necessary this function is called at very high frequency |
13:22 |
sapier |
it's not like doing a text conversion on mouseclick |
13:22 |
PilzAdam |
its the only sane way to solve it, since its valid to have upright_sprite move sideways or something else |
13:22 |
sapier |
no it's no sane way ... it's the only way to make lazy modders not need to change their buggy models |
13:23 |
PilzAdam |
so upright_sprite is a "buggy" model? |
13:23 |
sapier |
where's the upright sprite code? maybe there is a bug |
13:23 |
sapier |
but the way you suggest adds performance penalty to any single step multiplied by number of entities |
13:24 |
PilzAdam |
how do you define "bug"? what is the correct way, is the flat side the front or the wide one? |
13:24 |
sapier |
front is same as face to me |
13:24 |
PilzAdam |
you really whine about one single + ? |
13:25 |
sapier |
it's a single + called thousand times a second |
13:26 |
sapier |
it's not done in some rare to happen case it's done EVERYTIME |
13:26 |
sapier |
yes on your 16 core i7 power machine this isn't even noticable |
13:26 |
PilzAdam |
following this we need to remove the automatic_face_movement_dir completly |
13:26 |
sapier |
following your arguments we need to not do anything |
13:26 |
Calinou |
there is no 16 core i7 |
13:26 |
Calinou |
not even 8 cores :P |
13:27 |
kahrl |
Calinou, just use multiple processors and bam |
13:27 |
sapier |
but the difference between autorotation and your fix is autorotation can't be done prior compilation |
13:27 |
sapier |
rotation of model to avoid this addition is done once |
13:28 |
PilzAdam |
no, you cant rotate upright_sprite in a mod |
13:28 |
Calinou |
on top of that Minetest isn't multithreaded much |
13:28 |
PilzAdam |
stop thinking about models |
13:29 |
sapier |
who uses upright sprite and how are they drawn explain to me maybe I understand why you think there can't be a fix |
13:29 |
PilzAdam |
its simply insane to define that one direction is supported |
13:29 |
PilzAdam |
there are at least 2 ways that are perfectly valid |
13:30 |
sapier |
so we drop any attempt to keep performance in a usefull matter as soon as pa doesn't want to fix a bug in his mods ... great |
13:31 |
PilzAdam |
I am not talking about my mods, I am talking about upright_sprite |
13:31 |
PilzAdam |
also, I dont believe you that this increase CPU time a lot, feel free to benchmark it and prove me wrong |
13:31 |
sapier |
I guess by fixing content_cao.cpp L 897 you could even rotate upright sprites to not require rotation for them |
13:32 |
sapier |
PA it's not a single occasion causing a game to be slow it's 100000 needls |
13:33 |
sapier |
the single blocker is easy to find but the small things where 1 or 2 cpu operations are wasted 1000 times a second are difficult to sort out |
13:42 |
kahrl |
sapier: I think you could save more CPU time by not repeatedly calling updateNodePos |
13:42 |
sapier |
another optimization of course ... but doesn't make a difference for the other case |
13:44 |
kahrl |
PA is right, some might want the sprite to face the wide side or the small side |
13:44 |
sapier |
so we add a performance penalty for everyone ... fine |
13:44 |
kahrl |
think of an oerkki (wide side is front) vs. a ship (wide side is side) |
13:45 |
sapier |
we do have sprites with multiple sides |
13:45 |
sapier |
so if you want a sprite having front back top whatever you can already do that |
13:45 |
kahrl |
you mean like the DM? |
13:46 |
sapier |
btw autorotate doesn't even make sense for upright sprites |
13:46 |
PilzAdam |
what? |
13:47 |
sapier |
isn't the uprighte sprite the one showing same direction to player everytime? |
13:47 |
PilzAdam |
no |
13:47 |
PilzAdam |
upright_sprite is the 2D player |
13:47 |
PilzAdam |
the thing that my mobs previously used |
13:47 |
sapier |
ok still different views are possible same way as dm |
13:48 |
PilzAdam |
btw, Ill merge #865 since its a copy and paste error |
13:48 |
sapier |
so why do we need any single feature in different variants |
13:49 |
sapier |
ok |
13:50 |
kahrl |
PilzAdam: yeah can be merged |
13:55 |
sapier |
btw does someone use the dm sprite mechanism? |
13:55 |
PilzAdam |
no, I dont think so |
13:55 |
kahrl |
celeron's mob+dungeon mod certainly does |
13:55 |
sapier |
explains why it seems to be broken in current core |
13:56 |
sapier |
mobf uses it for 2d mobs too but that feature isn't tested very often and it doesn't seem to work right now |
14:56 |
sapier |
ok not a core issue |
14:58 |
sapier |
it's a little bit diffucult to tell but orientation seems to be fine for sprites too (without offset) |
15:15 |
|
Jordach joined #minetest-dev |
15:18 |
|
BlockMen joined #minetest-dev |
15:22 |
|
Calinou joined #minetest-dev |
15:24 |
sapier |
are temperatures in degree celsius? |
15:24 |
Jordach |
sapier, yes |
15:25 |
sapier |
wow ... 52 degrees celsius in grassland? |
15:25 |
PilzAdam |
no, they are not in °C, humans cant survive in >70°C in the desert |
15:26 |
sapier |
that's what I meant ;-) |
15:43 |
ShadowNinja |
I usually get -70C in skyblock... |
15:44 |
sapier |
that's fine but +70 in desert and 50 in grassland? |
15:44 |
sapier |
this can't be celsius ;-) |
15:45 |
ShadowNinja |
Fine? I maybe shivering just a bit. Oh, wait, no, I will be frozen. |
15:45 |
Calinou |
farheinheit ftl |
15:45 |
ShadowNinja |
This can probably be solved by just tweaking some noiseparams. |
15:46 |
sapier |
I think so too it's no problem just a little bit irritating |
15:57 |
|
hmmmm joined #minetest-dev |
16:16 |
|
Neological joined #minetest-dev |
16:19 |
|
NakedFury joined #minetest-dev |
16:27 |
|
AllegedlyDead joined #minetest-dev |
16:35 |
|
Akien joined #minetest-dev |
16:43 |
sapier |
https://github.com/minetest/minetest/pull/879 don't update direction for mobs automatic facing movement direction if they're not moving at all |
16:45 |
ShadowNinja |
auto-face should be designed with things other than mobs in mind. |
16:45 |
sapier |
ok any suggestions? |
16:46 |
ShadowNinja |
Although I need set_pitch before it is usefull to me. (a guided missle mod) |
16:46 |
sapier |
so you need to update it to 3d mode no problem just do it ;-) |
16:47 |
ShadowNinja |
Currently the missle stays straight up even while falling. |
16:47 |
ShadowNinja |
Update it to 3D mode? |
16:47 |
ShadowNinja |
It uses a model. |
16:48 |
sapier |
no what I meant is autorotate uses yaw only atm you could enhance it to use pitch too |
16:52 |
sapier |
as we don't seem to care about performance I suggest not using a single value but a table e.g. { autorotate_xz=true/false, autorotate_xy=true/false, offset_xz=math.pi*whaterver, offset_xy=math.pi*whatever } ... I guess this will allow all combinations of wrong models sprites whatever to be rotated correct |
16:53 |
sapier |
Sorry Shadow you've not been the bady guy but have been hit too ;-) |
17:03 |
|
sapier1 joined #minetest-dev |
17:10 |
|
proller joined #minetest-dev |
17:16 |
|
Ritchie joined #minetest-dev |
17:54 |
|
AllegedlyDead joined #minetest-dev |
18:15 |
|
jojoa1997 joined #minetest-dev |
18:27 |
|
BlockMen joined #minetest-dev |
18:46 |
|
BlockMen left #minetest-dev |
19:55 |
proller |
ShadowNinja, not noise is +- good, need more smart normalizing season change, now it stupid -30..+30 depend on season |
19:56 |
|
Jordach joined #minetest-dev |
19:59 |
|
Jordach joined #minetest-dev |
20:05 |
|
Jordach joined #minetest-dev |
20:08 |
|
Jordach joined #minetest-dev |
20:12 |
|
Jordach joined #minetest-dev |
20:23 |
|
Jordach joined #minetest-dev |
20:29 |
|
kaeza joined #minetest-dev |
20:34 |
|
Jordach joined #minetest-dev |
20:59 |
|
diemartin joined #minetest-dev |
21:36 |
|
ch98 joined #minetest-dev |
21:50 |
sapier1 |
new record 80C in grassland ;-P |
21:59 |
sfan5 |
can someone test if #880 is fine? |
22:01 |
|
Zeitgeist_ joined #minetest-dev |
22:02 |
proller |
sapier1, need to make tree burn abm |
22:04 |
sapier1 |
80° I guess I should make chicken avoid that areas ;-) |
22:39 |
kaeza |
make air turn into ice at -272ºC :P |
22:39 |
|
jordach joined #minetest-dev |
22:42 |
|
sapier1 left #minetest-dev |
22:49 |
proller |
kaeza, it need to make custom melt-freeze temps for any block type |
22:49 |
kaeza |
proller, the ":P" meant it was a joke |
22:50 |
kaeza |
anyway, that is a good feature to have |
22:50 |
proller |
its in my todo, but dont know start doing it |
22:50 |
proller |
to make lavacooling via it |
22:51 |
proller |
^^ dont know when start |
22:51 |
proller |
and if it starts work with lava - no problem to make with air 8) |