Time Nick Message 02:27 hmmmm [05:57 PM] this is awfully documented and by awful I mean not at all 02:27 hmmmm :/ 02:27 hmmmm i did the hud 02:28 hmmmm probably should've made a "getcolor" function that takes either a word, hex integer, or RGB(x,y,z) like html 02:33 hmmmm in regard to desour's thing, eugh, he's right, it is horror C++ stuff 02:33 hmmmm jfc C++17 is not needed 02:33 hmmmm did you know that C++ has optional already? 02:33 hmmmm so does C 02:33 hmmmm it's called "NULL" 02:34 hmmmm C++ standards get too bloated and integrate stuff from other languages that those other languages have because they don't have what C++ has already 07:35 rubenwardy std::optional allows for ownership 07:35 rubenwardy ie: when the optional goes out of scope, the thing inside is deconstructed 08:52 Noclip[m] How do I make a player run a command? 08:53 Noclip[m] (From within the lua API) 10:50 MTDiscord You might want to look at the sudo command that elidragon has (https://github.com/EliasFleckenstein03/elidragon/blob/master/commands.lua#L60) 11:35 MinetestBot 02[git] 04sfan5 -> 03minetest/minetest: Fix server-only builds on older CMake versions (#11566) 13fad835c https://git.io/JEOTB (152021-08-23T11:33:25Z) 12:08 BuckarooBanzai !seen DrFrankenstone 12:08 MinetestBot BuckarooBanzai: drfrankenstone was last seen at 2021-02-10 11:11:31 UTC on #minetest 12:10 BuckarooBanzai !tell DrFrankenstone can you disclose your workflow for the panoramic images here: http://panoramas.minetest.land/ ? thank you :) 12:10 MinetestBot BuckarooBanzai: I'll pass that on when DrFrankenstone is around 12:11 sfan5 wow those look nice 12:11 MinetestBot 02[git] 04SmallJoker -> 03minetest/minetest: Inventory: Fix rare out-of-bounds access 13eea488e https://git.io/JEOOj (152021-08-23T12:10:17Z) 12:11 MinetestBot 02[git] 04Desour -> 03minetest/minetest: Use utf-8 for the Irrlicht clipboard (#11538) 13dad87a3 https://git.io/JEO3e (152021-08-23T12:09:50Z) 12:11 sfan5 I think someone proposed a 360° mode as a PR once, might be that 14:29 BuckarooBanzai Ah, something like #8475 ? 14:29 ShadowBot https://github.com/minetest/minetest/issues/8475 -- Add cube map and equirectangular rendering mode by srifqi 14:30 BuckarooBanzai I tried to stitch some screenshots together with hugin but had pretty awful results :/ 14:31 sfan5 yeah like that 19:43 nisa What's the main communication channel? 19:48 sfan5 this one? 20:14 MinetestBot 02[git] 04JosiahWI -> 03minetest/minetest: Set policies through CMake 3.9 to allow enabling IPO (#11560) 13ef84c3b https://git.io/JE3xl (152021-08-23T20:13:47Z) 20:14 MinetestBot 02[git] 04Wuzzy2 -> 03minetest/minetest: Fix 6th line of infotext being cut off in half (#11456) 1363e8224 https://git.io/JE3x8 (152021-08-23T20:13:17Z) 20:47 sy Hey, if I'm making a model of my house, should 1 block be half a metre or 1 metre? 20:49 MTDiscord Usual in-game scale is 1 node = 1 meter, but you can make scale models. 20:49 MTDiscord There are also options for changing player size which effecively changes the scale of nodes 20:49 MTDiscord Openblox for example has nodes that are something like 25cm 20:49 sy interesting 20:50 sy my first issue is the doorway is technically 150cm, which can be rounded to 2 blocks 20:50 sy but at 50cm/block the door can be placed in the middle with no problem 20:51 MTDiscord Actual doors, if you use the ones built into most games, are typically 2m tall by 1m wide, so that often constrains how close to exact scale you can get if you include moving parts like those 20:52 sy indeed, well it'll be a good estimate 20:52 sy finally homedecor is needed 20:53 sy where does time go when i play?? 21:00 sy alright this will be very interesting 21:00 sy running around with a measuring tape while playing minetest! :D 21:32 sy this is quite impossible, I would need more than one nodebox per node 21:33 sy ah well, if not accurate, pretty 22:21 independent56 Hello. My new domain is 56i.ddns.net. It is truly dynamic. However, i will be down at 00:00 BST as the router is being taken down. 22:21 sfan5 why a new one? 22:22 independent56 56i.duckdns.org won't update automatically 22:22 independent56 And i refuse to continue doing things by hand 22:23 sfan5 well set up a script as described on the website? 22:23 sfan5 unless you did that for your new domain it won't update automatically either 22:30 independent56 I have used the no-ip DUC. 22:32 independent56 And wow, i didn't realise :facepaklm: 22:36 independent56 Both domains are now automagic 22:38 independent56 Second domain deleted 22:46 Noclip[m] How do I make a message get printed at the start of the game? 22:46 Noclip[m] And why does minetest.chat_send_all() not work for that? 22:47 sfan5 I'm sure it does just nobody is present at the point the code runs 22:47 Noclip[m] Ok, how do I delay it then? 22:47 sfan5 look into register_on_joinplayer 22:48 Noclip[m] Is there something like a sleep command? 22:49 Noclip[m] (I'm not having a specific goal here, I'm just trying to get into Minetest modding.) 22:50 sfan5 literally sleeping would be bad because it would lock up the server 22:50 sfan5 I could tell you about minetest.after but that's not really better 22:51 Noclip[m] Does it also lock up the server? 22:51 sfan5 it does not, wouldn't be very useful then 22:51 Noclip[m] Why is it not really better then? 22:52 sfan5 it's not "better" for your situation in the sense that if you actually want to "show a message at game start" you need to decide whether you only want to show it to the first player or all, once or each time and then look at register_on_joinplayer 22:52 sfan5 if you're just playing around do whatever 22:54 Noclip[m] How would you implement a timer which waits a few seconds after the player run a command and then does something? 22:54 sfan5 with minetest.after of course 22:55 Noclip[m] Would a literal sleeping lock the server up here, too? 22:56 sfan5 it always would 22:58 Noclip[m] I have no idea how the lua api is implemented but I would assume that the function which gets called by the command runs in parallel to the rest of the server. "it always would" -> Well then my assumtion/understanding is probably wrong. 22:58 sfan5 indeed, it doesn't run parallel 22:59 Noclip[m] Running in parallel and multi-threading are two different things, are they? 23:01 sfan5 I would consider those to be the same 23:02 Noclip[m] (A single processor can run several programs at the "same time" by jumping around between them.) 23:06 Noclip[m] Mhh, maybe my understanding of multithreading is wrong. 23:29 MTDiscord You could technically run two parallel tasks in two single-threaded computers... But they usually are the same yes... When I hear multi-threading I usually think of single machine running with multiple cores and parallel not necessarily on the same machine... I the Minetest context then I guess it's indeed the same. 23:30 Noclip[m] "Mhh, maybe my understanding of multithreading is wrong." -> My understanding seems to be right. 23:32 Noclip[m] Of course there is a difference between running literally at the same time and running seemingly at the same time. 23:36 Noclip[m] sfan5: So Minetest does always only one thing at a time? 23:37 MTDiscord Minetest has a number of threads but there's one that's massive 23:38 MTDiscord Probably about 80% of the CPU time is in one thread, so that eats one core, and the rest goes into 25% of another core. 23:39 Noclip[m] Is there a difference between the word "thread" in regards to a) processor threads and b) threads of a program/process? 23:44 MTDiscord They are different things, but I think meant to imply similar things 23:44 MTDiscord A "thread" generally refers to a part of a thing that has its own independent timeline but is still not separable from its parent 23:44 MTDiscord The thread of a core is still part of a core and doesn't have e.g. its own memory management or even scheduling. 23:45 MTDiscord Process threads don't generally have (much of) their own memory either and don't have the same level of boundary that processes do 23:46 Noclip[m] Ohh okay, I thought "thread" always referrs to processor core threads. 23:48 Noclip[m] That also explaines then why I thought "multithreading" and "parallel running" are two different things. 23:50 Noclip[m] Warr1024: So just to make this clear: You can have multiple threads of a process running inside a single cpu thread? 23:50 MTDiscord Yes 23:51 MTDiscord Er, not at the same time 23:51 MTDiscord They time-division multiplex 23:52 Noclip[m] And in programming "multithreading" usually referrs to threads of a process and not to threads of a cpu core, right? 23:52 MTDiscord So a software thread is the unit of concurrency into which software is broken down, and hardware threads are units of concurrency into which hardware is broken down, and the scheduler has to pick software threads and assign them to hardware threads, and swap them around to keep any from starving. 23:52 MTDiscord In programming, multithreading generally means breaking software up into multiple threads that COULD run concurrently, or could be scheduled in any order. 23:53 Noclip[m] I guess that means "yes" then. 23:53 MTDiscord Generally software does not need to match hardware in terms of threading 23:54 MTDiscord This could be helpful to compare parallelism and multi-threading... https://www.perforce.com/blog/qac/multithreading-parallel-programming-c-cpp 23:54 MTDiscord Ideally, software that has high performance demands should try to spread its workload out between threads such that each CPU thread is capable of running something ... but it's not always that clear-cut because there can be trade-offs. 23:54 MTDiscord Threads have overhead, so in theory you could future-proof your software by using hundreds of even thousands of threads, but the overhead would be bad on real-world current-day CPUs. 23:54 MTDiscord "Parallel programming is the process of using a set of resources to solve a problem in less time by dividing the work." "Multithreaded programming is programming multiple, concurrent execution threads. These threads could run on a single processor. Or there could be multiple threads running on multiple processor cores." 23:55 Noclip[m] Yea, I see now. It's crazy how I thought all the time before that "multithreading" always referrs to seperate cpu threads or even cores. Understanding this now makes the world look quite a bit different, lol. 23:55 MTDiscord Multithreading is sort of like a type of parallel programming technique. 23:55 MTDiscord Exactly 23:56 MTDiscord Multithreading could loosely be thought of as programming (especially if converting previously single-threaded purely-sequential software) to take advantage of multiple hardware threads by splitting it up into multiple parallel sequences. 23:56 MTDiscord Some programming languages like erlang are designed to be more parallel-first by nature and the compiler is responsible for arranging things into sequences. 23:58 MTDiscord I find this video from one if the authors of the Go programming language quite interesting on the subject of concurrency vs parallelism, which is even more interesting perhaps: https://youtu.be/oV9rvDllKEg 23:58 Noclip[m] I thought parallel programming would be the norm for pretty much any bigger (I consider Minetest as "bigger") program and multithreading would just refer to making more efficient use of the cpu's hardware threads. 23:58 MTDiscord Once upon a time I tried to learn Erlang and I think I understood the brilliance of the concept, somewhat, but never found an application for the language. I've since learned a good bit about the lisp family of languages (and even written my own interpreters and such) so it might be worth another shot... 23:59 MTDiscord I've never really bothered distinguishing concurrency vs parallelism much because most of the people I talk to don't seem to make the distinction either.