Minetest logo

IRC log for #minetest, 2024-10-29

| Channels | #minetest index | Today | | Google Search | Plaintext

All times shown according to UTC.

Time Nick Message
00:21 sys4 joined #minetest
00:23 SFENCE joined #minetest
00:41 SFENCE joined #minetest
00:49 SFENCE joined #minetest
01:24 SFENCE joined #minetest
01:44 SFENCE joined #minetest
01:55 SFENCE_arch joined #minetest
02:13 rodrigo-morales [Question] Is it possible to include comments in command blocks? I tried using "--", but I got "The command -- does not exist". I'm asking because I want to annotate the code of those commands blocks which contain many lines of code.
02:16 Fleckenstein joined #minetest
02:19 SFENCE joined #minetest
02:22 orwell96_t joined #minetest
02:40 SFENCE joined #minetest
02:58 SFENCE joined #minetest
03:33 SFENCE joined #minetest
03:40 Fleckenstein joined #minetest
03:52 SFENCE joined #minetest
04:00 MTDiscord joined #minetest
04:05 sys4 joined #minetest
04:11 SFENCE joined #minetest
04:31 SFENCE joined #minetest
04:41 SwissalpS joined #minetest
04:49 SFENCE joined #minetest
04:58 SwissalpS joined #minetest
05:18 SFENCE joined #minetest
05:19 sys4 joined #minetest
05:38 SFENCE joined #minetest
05:47 germ joined #minetest
06:02 YuGiOhJCJ joined #minetest
06:13 SFENCE joined #minetest
06:27 mdhughes_ joined #minetest
06:30 SwissalpS joined #minetest
06:44 est31 joined #minetest
06:49 SFENCE joined #minetest
06:56 v-rob joined #minetest
06:57 v-rob joined #minetest
07:04 SFENCE joined #minetest
07:21 SFENCE joined #minetest
07:23 SwissalpS joined #minetest
07:34 SFENCE joined #minetest
08:28 SwissalpS joined #minetest
08:42 Artea joined #minetest
08:55 SwissalpS joined #minetest
09:11 gregon joined #minetest
09:12 SwissalpS joined #minetest
09:15 tarsovbak joined #minetest
09:25 SwissalpS joined #minetest
09:28 JerryXiao joined #minetest
09:28 YuGiOhJCJ joined #minetest
09:32 gregon joined #minetest
09:36 cheek_pain joined #minetest
10:03 SFENCE_arch joined #minetest
10:33 ireallyhateirc joined #minetest
10:39 Fotus76 joined #minetest
12:30 sparky4 joined #minetest
13:11 chilledfrogs joined #minetest
13:29 SwissalpS joined #minetest
13:57 SwissalpS joined #minetest
15:25 gregon joined #minetest
15:30 tarsovbak joined #minetest
15:40 cheek_pain joined #minetest
15:55 whosit joined #minetest
16:01 v-rob joined #minetest
17:22 bdju joined #minetest
17:30 tarsovbak joined #minetest
17:44 bdju joined #minetest
18:09 Verticen joined #minetest
18:12 Talkless joined #minetest
18:31 SFENCE joined #minetest
19:13 MTDiscord <mistere_123> you could do //lua --[[ your comment here ]]--
19:13 MTDiscord <mistere_123> perhaps
19:14 MTDiscord <mistere_123> But why wouldn't you write the code elsewhere and paste it in?
19:34 gregon joined #minetest
19:49 v-rob joined #minetest
19:50 rodrigo-morales mistere_123: Thanks! I'll be annotating code in command blocks using this for now: /lua -- <comment>
19:53 rodrigo-morales mistere_123: I don't understand your last message. How writing the code elsewere and pasting it into a command block would solve the problem of "--" raising the error "The command -- does not exist"? If I write the code in an external text editor (e.g. gedit) and then paste it inside a command block, the content in the text editor and the content in the command block would be the same, right?
19:53 MTDiscord <mistere_123> I mean, you have a separate, commented copy, and a version that is all in one line.
19:54 MTDiscord <mistere_123> IDK, your way is probably better
20:03 Desour joined #minetest
20:08 SFENCE joined #minetest
20:26 SFENCE joined #minetest
20:34 MTDiscord <theidealist> you could always just make a simple mod with a dummy command that does nothing, to be used as a comment
20:52 SFENCE joined #minetest
21:20 cryne joined #minetest
21:26 SFENCE joined #minetest
21:35 cryne joined #minetest
21:58 Fotus76 joined #minetest
22:11 ireallyhateirc joined #minetest
22:24 SFENCE joined #minetest
22:30 erle joined #minetest
22:31 erle trying to compile … has something changed about the linking step between 5.7.0 and 5.9.0 that makes it take much longer, increases by CPU temperature to 80 degrees celsius and makes my laptop smell slightly like burnt plastic?
22:32 erle if so, how do i turn whatever-it-is off?
22:32 MTDiscord <wsor4035> lto
22:32 erle what is that?
22:33 erle or rather, what benefits does it bring?
22:33 erle right now it just makes my computer hot
22:33 MTDiscord <wsor4035> https://letmegooglethat.com/?q=compiler+lto
22:34 MTDiscord <wsor4035> https://github.com/minetest/minetest/pull/14198
22:34 erle thx
22:34 erle for reference, it appears to hang about here: https://mister-muffin.de/p/EfCE.txt
22:35 erle also i do not understand this error message: src/gui/guiTable.cpp:240:38: warning: argument 1 value ‘4294967295’ exceeds maximum object size 2147483647 [-Walloc-size-larger-than=]
22:35 erle (it is in the linked text file)
22:35 MTDiscord <wsor4035> lto runs at the end, so its probably not that
22:35 erle any idea how to debug the linking process?
22:36 erle i have no idea how linking can even be broken :/
22:37 TheSilentLink joined #minetest
22:39 erle wsor4035 i do not understand how to turn IPO/LTO builds off. do you know? if so, do you want to tell me?
22:39 erle like, i could set debug build, but then i have to rebuild everything again?
22:40 cheapie I would expect the build option called ENABLE_LTO to have something to do with whether LTO is enabled
22:40 MTDiscord <rollerozxa> you'd pass -DENABLE_LTO=OFF to cmake
22:40 erle so i *do* have to rebuild everything, correct?
22:40 MTDiscord <rollerozxa> LTO is only done during the linking step
22:41 MTDiscord <wsor4035> as i previously said, if its doing it only at 34%, unlikely lto - but anyways https://github.com/minetest/minetest/blob/master/doc/compiling/README.md?plain=1#L34
22:41 erle wsor4035 the percentages are bullshit anyway if you ever resume a build (and likely before), i complained about that ages ago.
22:42 MTDiscord <wsor4035> i dont want to get into your bullshit
22:42 erle well, you can check that by quitting a cmake + make build just before linking, then typing “make” again. it will probably be at 30 something percent.
22:42 SFENCE joined #minetest
22:43 erle thanks so far, i will try to compile again
22:43 cheapie I've observed the same cmake issue here, not just in this specific project, seems everything that uses cmake does it.
22:44 cheapie (the nonsense percentages, not the hanging - I've never had the linker hang)
22:44 cryne joined #minetest
22:44 MTDiscord <rollerozxa> cmake's ninja generator shows the exact amount of build steps left out of the total amount of build steps it does. don't know why the makefile generator does a percentage
22:46 erle both of it is broken for my use case anyways, but i have understood that most people are entirely uninterested in improving build systems logic unless you show immediate huge gains. which in some projects leads to them using a single large precompiled header in a way that incremental builds suck (because the precompiled header has to be rebuilt).
22:46 cheapie Does the ninja generator work for compiling Luanti on Linux too? I would use it, but I'm used to changing the generator to anything other than specified/default being an "it will fail to build, the error message will have no results on Google, and nobody will be able to figure out the problem ever" type thing for most projects.
22:46 erle ROllerozxa what are valid values for ENABLE_LTO? like, why is it <varies> in the docs and OFF instead of FALSE?
22:46 MTDiscord <luatic> I'm using ninja to compile Minetest usually and it works fine
22:47 MTDiscord <luatic> 0 / OFF / FALSE vs 1 / ON / TRUE all work IIRC
22:47 erle yeah but why does it say <varies> then?
22:47 MTDiscord <luatic> this is a cmake thing
22:47 erle ENABLE_LTO=<varies>        - Build with IPO/LTO optimizations (smaller and more efficient than regular build)
22:47 erle right in the docs
22:47 MTDiscord <luatic> it depends on the build type
22:47 MTDiscord <luatic> release builds have it enabled by default
22:47 erle oh thx
22:47 erle it's not a type hint
22:47 MTDiscord <luatic> lol
22:50 erle cheapie i don't think ninja can be much worse than make. last i checked it had the same basic structure with some extra features, but in the end, it is still a “bottom-up, topsort, timestamps, no hashing” type of thing
22:50 MTDiscord <rollerozxa> cheapie: all cmake generators should be supported if the project's cmakefiles don't do very crazy stuff, so it should be fine for minetest
22:50 erle so i would be very surprised if it is not just doing what make does but better/different
22:50 cheapie I guess most projects do "very crazy stuff", then :P
22:51 erle s/topsort/toposort/
22:51 MTDiscord <rollerozxa> I always generate ninja build files with any cmake project I've come across and never had any issues, across building from source on linux and windows
22:51 MTDiscord <luatic> i have a rough feeling that ninja does more intelligent scheduling then make and thus manages slightly shorter overall build times but don't quote me on that
22:52 erle luatic ninja is advertised as a fast build system, but it is not particularly fast for every use case. it does some trade-off bets to be faster in a full rebuild, but those hurt in incremental builds.
22:52 MTDiscord <rollerozxa> the improvement by ninja compared to make when using cmake generators is subtle but still something I find worth it. the fact it defaults to my core count without having to type anything extra is another nice touch
22:53 erle like, ninja sometimes rebuilds files even though it is unnecessary, because the bet is that rebuilding this file is on average better than checking if it has to be rebuilt + rebuilding
22:53 ireallyhateirc2 joined #minetest
22:53 kamdard_ joined #minetest
22:53 erle i have found this to be generally true for clean rebuilds and almost always false for incremental builds, but i guess this shows why they do it
22:54 SFENCE joined #minetest
22:54 erle basically, you can outperform it with a few lines of shell script for a specific case (e.g. a single project), but you are unlikely to do that for the general case
22:55 MTDiscord <rollerozxa> here we go again
22:55 erle well i just want a working binary
22:55 erle you started talking about build systems :P
22:56 erle (code's compiling)
22:56 amfl joined #minetest
22:57 erle ROllerozxa luatic do you by any chance have an idea what this means? src/gui/guiTable.cpp:240:38: warning: argument 1 value ‘4294967295’ exceeds maximum object size 2147483647 [-Walloc-size-larger-than=]
22:57 erle i mean it happens when i want to build the binary for 5.9.0
22:58 erle but that line is simply reading: TempRow *rows = new TempRow[rowcount];
22:58 erle which is: s32 rowcount = std::min(((u32)content.size() + colcount - 1) / colcount, (u32)S32_MAX);
22:59 MTDiscord <luatic> aggressive inlining as done in LTO enables more static analysis
22:59 MTDiscord <luatic> and it looks like there as some false positives. i know of another one at least. i'm not sure if this is one yet but the code doesn't look problematic to me.
23:00 MTDiscord <luatic> I don't see why rowcount isn't u32 though.
23:00 erle why do you think it is a false positive?
23:02 MTDiscord <luatic> because the logic looks fine to me
23:03 specing run luanti in a DMZ VM, be happy
23:03 erle compile
23:03 MTDiscord <luatic> i'm not sure where it takes the 2^32 - 1 (u32 max) from, especially since there is an explicit std::min with 2^31 - 1 (s32 max)
23:03 erle specing i am trying to compile it
23:05 MTDiscord <luatic> hmm well i suppose the u32 in the first std min argument could overflow and end up as something like that
23:05 MTDiscord <luatic> not exactly a real concern though
23:05 MTDiscord <luatic> using the proper unsigned types should fix the warning
23:07 MTDiscord <luatic> i'm not sure what the heuristics for warning here are though, because if it's looking for places where an allocation size may become larger than ptrdiff, i think there should be quite a few more.
23:10 erle <luatic> not exactly a real concern though
23:10 erle are you trying to the “integer overflow checks are for chumps” lore? ;)
23:10 erle *to add to
23:11 erle well let's see if this is also complained about without LTO
23:12 SFENCE joined #minetest
23:13 MTDiscord <luatic> if you've got a vector (content) with a gazillion entries here, minetest is already committing die. i'm pretty sure this can't happen though for various reasons (e.g. the formspec size limit).
23:13 erle so how would you calculate the largest possible object size?
23:14 MTDiscord <luatic> i think ideally the language should add asserts that guard against integer overflows, with an option to enable these in release mode, as zig does.
23:14 MTDiscord <luatic> erle: something like 65k if i remember correctly (formspec size limit, entries in content are comma-delimited iirc)
23:14 erle what is your opinion on frama c?
23:14 MTDiscord <luatic> frama c?
23:15 erle luatic sorry, what is “65k” the answer to?
23:15 erle https://en.wikipedia.org/wiki/Frama-C
23:15 erle you can annotate code with preconditions and postconditions
23:15 MTDiscord <luatic> the largest possible size of content which should also be an upper bound for rowcount considering the formula above
23:15 erle and let a static checker figure out if these holds
23:15 erle maybe i was not clear: how do you derive that formula?
23:15 erle i mean these are very big values
23:16 MTDiscord <luatic> you already sent the line yourself: s32 rowcount = std::min(((u32)content.size() + colcount - 1) / colcount, (u32)S32_MAX);
23:16 erle yes but i do not know why it was written that way
23:16 erle i am never going to have S32_MAX rows i think?
23:17 MTDiscord <luatic> whoever wrote it that way probably didn't either
23:17 MTDiscord <luatic> the signed type here doesn't make much sense
23:17 erle luatic why not?
23:17 erle it was added in commit ieb52a149a0 – Enable IPO/LTO by default except for debug builds (#14198)
23:17 behalebabo joined #minetest
23:17 ShadowBot https://github.com/minetest/minetest/issues/14198 -- Enable IPO/LTO builds by okias
23:18 MTDiscord <luatic> LOL
23:18 erle or changed
23:18 erle (git blame says that)
23:18 MTDiscord <luatic> i guess LTO brought up this warning and it was silenced this way?
23:18 erle before that it was
23:18 erle s32 rowcount = (content.size() + colcount - 1) / colcount;
23:18 erle no, i get the warning with LTO, compiling on x86 (could that be it?)
23:19 erle seriously, though, i don't understand why it was changed
23:21 MTDiscord <luatic> hmmm i should check whether this is actually a min of s32's or a min of u32's :thonking:
23:22 MTDiscord <luatic> i.e. when C++ infers the types, does the return type take precedence or do the argument types? i think it's the latter which would render my reasoning from before wrong but that seems to contradict the compiler warning
23:22 erle this is why i suggested frama c to you
23:22 erle you can use it to understand code
23:22 MTDiscord <luatic> C++ code?
23:22 erle because it can show you if some assertions you make about it hold or not
23:23 erle frama-clang exists, it can *allegedly* analyze C++, but i have never tried it
23:23 erle https://frama-c.com/fc-plugins/frama-clang.html
23:23 MTDiscord <luatic> interesting
23:24 erle people often think code works like X whereas it actually does Y
23:25 erle annotating your assumptions helps a lot
23:25 erle especially if a program like this can check if they hold
23:26 erle i vaguely remember some coordinate (?) function years ago that multiplied three (or two?) s16 and tried to fit the result into an s16 too :D
23:26 erle or was ut u16? idk
23:26 MTDiscord <luatic> lol it looks like s32 x = std::min((u32) y, (u32) z) actually infers the min to be a min of s32 so i (and the compiler) were right
23:27 erle how did you figure that out?
23:27 erle don't say godbolt :P
23:27 MTDiscord <luatic> indeed i was too lazy to read the spec
23:27 MTDiscord <luatic> but compilers must know
23:27 specing erle: re LTO: ccmake shows  ENABLE_LTO                      *ON  in GUI
23:27 MTDiscord <luatic> there is no way this is undefined / implementation defined behavior
23:28 MTDiscord <luatic> this must be spec-defined and i'm just using my compiler as a shortcut to access that information ;)
23:28 erle anyway, the reason i am compiling is because wuzzy forked unicode_text to include it in repixture, but made it incompatible on purpose and replied to “please rename it if you make it incompatible” with “ok, i put it on my infinite TODO list” so i thought i could speed that process up by sending a patch, but for that i need to be able to verify i am not just doing the “LGTM” thing
23:29 cryne joined #minetest
23:29 erle for the record, if you want unicode_text to not render specific scripts, just give it a font that does not contain those. do not patch it to ignore character ranges.
23:30 erle indeed i get no warning without LTO!
23:30 SFENCE joined #minetest
23:30 erle and the linking stage is actually fast and does not produce burnt plastic smell
23:31 MTDiscord <luatic> i usually use relwithdebinfo builds without lto for testing things
23:31 erle why did you remove the clouds from the main menu?
23:32 erle also why does it crash when i join a world?
23:32 MTDiscord <luatic> huh?
23:32 erle seriously
23:33 erle also the text rendering is all messed up
23:33 panwolfram joined #minetest
23:34 MTDiscord <luatic> no wait i got it the wrong way around with the s32 and u32
23:34 MTDiscord <luatic> ... so how does the compiler warning make sense then?
23:35 MTDiscord <luatic> erle: that sounds odd, file a bug. this is a clean build?
23:35 erle luatic i am banned from filing bugs, remember?
23:36 MTDiscord <luatic> has this ban not expired
23:36 erle while i was working on a rendering bug too
23:36 * specing laughs
23:36 MTDiscord <luatic> or how long is it until it expires
23:36 erle you tell me
23:36 MTDiscord <luatic> idk
23:37 erle wait can you query me?
23:37 MTDiscord <luatic> i had assumed it had expired since you popped back on here
23:37 MTDiscord <luatic> query you in what sense?
23:37 erle on irc
23:37 * specing laughs harder
23:37 erle luatic AFAIK i was specifically banned from opening issues and participating in the dev channel, nothing else.
23:38 erle well and my PRs got closed
23:38 MTDiscord <luatic> i don't quite remember the specifics except i voted against the ban
23:39 erle you are the turret in portal saying “i don't hate you” ;)
23:40 v-rob joined #minetest
23:40 erle luatic anyway, any idea what causes this? https://mister-muffin.de/p/EmXJ.png
23:42 * specing puts the laughing into a seperate thread so useful work may be done concurrently
23:42 erle okay, game does not crash when i specifically disable shaders. some fun-hater has set it up so that it no longer works on old machines with default settings.
23:43 erle i have seen such things before. within about 2 or 3 releases you can figure out that “it does not work anyways with default settings” and remove the code which is (as far as i can see it) still working.
23:43 MTDiscord <luatic> define old
23:43 erle but i guess setting the shader setting to a hardware appropriate value is a thing i'd open an issue about
23:44 erle specifically because i am sure i never enabled that setting
23:45 MTDiscord <luatic> there are plans to drop the fixed pipeline, and for that we first have to see how to fix cases like yours, assuming they are sensible to support
23:45 erle well it works if i disable shaders
23:45 erle just like before
23:45 erle so i think someone just forced the value to true, no?
23:46 erle regardless of hw support
23:46 v-rob_ joined #minetest
23:46 erle also i think removing the clouds from the menu is sad, but i may be a bit biased, given i had a hand in making them 3d. and the menu is probably going to be overhauled anyway.
23:47 erle luatic tbh i'd be perfectly happy if it just keeps working, no new effects or anything.
23:47 erle did you look at my screenshot though?
23:47 MTDiscord <luatic> i did
23:47 erle i have no idea what causes the text rendering issues
23:47 erle do you?
23:47 Sharpman joined #minetest
23:48 MTDiscord <luatic> the thing is that we were not aware of such issues with the shader-based pipeline, and to an extent changing the default seems to be the only way to become aware
23:48 erle this has nothing to do with shaders AFAIK
23:48 erle i mean i disabled them
23:49 MTDiscord <luatic> erle: you said you couldn't start a game with shaders enabled (it crashes), didn't you?
23:49 erle yes, but i was just complaining about the text rendering
23:49 erle separate thing
23:49 erle sorry
23:49 MTDiscord <luatic> okay
23:50 MTDiscord <luatic> what happens when you change the video_driver setting and restart (try all drivers)?
23:52 erle mineclonia works perfectly for me, 29fps at 200 view range, down to 25fps when mapgen works
23:52 erle i guess someone optimized the mesh building for the terrain heavily?
23:52 erle whatever it was, congratulations
23:53 erle well, i also changed from a T60 to an R60, but i doubt that makes too much of a difference
23:53 erle i usually play at 100 view range or less, so i am very happy about the performance
23:53 MTDiscord <luatic> anyways erle, if each character is rendered as a texture, i would expect to see something like this if the texture wrapping is misconfigured
23:54 erle ah, so where is it configured?
23:54 erle the video driver is opengl. i try ogles1 now.
23:55 erle 2024-10-30 00:54:51: ERROR[Main]: Invalid video_driver specified: ogles1
23:55 MTDiscord <rollerozxa> why is ogles1 still in the video driver dropdown
23:55 SFENCE joined #minetest
23:55 MTDiscord <rollerozxa> yeah it's been removed
23:55 erle 2024-10-30 00:55:34: ERROR[Main]: Invalid video_driver specified: ogles2
23:55 MTDiscord <rollerozxa> and I assume you haven't built with GLES support anyways, if you want to use ogles2
23:56 MTDiscord <rollerozxa> yeah
23:56 erle 2024-10-30 00:55:59: ERROR[Main]: Invalid video_driver specified: opengl3
23:56 erle i don't think i can change video drivers
23:56 MTDiscord <luatic> yeah doesn't look like you can
23:56 MTDiscord <luatic> though, no OGL 3? how old is this thing?
23:56 erle how do i find that out?*
23:57 MTDiscord <luatic> i don't know i was hoping you knew :P
23:57 erle also why do you care if its old, if i get 30fps at 200 view range with a game like mineclonia? i mean that means it works *really* well
23:57 MTDiscord <rollerozxa> (luars: invalid video driver means it wasn't built with that support at compiletime)
23:58 erle i have tried OGLES2 in the past but i got the impression that it is not *really* OGLES2 as in “any OGLES2 conformant GPU can do it”, but more like “my gamer GPU which can also OGLES2 can do it with OGLES2 driver”
23:58 MTDiscord <rollerozxa> apparently the highest opengl version the R60 would have is 2.1
23:59 MTDiscord <luatic> right, iirc the OGL3 driver depends on SDL, doesn't it..?
23:59 MTDiscord <rollerozxa> yes it does
23:59 erle haha, the fps still drop when inventory is opened lol
23:59 MTDiscord <luatic> so when SDL was disabled it was probably forgotten to edit the settingtypes to take it out?

| Channels | #minetest index | Today | | Google Search | Plaintext