Time Nick Message 00:01 est31 well shrug there it perhaps even looks nicer 00:12 est31 Can you "consolidate" the history to a format in which you want to get it pushed? 00:20 ShadowNinja Well, I'm not quite done yet. 00:21 ShadowNinja I just finished making the overflow work a bit better (it now allows overflow, as long as it doesn't introduce a conflict) and now I'm adding a Lua custom ID API. 00:46 paramat hmmmm #3313 00:46 ShadowBot https://github.com/minetest/minetest/issues/3313 -- Mapgen: Add flat mapgen by paramat 00:50 paramat the 'trees' mgflag is unused in mgv5/v7/fractal. i'd like to use it to toggle decorations. i'm thinking when that flag was added for mgv6 trees were almost the only decoration, so we can consider it the 'decoration flag' 00:51 paramat then when the 'flat' flag is removed the global mg flags will truly be global 00:55 ShadowNinja est31: I think how it is right now is how I'd prefer to merge it, possibly merging the header sorting and doc commits. It's at 11 commits now (10 with that merge). 00:56 ShadowNinja Anything else that you think should be merged? 00:58 est31 lemme check 01:04 est31 so this is how we want to do PRs in the future? 01:05 est31 separated, even if it would be ok to merge them? 01:06 est31 and can you leave the size be cached? 01:06 est31 https://github.com/ShadowNinja/minetest/commit/cb11ec0f447ba622c41ec8beec78c8e78640a103#diff-62c82220ae4354cafe2c52da7e66e63eR215 01:07 est31 I dont think compilers will optimize it, and even if they do, its faster in debug mode, thats already a thing isnt it 01:07 est31 What's exactly the reason to merge that commit anyway 01:07 est31 I'd just simply drop it 01:10 est31 That other commit "Move AreaStore container selection logic into getOptimalImplementation" 01:11 est31 I'd remove that as well 01:13 est31 The only commit that's really needed is "Fix SpatialAreaStore not freeing removed areas" 01:13 est31 and "Add AreaStore custom ID API" perhaps, but I haven't had a look at it 01:13 est31 serialisation too 01:18 est31 can you squash the "change reference to pointer" commits and the commit that passed the area as a reference? 01:25 paramat ShadowNinja what's your opinion on game#665 ? just needs 1 more -1 to close it, i think the author would like a decision 01:25 ShadowBot https://github.com/minetest/minetest_game/issues/665 -- Add many wooden fences made out of the 4 kinds of woods by LeMagnesium 01:26 ShadowNinja est31: About size(): It's certainly implemented as an inline something like "size_t size() { return _M_size; }" which the compiler will optimize to a direct access in any mode. Reason: The removeArea code is much cleaner and clearer. The ref->ptr commit was already merged before I asked you to check. 01:26 est31 what? 01:26 est31 you pushed that stuff? 01:27 ShadowNinja est31: merged as in I merged the commits together, not pushed to master. 01:27 est31 ah ok 01:28 ShadowNinja paramat: I don't like the weird connections between different types, but I think the idea is a good one. 01:29 ShadowNinja The craft definitely has to give more than two now that it requires more than four full nodes worth of material though. 01:33 est31 okay added some comments to the PR ShadowNinja 01:40 paramat ok 01:52 est31 oh 01:52 est31 It seems all the time minetest had speedhacks available behind JUST A SETTING 01:52 est31 that's bad 01:52 est31 (client side) 01:53 est31 now as that setting has been added to the keymap at least somebody has seen it 01:53 est31 #3314 01:53 ShadowBot https://github.com/minetest/minetest/issues/3314 -- Prevent fast move by autorun by Rui914 01:54 paramat hmmmm .. then perhaps we could add a 'flat' spflag to mgv6 for those who want flat mgv6 worlds 01:54 hmmmm erm 01:54 hmmmm I have no idea 01:54 hmmmm I wanted to completely get rid of the flat flag 01:55 hmmmm is it actually desirable to have v6 in a flat form? 01:55 paramat yes as a global flag 01:55 paramat i'm not bothered but some may want it 01:55 hmmmm I dunno I doubt it personally 01:55 paramat lol 01:55 hmmmm I say get rid of it totally unless somebody complains 01:55 hmmmm you'll never really know unless you just do it 01:55 paramat ok 01:56 hmmmm well 01:56 est31 good attitude :) 01:56 hmmmm removing it should be in a separate commit 01:56 hmmmm as far as reverse compatibility: leave MG_FLAT in there, just set mgname = "flat" if it's present and unset MG_FLAT 01:56 paramat yes after mgflat is up and running smooth 01:56 hmmmm yeah 01:58 paramat replied to your comment 02:01 paramat ok thanks 02:16 ShadowNinja hmmmm: Er, is the flat flag broken? My creative server uses it. (mgv6) 02:17 hmmmm why? no 02:17 paramat ah see someone who needs flat mgv6 02:18 hmmmm well we dunno if he actually NEEDS it 02:19 hmmmm but if we go ahead with the transition as currently planned, the biomes will be inconsistent when new map is generated 02:19 hmmmm no idea if that's considered to be a problem 02:20 paramat the trees are a different design, different tunnels 02:21 hmmmm bleh 02:22 hmmmm people are going to not understand the difference between mgv6 flat and the "flat" mapgen 02:25 paramat i'm okay with your plan 02:30 hmmmm oh 02:31 hmmmm having inconsistent v6-style caves within the same map is not a problem either 02:31 hmmmm since they're discretely created 02:31 hmmmm that problem only exists with noise-based algorithms 02:31 paramat ok 02:31 hmmmm so the biomes would be the only thing that messes up on v6 flat maps 02:32 paramat i wonder if we need a global 'decoration' flag, or if this should just be an spflag for mgflat? 02:32 hmmmm hmm 02:32 hmmmm if you make a flag for decorations 02:32 hmmmm these are like "generated features" 02:32 hmmmm it only makes sense to have a flag for ores as well imho 02:34 paramat and perhaps biomes too =/ 02:34 paramat i'm just hesitant to add extra global flags 02:35 paramat currently modders can use 'clear registered biomes/decorations' 02:38 est31 hmmmm, your static assert macro makes my compiler complain 02:38 hmmmm who is your compiler and what does he do? 02:38 est31 gcc 02:38 est31 5. something 02:38 hmmmm version though 02:38 hmmmm oh... gcc 5... 02:38 est31 it compiles but it makes a warning 02:39 est31 unused private type 02:39 hmmmm bleh 02:39 est31 I've tried to suppress it, but the only way I found it so that its condensed only works for c++11 02:39 est31 or c99 02:39 hmmmm I wonder if I could ever "use" it but make it not affect compilation 02:40 est31 https://gcc.gnu.org/onlinedocs/gcc/Diagnostic-Pragmas.html 02:40 est31 I had a look it even works for clang 02:41 hmmmm i guarantee you MSVC will complain about an unknown pragma 02:41 est31 well it can be escaped with ifded 02:41 est31 ifdef* 02:41 est31 clang and gcc only 02:41 hmmmm maybe #ifndef _MSC_VER 02:42 est31 or a blacklist as you say 02:42 hmmmm yeah, I'm pretty sure that ICC supports it too if gcc and clang do 02:42 hmmmm that's literally the only other compiler we're worried about supporting 02:44 hmmmm hmmmm 02:45 hmmmm I think you could also do a STATIC_ASSERT by using some template trickery but my template metaprogramming skills are lacking :-) 02:46 est31 Can't we just use a run-time assert for pre-c++11, and static_assert for c++11? 02:46 est31 btw compilation fails with --std=c++11 02:46 est31 src/threading/thread.h:164:27: error: ISO C++ forbids declaration of ‘DISABLE_CLASS_COPY’ with no type [-fpermissive] 02:46 hmmmm hmmm 02:46 est31 src/threading/thread.h:164:21: error: cannot declare parameter to be of abstract type ‘Thread’ 02:47 est31 thread.h:54:7: note: because the following virtual functions are pure within ‘Thread’ 02:47 est31 and then Thread::run() 02:47 est31 (line 140) 02:48 hmmmm interesting 02:48 hmmmm I understand that error 02:48 est31 can you fix it? 02:48 hmmmm it looks like the only way around this one is to add DISABLE_CLASS_COPY to each individual implementation of Thread 02:49 hmmmm how do I compile with --std=c++11 anyway 02:49 est31 cmake -DCMAKE_CXX_FLAGS="-std=c++11" 02:49 hmmmm ok then 02:50 est31 perhaps it'd complain for earlier c++ standards as well 02:50 est31 havent tried 02:50 hmmmm when I added these macros they worked 100% perfectly for me on clang 3.4 02:50 est31 I think gcc 5.1 defaults to "c++11 ish" 02:50 est31 not quite c++11, but something like that 02:51 est31 and 4.X defaulted to "c++03 ish" 02:52 est31 here is my try with the warning suppress: https://github.com/est31/minetest/commit/ae7703608662e25be1d50a5e43fd6909f00798d4 02:53 hmmmm lol 02:53 hmmmm things not being in util/ really bothers you doesn't it 02:53 est31 but doesnt compile right now, due to missing _Pragma on c++03, and that threading error on c++11 and perhaps more 02:53 est31 idk, I've thought lets fix that issue as well 02:54 hmmmm "fix" "issue" 02:54 hmmmm it's an issue we both clearly disagree on 02:54 hmmmm why not ask others here and go with the majority vote 02:54 est31 fine with me 02:58 est31 @ all devs est31 hmmmm kahrl paramat sfan5 ShadowNinja celeron55 and all non present: Should we put basicmacros.h into util/ and rename it like in this commit, or should we not? Please vote in this channel by saying "I vote for merging/I vote for not merging", until Nov 4. That combination will be used to search the logs so please keep that format :) 02:58 hmmmm forums are soo much better for voting 02:59 ShadowNinja ^ Restrict to devs though. 03:00 est31 + non anonymous 03:00 rubenwardy so basically a GH issues 03:01 hmmmm ideally the vote would be restricted to devs, but the individual votes are anonymous 03:01 paramat i get that warning during compilation too. because i don't understand this i'm voting with hmmmmm :} 03:01 hmmmm well this doesn't have to do with the warning at all lol 03:01 hmmmm read the issue 03:01 hmmmm on second thought I'm not really sure I understand the reason why we're getting that C++11 error now... 03:02 hmmmm both of the parameters in DISABLE_CLASS_COPY are const references 03:02 hmmmm the only way you'd get that kind of error is if it's an actual instance of the abstract class 03:03 paramat oh derp 03:10 est31 @ all devs est31 hmmmm kahrl paramat sfan5 ShadowNinja celeron55 and all non present: I've created #3315 please vote there instead. 03:10 ShadowBot https://github.com/minetest/minetest/issues/3315 -- Rename and move basicmacros.h to util/basic_macros.h by est31 03:15 paramat hmmmm how do i call cavefractal from mgflat? i'm trying 'CaveFractal cave(&MapgenFractal, &ps);' and get 'error: expected primary-expression before ‘,’ token' 03:15 hmmmm ermmm 03:15 hmmmm don't you mean "this"? 03:15 paramat this doesn't work 03:16 hmmmm lol 03:16 hmmmm why would you possibly expect the class type to work then 03:16 hmmmm that's not a variable... 03:17 hmmmm I recommend you take a closer look at the original error message and figure out why "this" doesn't work 03:17 paramat yeah i'm just trying anything =) 03:17 hmmmm that's not necessarily a good thing.. 03:23 hmmmm oh my god 03:23 hmmmm C++11's error messages are downright arcane 03:28 paramat posted error in thread and will persevere a little more 05:16 hmmmm huh 05:16 hmmmm est31: I can't really explain why, but it seems like DISABLE_CLASS_COPY() wasn't the main cause of the C++11 compilation failures 05:17 hmmmm that being said, I needed to add some #include "basicmacros.h"s in two places 05:18 hmmmm the biggest C++11 compilation problem with the fact that I made a mistake in renaming one of the variables inside of a preprocessor ifdef block, and also another bug that existed since shadowninja's original thread refactoring 05:19 hmmmm a std::thread::id is a class, i.e. not directly convertible to (unsigned long) 05:19 hmmmm in order to print it you need to use its operator <<, so for fprintf() you needed to print it to an ostringstream first 05:19 hmmmm sucks I know but meh 05:38 paramat hmmmm #3318 simple commit i'd like to merge soon 05:38 ShadowBot https://github.com/minetest/minetest/issues/3318 -- Cavegen: Make mgv5 and mgfractal cavegen identical by paramat 05:42 paramat actually maybe i'll combine this with mgfractal actually using mgv5 cavegen 05:43 paramat (once i work out how) 05:45 paramat yeah that's what i'll do 06:39 hmmmm https://github.com/kwolekr/minetest/commit/fdede6003446efe2002fc650f635f1be73265116 06:39 hmmmm pushing in 20 minutes 07:04 hmmmm pushed 07:44 est31 thanks hmmmm 08:00 est31 hi nrz 08:00 est31 bye all 08:18 hmmmm very... very.. interesting 08:18 hmmmm something is deeply broken in minetest 08:19 hmmmm envlock seems to be covering up the symptoms of buggy script locking 08:23 hmmmm yup, so it seems as if there's something, somewhere, that's accessing lua while not locked 10:17 kilbith there's something that scares me as an user... 10:17 kilbith http://irc.minetest.ru/minetest-dev/2015-10-31#i_4436732 10:18 kilbith ^ how's legit to vote without explictly understanding the "issue" ? 10:18 kilbith and consequently blindly followinf hmmmm like a small poodle 11:45 est31 kilbith As paramat voted in GH he said he understood the issue. IRC discussions are sometimes hard to follow if you don't read everything. And I'd have phrased that last sentence of yours with a bit more politeness. 12:06 kilbith est31, he clearly said the 1st time : "i don't understand the issue" and then was the sole reason for blindly following hmmmm 12:06 kilbith you would be lying to deny that 12:08 kilbith how can i feel in safe place with that ? 12:12 kilbith i don't even see an argument on the github issue, just approving hmmmm by allegiance 12:14 kahrl people choose other people all the time to vote for them on issues they don't understand 12:14 kahrl this is how almost every democracy works 12:14 kahrl I don't see the problem 12:15 kilbith this is ridiculous, as for a democracy, you vote for a program, not a person 12:15 kilbith the latter is more common, is why the democracy is dysfonctional 12:16 kilbith but it's another story.. 12:57 celeron55 i have moved wiki.minetest.net to be hosted on my VPS; if there are issues, report them to me 12:57 Calinou celeron55, can you disable registrations? 12:57 celeron55 i have disabled account registration because captchas are a royal pain in the ass 12:57 Calinou ok 12:58 celeron55 we need to do something about that though 12:58 Calinou well, I can handle account registrations for the foreseeable future 13:17 PilzAdam celeron55, can you get proper certificates for minetest.net and *.minetest.net? 13:18 PilzAdam and maybe host dev.minetest.net, too? 13:18 celeron55 PilzAdam: https://letsencrypt.org/2015/08/07/updated-lets-encrypt-launch-schedule.html 13:19 PilzAdam dev.minetest.net is currently not accessible via https, which makes login insecure 13:19 celeron55 i'm not going to waste money buying certificates for subdomains when this is coming 13:20 celeron55 dev.minetest.net is what i'm going to move next 13:20 celeron55 i do enable https for everything with self-signed certificates, because there's really no reason not to do so 13:22 PilzAdam it's good for now, if you sign them with let's encrypt in the foreseeable future 16:19 ShadowNinja Any further comments on #3305? I plan to push it to master once I finish some tweaks on another PR. 16:19 ShadowBot https://github.com/minetest/minetest/issues/3305 -- Fix server crashing on Lua errors by ShadowNinja 16:26 celeron55 now dev.minetest.net is also hosted by me 16:26 celeron55 report issues as usual 16:26 celeron55 PilzAdam: ^ 16:26 hmmmm to be completely honest i don't have quite an opinion on 3305 16:27 PilzAdam celeron55, seems to work fine 16:27 PilzAdam celeron55, btw, the forum background and facivon are missing from minetest.net, and they also are loaded via http instead of https 16:28 hmmmm lol uh oh 16:28 hmmmm zeno is around 16:30 celeron55 ShadowNinja: it seems fine but i won't review it now 16:33 ShadowNinja celeron55: I tried to login and I just got a white page... 16:33 hmmmm what is the difference between a LuaError and a ModError 16:34 ShadowNinja Worked the second time with the "remember me" option unchecked. 16:35 ShadowNinja hmmmm: "throw LuaError()" basically means "luaL_error(...)", wheras ModError is handler as a normal exception. 16:35 ShadowNinja We could just remove LuaError and use lua(L)_error() though. 16:36 hmmmm yeah, I noticed you don't like the fact that LuaError exists at all for whatever reason 16:36 ShadowNinja celeron55: Special:SpecialPages is broken. 16:37 ShadowNinja hmmmm: Well, lua_error does basically the same thing. 16:37 hmmmm LuaError aborts execution of the C++ code as well, after some cleanup 16:37 PilzAdam ShadowNinja, "remember me" worked for me 16:37 ShadowNinja I'd prefer to have just one way to do things. As it is, both are used. 16:38 ShadowNinja PilzAdam: Might have just been the second time (cleared/set a cookie?). 16:38 celeron55 hmm 16:38 hmmmm I don't know, it's just that fixing things that aren't exactly broken makes me shiver 16:38 hmmmm more bugs will be created, I just know it 16:38 PilzAdam 502 now 16:39 ShadowNinja hmmmm: Ah, yes, it should call destructors wheras loa_error just longjmp()s. 16:39 celeron55 maybe it works better now 16:41 ShadowNinja celeron55: A hard reload fixed SpacialPages. 16:49 ShadowNinja hmmmm, PilzAdam: BTW, does this look fine too?: http://ix.io/lJT/diff 16:55 nrzkt +1 17:07 hmmmm clang makes a warning about that? 17:07 hmmmm abs() is a standard C function 17:08 hmmmm actually shouldn't that be fabs()? 17:08 nrzkt hmmmm, have you find why mapgen is silly with clang 3.7+ 17:08 nrzkt ? 17:08 hmmmm not yet 17:08 hmmmm I have a bigger problem on my plate 17:09 hmmmm ShadowNinja: that truncates speed because abs and std::abs both have integer arguments 17:15 hmmmm pfff great job sapier, turns out that scriptlock never worked 17:16 hmmmm what is the lifetime of this expression in C++: MutexAutoLock(m_mutex); ? 17:19 nrzkt the scope 17:19 nrzkt when you exit the next brace boom :D 17:19 hmmmm wrong 17:20 hmmmm it gets destroyed before the very next semicolon 17:20 nrzkt ok yes, there is no variable :) 17:20 hmmmm Foobar(params) creates a temporary object 17:20 nrzkt MutexAutoLock lock(m_mutex) is better :) 17:21 hmmmm Foobar foobar(params) creates a local variable of type Foobar, constructed with params, which has a lifetime until the end of the current scope 17:21 rubenwardy wow 17:21 hmmmm so basically Lua has been running with no synchronization all this time 17:21 hmmmm it just so happens that by luck, envlock was also locked at the same time 17:22 rubenwardy and now that you recently reduced envlock usage 17:22 ShadowNinja hmmmm: The warning was for passing a float to a function that takes int IIRC. 17:23 ShadowNinja hmmmm: Would you rather have it cast to an int? 17:23 hmmmm ShadowNinja: I would rather use the proper function, use fabs() 17:25 ShadowNinja hmmmm: std::abs is overloaded for float. 17:25 hmmmm what's your point 17:25 hmmmm I don't prefer std:: functions over standard C functions, if that's what you're getting after 17:26 hmmmm http://en.cppreference.com/w/cpp/header/cstdlib and I can't find the float overload for std::abs either 17:26 ShadowNinja hmmmm: My point's that std::abs is also correct. 17:26 ShadowNinja http://en.cppreference.com/w/cpp/numeric/math/fabs 17:26 hmmmm so you need to have cmath included for that to work 17:27 hmmmm if you didn't, then the compiler wouldn't find the float overload, and therefore it'd truncate 17:27 hmmmm that sounds like dangerous behavior to me 17:28 hmmmm what if one day somebody finds that cmath include and decides it's not needed, so they comment it out and it compiles just fine without that include 17:28 hmmmm they decide that the header was never needed or it was at one point and not used now 17:28 hmmmm sounds like something that would happen in a Cleanup(tm) 17:28 ShadowNinja hmmmm: It's fine as fabs? 17:28 hmmmm yes, just use fabs 17:28 hmmmm it's immediately clear that it's for a float due to the f prefix 17:29 hmmmm the more explicit, the better 17:29 ShadowNinja Alright, pushed. 17:32 hmmmm hah 17:32 hmmmm oh this is good 17:32 hmmmm so once you do fix the scriptlock, it turns out there's a deadlock 17:38 PilzAdam is the player position located in the center or the bottom of the collisionbox? 17:39 est31 there was some weird stuff with an offset of 1 17:39 est31 idk in which direction 17:40 est31 and then the BS BS ofc 17:45 celeron55 IIRC it's at the bottom 17:45 celeron55 at i'm pretty sure least at some point in minetest's history it was... 17:45 celeron55 fuck 17:45 celeron55 at least i'm pretty sure at some point in minetest's history it was... 17:47 celeron55 no, that isn't the case anymore 17:49 hmmmm ShadowNinja: just FYI I don't like your commit message 17:49 hmmmm you didn't fix a warning, you fixed a value truncation that was actually a minor uncaught problem, which you found because of clang's warning 17:50 celeron55 does anyone know where the player's collision box really gets set? 17:50 ShadowNinja hmmmm: Good point. 17:50 celeron55 PlayerSAO is initialized with core::aabbox3d(-1/3.,-1.0,-1/3., 1/3.,1.0,1/3.) 17:50 hmmmm this is kind of like telling people you're fixing the fire alarm that keeps beeping and being annoying by spraying an open flame with a fire extinguisher 17:50 celeron55 but -1...1 sounds like too high to work properly 17:51 celeron55 ah, the collision box is updated from Player::m_collisionbox which is set to (-BS*0.30,0.0,-BS*0.30,BS*0.30,BS*1.75,BS*0.30) 17:51 PilzAdam some testing in a mod shows that it's at the bottom 17:52 PilzAdam although collisionbox is -1 to 1 in y direction 17:52 celeron55 it is at the bottom according to Player::m_collisionbox 17:52 PilzAdam that doesn't make sense 17:52 celeron55 and it is 1.75 high 17:56 celeron55 i hope PlayerSAO::m_prop.collisionbox isn't used for anything because nothing sets it to the correct value 17:58 celeron55 i think it's even transferred to the client as the wrong value, but the client doesn't read it but instead uses its built-in value which LocalPlayer inherits from Player 17:58 celeron55 maybe this should be written down as an issue 8) 17:59 hmmmm hey celeron55, what do you personally think of the util directory? 17:59 hmmmm do you think it should be a toolkit, or just an organized place to put miscaellaneous pieces of code? 18:00 celeron55 it should be a toolkit 18:04 celeron55 the current content of basicmacros.h is toolkit-like though, and even the name is 18:04 hmmmm I made that header file because util/numeric.h is an inappropriate place to put the two macros I just recently added 18:05 hmmmm and numeric.h is kind of heavyweight for common things like ARRLEN() 18:05 celeron55 frankly i would just rename basicmacros.h to util/misc.h 18:05 hmmmm i like that too 18:06 celeron55 if there's a need for something that would have gone there but what can't be considered to be part of such a toolkit, a new file can be made for that 18:07 celeron55 altough, making something like that is nasty 18:08 celeron55 it's like building your own language at that point and all code becomes hard to use and understand on their own 18:45 hmmmm does anybody else think that GameScripting's inheritance heirarchy is potentially dangerous? 18:51 ShadowNinja hmmmm: How so? 19:01 ShadowNinja hmmmm: Also, how does #3256 look? I rebased it. 19:01 ShadowBot https://github.com/minetest/minetest/issues/3256 -- Clean up numeric.h and split FaceFositionCache from it by ShadowNinja 19:12 hmmmm ShadowNinja: I'd rather re-do the benchmarking and conclude if it's actually needed or not 19:12 hmmmm I don't like the whole idea behind FacePositionCache to be honest 19:13 hmmmm ShadowNinja: I think it's dangerous because if one of the inherited sub-modules isn't marked as virtual, it'll store a separate copy of that base class, which stores things that could cause subtle bugs like mutexes 19:15 hmmmm FWIW, many C++ coding standards have an outright ban on multiple inheritence 20:36 hmmmm guys, PTAL: https://github.com/kwolekr/minetest/commit/ea0dd97720fc6b7f37d6f561058653e619844e66 20:37 hmmmm very important ^ 20:40 PilzAdam hmmmm, is there currently any visible bug caused by this? 20:43 hmmmm no, because right now envlock just so happens to be locked all the times when scriptlock would need to be locked 20:58 PilzAdam I guess it looks good; don't know too much about this side of the scriptapi, though 21:09 est31 well, Honestly I don't understand the code just yet 21:09 est31 will have to take a look at it later 21:10 est31 but good catch I hear you've resolved a deadlock 22:24 PilzAdam celeron55, https://forum.minetest.net/viewtopic.php?f=3&t=13522 22:29 celeron55 well, now i set the correct path for "convert", but... it exploded 22:30 celeron55 what the fuck does that even mean 22:30 celeron55 "Error creating thumbnail: convert: no decode delegate for this image format `/tmp/magick-LZaxbjIi'" 22:33 sfan5 maybe it wants a file extension 22:33 sfan5 or it's just a fancy way of saying "idk what image format this is" 22:33 celeron55 but WHY 22:33 celeron55 i don't understand 22:33 celeron55 i guess i'll fix this some other day 22:34 celeron55 convert works fine for png and jpeg when i run it manually 22:43 celeron55 oh 22:43 celeron55 i now switched it from imagemagick to gd and i now get a reasonable error message: "Error creating thumbnail: File seems to be missing: " 22:57 celeron55 maybe it's working now 22:57 celeron55 it was missing some uploaded images; i don't know if there are remaining problems or missing files or missing file metadata now that i added them 22:57 celeron55 but i don't see the errors anymore