Time Nick Message 04:55 lissobone I am alive. 04:56 lissobone (Note: this is an optional notification). 06:28 MTDiscord schwarzwald: we don't support the full OBJ spec, but we do support most of B3D. I have a copy of the B3D spec in the docs folder of my modlib repo: https://github.com/appgurueu/modlib/blob/master/doc/b3d_specification.txt, but you should also be able to find it around the web. 09:13 lissobone Guys, I need your help. 09:13 lissobone It's urgent. 09:13 lissobone I got an error that says "invalid minetest.after invocation", but all arguments are on their respective places. 09:14 lissobone First is the time argument, then the function, then there are optional arguments. 09:15 lissobone minetest.after(1, blow_up, pos, obj) 09:15 lissobone This is the line that throws the error. 09:17 lissobone What can be the cause? 09:34 lissobone assert(tonumber(after) and type(func) == "function", 09:34 lissobone "Invalid minetest.after invocation") 09:34 lissobone This seems to somewhat solve my issue. 09:35 lissobone Wow, it worked after I moved the function to the start of the file. 09:35 lissobone I love you, lua. 09:35 BuckarooBanzai lissobone: how does your "blow_up" function look like? 09:36 lissobone It's basically a function that blows up the player and then removes the entity which supposedly bashed into him. 09:36 lissobone 2 lines, nothing special. It works now. 09:36 lissobone Except the explosion radius of 17 appears to be too little. 09:37 BuckarooBanzai consider using some kind of linter (usually "luacheck") you can spot a lot of bugs without spinning up minetest at all 09:39 lissobone I seldomly use any kinds of linters or syntax checkers. 09:40 BuckarooBanzai it _will_ save you a lot of time ;) 09:41 lissobone I count all the closing and ending clauses using an abacus. 10:07 MTDiscord lissobone: Lua functions are just values; the local variables holding them are just variables. A local variable is obv. only visible after its declaration. You were probably accessing a global variable, which ended up being nil and thus not being a valid function. Luacheck would have warned you about access to the undeclared global variable "blow_up". You could've saved yourself 20 mins already had you taken the 5 mins to set up Luacheck. 11:21 lissobone Well, all function were situated in the global scope. 11:36 lissobone Thank you, I have just set up luacheck in emacs. 11:37 lissobone It functions properly. 11:37 lissobone Should definitely save me some time when making mods. 11:38 lissobone The abacus can't show me where there's a missing 'end' clause. 11:40 lissobone I haven't found any scp-related content on contentdb yet. 11:40 lissobone I was recently thinking of adding 173, using a specific mathematical inequality that would detect whether or not the statue is in the field of view. 11:41 lissobone The graph would look like a 4-sided pyramid, emerging from the player's camera in the direction of looking. 11:41 lissobone It would supposedly scan every server step whether or not the statue's position is one of the solutions to the inequality. 11:42 lissobone Does anyone know anything about such graphs? 11:42 lissobone I'll just research. 11:48 lissobone Right, it's called the view frustum. 11:49 lissobone This is exactly what I require. 11:50 schwarzwald[m] luatic: It was the OBJ spec I had trouble finding. I got them mixed up! 11:56 lissobone I am done creating the function. 11:56 lissobone It would include 5 planes and their respective inequalities. 11:57 MinetestBot 02[git] 04SmallJoker -> 03minetest/minetest: LocalPlayer: Fix sneaking on nodes with large collisionboxes (#12626) 135d8a491 https://github.com/minetest/minetest/commit/5d8a4917c570e85917a3b4cf3a7b012a299012c6 (152022-10-17T11:56:04Z) 11:57 MinetestBot 02[git] 04sfan5 -> 03minetest/minetest: Take geographic distance into account for server list ordering (#12790) 1387051fc https://github.com/minetest/minetest/commit/87051fca268944248af8aa5edd027a9acd800bcf (152022-10-17T11:56:28Z) 11:57 MinetestBot 02[git] 04Abdou-31 -> 03minetest/minetest: Fix typos in lua_api.txt 134586f33 https://github.com/minetest/minetest/commit/4586f3342f729be6512b3aaa124412be23f4ac83 (152022-10-17T11:56:52Z) 11:57 MinetestBot 02[git] 04Abdou-31 -> 03minetest/minetest: Fix en_US/en_GB inconsistency in lua_api.txt 13862419c https://github.com/minetest/minetest/commit/862419c76f7f5c7525d9ac3238a6f807de1181a1 (152022-10-17T11:56:52Z) 12:03 lissobone So now it's en_US? 12:04 rubenwardy Always has been 12:07 ghoti in basic_robot, is there a way to detect programatically whether the code being executed is from a book, or from the front page of the robot spawner? 12:13 lissobone Well, I am not sure. But I've got the solution! 12:13 lissobone Just make a special variable in all programs which are written to books, and if such a variable is true or equal to something else you may set, it means that such code is from a book. 12:16 MTDiscord lissobone: Benrob's "The Infinite IKEA" game is SCP-3008 12:16 MTDiscord https://content.minetest.net/packages/benrob0329/ikea/ 12:16 lissobone Oh, yeah, infinite ikea. 12:16 lissobone I've played it. 12:17 lissobone I can't figure out how to actually play it. 12:17 MTDiscord I was thinking of doing SCP-294, the coffee machine, as a neat little gimmick mod 12:17 lissobone I can't throw out any items from my hotbar. 12:18 lissobone Well, I like broken stuff, especially when it comes to unthrowable chair legs. 12:18 lissobone And I also liked the flashlight, which worked fine and even had a 3d model. 12:19 lissobone Kind of similar to the flashlight from my mod, except the light intensity did not decrease with distance. 13:39 MTDiscord I didn't expect it to be reviewed and merged the same day of its publication! 13:42 MTDiscord This is really encouraging! So since I'm in the mood, if you could give me a list of 3 files or so that need to be spell checked the most, from minetest repo and minetest game repo 13:42 rubenwardy you might be interested in the Documentation / Beginner Friendly labels 13:43 rubenwardy there's also https://github.com/minetest/minetest_docs 13:44 MTDiscord I see. So there's already a label of such issues 13:44 MTDiscord Nice 13:44 schwarzwald[m] Ruben, opinion on unit testing frameworks for Minetest and Irrlicht? I'm using Catch2 in Irrlicht now because Minetest already uses it, but as I mentioned in the dev channel it's worrisome how slow it is. 13:46 rubenwardy in the past, I've just written my own https://blog.rubenwardy.com/2019/02/17/cpp-self-registering-test-macros/ 13:46 rubenwardy I haven't looked into any pre-existing frameworks 13:47 rubenwardy don't we already have a framework in use for the benchmarks? 13:47 schwarzwald[m] Catch2 13:47 rubenwardy is it slow because it's doing a new process per test? 13:48 schwarzwald[m] Sorry, I forgot a piece of context that is very important. 13:48 schwarzwald[m] It's slow to compile, not slow to execute. 13:49 rubenwardy ah. Sounds like c++ to me :) 13:49 schwarzwald[m] I've used doctest, which claims, to be fast to compile, and it is. So it's not just C++. 13:49 schwarzwald[m] Actually I accidentally was using doctest in the suite when I copied it, and I was confused when it compiled fast, and that's how I found out I was using the wrong test framework. 13:50 schwarzwald[m] Fortunately the compile time doesn't seem to go up much as I add tests, so it may be OK. 13:51 MTDiscord What's the purpose of this project? Is it just to rewrite lua_api.txt in a more reader friendly manner? I've read the proposal text but didn't understand 13:51 lissobone Reader friendly? 13:51 lissobone Isn't it already well-ordered and written? 13:52 MTDiscord .txt isn't really reader friendly 13:52 lissobone I just use the find feature of emacs to look for keywords I need. 13:52 lissobone Convert it to pod? Unix panpages? Info? PDF? 13:52 lissobone PDF sounds like a good idea. 13:52 lissobone Manpages*. 13:52 MTDiscord That's what i'm asking for 13:52 schwarzwald[m] No, it's not a rewrite of lua_api.txt. We're trying to provide the details that lua_api.txt doesn't touch on. 13:52 MTDiscord I don't get the purpose of that project 13:52 lissobone Can I convert it to pdf? 13:53 lissobone And try to do something else useful with it. 13:53 MTDiscord They are using ASCIIdoc 13:53 lissobone What doesn't lua_api.txt cover? 13:53 MTDiscord And you can easily get a pdf out of an ascii doc document 13:54 lissobone Well, it would be a different task to not only copy+paste it, but also create chapters. 13:54 lissobone Chapters for easy access of topics. 13:54 lissobone And also redesign it a bit and set a friendly font. 13:54 MTDiscord Yep 13:54 lissobone I can actually do that. 13:54 MTDiscord So it's not really for me 13:54 lissobone Is it required? 13:55 MTDiscord I was just asking for currently existing files that need to be spell checked 13:55 MTDiscord I mean all files need to, but i wanted to most important ones 13:56 MTDiscord lua_api.txt is using markdown, not asciidoc 13:56 MTDiscord I'll look onto the labels documentation and beginner friendly as Ruben suggested 13:57 MTDiscord @Abdou-31 it would be great if you could write docs for minetest_docs, there's still a long way to go 13:57 MTDiscord see https://github.com/minetest/minetest_docs/issues/16 13:58 schwarzwald[m] > It is possible to use a simple while-loop to wait for a timespan smaller than the server step. This is called a "busywait". 13:58 schwarzwald[m] Excerpt from timing.adoc. The documentation project is trying to be more specific, and include stuff such as this example. 13:58 MTDiscord I would like to, but that need someone that knows a lot more than I do about Minetest 13:58 schwarzwald[m] lua_api.txt is a concise technical specification of the API, not really a documentation 13:58 lissobone But it needs to be automated. 13:59 MTDiscord Yes, an overly concise specification 14:03 MTDiscord So what can I do here? 14:04 MTDiscord It might be better to ask a member from that team 14:04 schwarzwald[m] Luatic and I are both members of the docs team. 14:05 MTDiscord Nice 14:05 MTDiscord How can I help? 14:05 lissobone The Docs team. 14:05 MTDiscord Yes 14:06 schwarzwald[m] If you're good with English wording and grammar, one opportunity would be to review PRs for that kind of stuff. You're welcome to look at the existing doc files there as well. 14:07 MTDiscord Ah! Nice! So that repo consists entirely of doc files? (No coding) 14:07 schwarzwald[m] I would advise to compile the docs to HTML so that you can see what they actually look like, if you want to do that. Yes, it's all adoc files. 14:07 schwarzwald[m] It'll still be a little inefficient to try to read the raw adoc format though, I think. 14:08 MTDiscord Why converting them to html? Is the propose to make html documentation pages? 14:09 schwarzwald[m] HTML is just a convenient format to convert to so you can see what it looks like when rendered. PDF would work just as well. 14:09 schwarzwald[m] I like HTML though because I can just click and open it in a browser, and then navigate around. 14:10 MTDiscord But the original format for the entire documentation files on the repo is asciidoc? 14:10 schwarzwald[m] The benefit of having them in AsciiDoc is that we can convert them to other formats, AsciiDoc is pretty simple to write. 14:10 MTDiscord I see 14:11 schwarzwald[m] It does all the formatting stuff for us automatically and doesn't require a lot of time to learn. 14:11 MTDiscord So about issue #16, is the goal just to copy paste from lua_api.txt? 14:11 ShadowBot https://github.com/minetest/minetest/issues/16 -- Made Jungle Trees useful by rbnswartz 14:12 schwarzwald[m] No, the objective in docs#16 is to make sure that we document all the same topics. 14:13 MTDiscord The same topics that are documented in lua_api.txt? 14:13 schwarzwald[m] lua_api.txt is a good reference for what is part of the API. When we document all the APIs specified in lua_api.txt we'll know we're basically done. 14:14 schwarzwald[m] lua_api.txt is more of a brief specification than a documentation. It pretty much explains what is part of the API and nothing more. 14:15 schwarzwald[m] We want to get into the details of how stuff works, including stuff like examples and tips. 14:15 schwarzwald[m] Very user-friendly. 14:15 schwarzwald[m] Of course, we want the really technical details, if we need them, to be in their own section of the doc so they don't confuse people. 14:16 schwarzwald[m] Our audience is people who aren't necessarily experienced programmers. 14:24 MTDiscord Hmm 14:24 rubenwardy I get the impression that minetest_docs doesn't really know what it wants to be, so is being everything 14:24 MTDiscord So simplify lua_api.txt? 14:24 lissobone I have tried to spell-check lua_api.txt with emacs. 14:25 lissobone Minetest is not in the dictionary. 14:25 MTDiscord Lol 14:25 MTDiscord Yeah 14:25 lissobone It just asked me if I want to replace it with: Minutest, Mintiest, Mine test, Mine-test, Mindset, Manet's, Mindset's. 14:26 MTDiscord That make sense obviously 14:26 lissobone Mintiest. 14:26 lissobone I like mint. 14:26 MTDiscord Minetest is not an English word 14:26 rubenwardy I write nubetest quite a lot 14:26 lissobone Nube as in Nubert? 14:26 lissobone Nubert Tea, more specifically. 14:27 lissobone Or Nube like Lube? 14:27 lissobone What is Nube? 14:27 lissobone It's an incorrect spelling of noob, as I have just read in thej 14:28 rubenwardy it's my right hand being off by one key 14:28 rubenwardy m->n, i->u, n->b 14:29 schwarzwald[m] Hmm, if my right hand is off by one key, I get bitehenh. 14:29 lissobone Nubetest. 14:30 lissobone lol nubes 14:35 MTDiscord e.g. is the second most annoying thing to try to type on a phone with autocorrect (i.e. is the most) 14:58 mazes_83 I think the easiest path is to submit a request to add minetest to all english dictionaries 15:00 lissobone Even "minecraft" isn't in any known English dictionary. 15:04 ghoti lissobone: thanks for the 'special variable' idea, but it's not 100%, is it? The way code is executed from books is that the code is read inta a variable and run with code.set(). Perhaps I could modify basic_robot so it sets a semaphore when it runs code.set(). 15:05 lissobone Well, first actual grammar mistake in "lua_api.txt". 15:06 lissobone "backto" instead of "back to". 15:07 lissobone But I am not sure if it hasn't been fixed already because it's from the stable release. 15:26 MTDiscord Fixed it in the pr that was merged today 🙂 15:28 MTDiscord I had fixed i.e. and e.g. in my pr but then after searching on google about them I just found too much discord abouth how they should be written, and so I just removed them and kept their fixing into a seperate commit 15:31 schwarzwald[m] Anyone here who likes graphics development? I am trying to load a minimal, triangle mesh from glTF format. I made the necessary code changes so that Minetest loads in the mesh as the player, but when I open Minetest, my player is just gone, obliterated. 15:32 schwarzwald[m] const video::S3DVertex* vertices { new video::S3DVertex[3] { 15:32 schwarzwald[m] {0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f, red, 0.0f, 0.0f}, 15:32 schwarzwald[m] {1.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f, red, 0.0f, 0.0f}, 15:32 schwarzwald[m] {1.0f, 1.0f, 0.0f, 0.0f, 0.0f, 1.0f, red, 0.0f, 0.0f} } }; 15:33 schwarzwald[m] These are my vertices so far. That's all I have. There's an `indices` thing as well, and I don't know whether I need that so I have it all 0s. 15:34 rubenwardy I think indices may be needed :) 15:34 rubenwardy indices are how you form triangles from the vertices 15:34 rubenwardy without them, say goodbye to triangles 15:35 schwarzwald[m] Ah, so my indices should be indices into the vertex buffer describing which vertexes to create the face from? 15:36 rubenwardy I believe so 15:36 schwarzwald[m] Does it matter what order they're in? 15:36 rubenwardy I think you want them in clockwise order, but it's been a while since I've touched this 15:39 schwarzwald[m] I've set the indices to {0, 1, 2} (clockwise order) but I still don't see anything. 🤔 15:39 schwarzwald[m] Maybe it won't draw anything without a texture. 15:39 MTDiscord No doc for this? 15:40 schwarzwald[m] How do you turn on the thing that displays the vertices and their normals for debugging? 15:41 rubenwardy f5? 15:41 schwarzwald[m] Irrlicht doesn't exactly have a lot of documentation. 15:41 rubenwardy with debug priv 15:45 schwarzwald[m] It's worse than I thought. The mesh isn't even there. 15:45 schwarzwald[m] Thanks for the debug priv tip. 15:46 rubenwardy I think wireframe only draws edges, if the indices aren't set up there won't be any edges 15:47 schwarzwald[m] They should be set up, though. 15:48 schwarzwald[m] I wouldn't be surprised if Minetest just axed the model or something due to it being weird. 16:04 MTDiscord Can I delete a branch from my fork using github interface? 16:05 rubenwardy yes. Homepage -> branches -> trash icon 16:05 rubenwardy * repo homepage 16:05 rubenwardy https://github.com/Abdou-31/minetest/branches 16:06 schwarzwald[m] From the command line you can do `git push --delete remote/branch`. I hope that can be useful information to you as well. 16:07 schwarzwald[m] That might not remove it from the branch list on GitHub, actually. I don't remember how that works. 16:07 schwarzwald[m] I believe it does. 16:08 MTDiscord Thx both 🙂 16:08 rubenwardy git push remote :branch also deletes it, I guess that's the old way though 16:09 MTDiscord Hmm. So even if I remove it using github i'll still need to remove my local branch 16:09 schwarzwald[m] Ah, might need the space after the remote name as Ruben showed. 16:10 schwarzwald[m] Yeah, the local branch will still be there. 16:10 MTDiscord Ok. Thx 17:17 * schwarzwald[m] sent a cpp code block: https://libera.ems.host/_matrix/media/r0/download/libera.chat/0094a5696e19559578d0d944101c68d987e6b67b 17:17 schwarzwald[m] Here's what I have so far for the entire mesh setup. 17:17 schwarzwald[m] I still see nothing. I checked that it loads by returning `nullptr` instead, and then I get an error message that it couldn't load the mesh. 17:19 schwarzwald[m] The arguments to the vertex constructor are, in order: position, normal, color, texture coordinates. 17:22 schwarzwald[m] Is 1.0f the length of one cube side BTW, or is it like 1 pixel? 17:23 sfan5 the minetest in-game world is in BS-units, which means 10 is one node side length 17:23 sfan5 this details also leaks through to models 17:23 sfan5 detail* 17:24 MTDiscord decinodes 17:28 schwarzwald[m] I've multiplied the vertex positions by a factor of 10. I still don't see anything. :( 17:29 muurkha decimeters, huh 17:30 * schwarzwald[m] uploaded an image: (2KiB) < https://libera.ems.host/_matrix/media/r0/download/matrix.org/rIQBxOWenBrsgqrmFCxhzRoH/screenshot_20221017_122958.png > 17:31 MTDiscord bullshit units 17:31 schwarzwald[m] Um. 17:31 schwarzwald[m] sfan5I think we have a bug. 17:31 schwarzwald[m] Is the built-in screenshot tool supposed to output a black result? 17:31 sfan5 maybe 17:32 schwarzwald[m] It doesn't work in first-person either? 17:48 * schwarzwald[m] uploaded an image: (374KiB) < https://libera.ems.host/_matrix/media/r0/download/matrix.org/anofzBLNsMgBAYOiTLhwgOCR/no_mesh.png > 17:48 schwarzwald[m] Here's the picture of the bug. 17:48 schwarzwald[m] No triangular mesh like I thought I defined. 18:18 MinetestBot 02[git] 04sfan5 -> 03minetest/minetest: Fix list sorting behaviour with missing geoip 1323e9f5d https://github.com/minetest/minetest/commit/23e9f5db4330a6efee5270160a3959422926ce77 (152022-10-17T18:16:39Z)