| Time |
Nick |
Message |
| 00:02 |
|
Extex joined #minetest-dev |
| 02:28 |
|
queria^clone joined #minetest-dev |
| 02:33 |
|
queria^clone joined #minetest-dev |
| 03:28 |
|
Extex joined #minetest-dev |
| 04:00 |
|
MTDiscord joined #minetest-dev |
| 05:34 |
|
ivanbu joined #minetest-dev |
| 06:37 |
|
queria^clone joined #minetest-dev |
| 07:17 |
|
specing joined #minetest-dev |
| 08:41 |
|
olliy joined #minetest-dev |
| 10:00 |
|
calcul0n joined #minetest-dev |
| 11:11 |
|
specing joined #minetest-dev |
| 12:08 |
|
queria joined #minetest-dev |
| 12:17 |
|
proller joined #minetest-dev |
| 13:47 |
|
Fixer joined #minetest-dev |
| 14:34 |
|
kilbith joined #minetest-dev |
| 14:35 |
kilbith |
I'd like https://github.com/minetest/minetest/pull/11498 and https://github.com/minetest/minetest/pull/10100 to be combined |
| 14:54 |
erlehmann |
why make a big PR even bigger |
| 15:30 |
rubenwardy |
god that would be such a pain to review |
| 15:30 |
rubenwardy |
> There is a demo mod which creates 291 nodes covering edge cases |
| 15:33 |
rubenwardy |
!seen nore |
| 15:33 |
ShadowBot |
rubenwardy: I haven't seen nore in #minetest-dev. |
| 15:33 |
rubenwardy |
:( stuck on leenode? |
| 15:35 |
sfan5 |
ShadowBot is just wrong, they've been here on 1st Sep |
| 15:35 |
ShadowBot |
sfan5: Error: You must be registered to use this command. If you are already registered, you must either identify (using the identify command) or add a hostmask matching your current hostmask (using the "hostmask add" command). |
| 15:35 |
|
kilbith joined #minetest-dev |
| 15:37 |
|
longerstaff13 joined #minetest-dev |
| 15:50 |
erlehmann |
my personal experience: the bigger the PR, the longer it takes. the smaller the PR, the more ppl ridicule the reviewer for checking “what should be obvious”. |
| 15:50 |
erlehmann |
i had this last night again, regarding a possible coordinate exploit |
| 15:51 |
MTDiscord |
<luatic> I would really like it if we could stop with the current crappy texmod format and switch to a simpler cleaner one |
| 15:51 |
erlehmann |
“stop” i.e. you wanna break all mods? or you want to not extend that hellish thing anymore? |
| 15:52 |
MTDiscord |
<luatic> I want to not extend it |
| 15:52 |
erlehmann |
i had to write my own escape function because the texture sucks so much |
| 15:52 |
erlehmann |
luatic hmm but why not wrap it and that's it? |
| 15:52 |
MTDiscord |
<luatic> Keeping the hellish things we already have is fine by me, but I don't see why we should keep adding texture modifiers |
| 15:52 |
MTDiscord |
<luatic> wrap it? |
| 15:52 |
MTDiscord |
<luatic> WDYM by that? |
| 15:52 |
erlehmann |
wait, i look for a code example |
| 15:52 |
erlehmann |
ah no, i won't |
| 15:52 |
erlehmann |
by wrapping i mean, make a function that returns something modified |
| 15:53 |
erlehmann |
then you can combine all the stuff |
| 15:53 |
MTDiscord |
<luatic> yeah, I do suggest that |
| 15:53 |
erlehmann |
and you can still extend the crappy format |
| 15:53 |
erlehmann |
just make it required to add a function each time |
| 15:53 |
MTDiscord |
<luatic> umm.. I don't see the point though |
| 15:53 |
erlehmann |
backwards compatiblity and ease of doing it basically |
| 15:53 |
erlehmann |
i mean it would be just some additional lua functions |
| 15:54 |
|
Extex joined #minetest-dev |
| 15:54 |
MTDiscord |
<luatic> yeah I know |
| 15:54 |
MTDiscord |
<luatic> but still the format sucks |
| 15:55 |
MTDiscord |
<luatic> see #11588 |
| 15:55 |
ShadowBot |
https://github.com/minetest/minetest/issues/11588 -- Proper syntax for texture modifiers, Lua utilities |
| 15:55 |
erlehmann |
while that is true, i fail to see why that would be an argument against “wrap all the stuff” |
| 15:55 |
MTDiscord |
<luatic> it is not, we should create wrappers so we can swap out the underlying representation at any time |
| 15:55 |
erlehmann |
> I'm not even quite sure whether a context-free grammar can recognize them, and the parsers sure are a mess of string manipulation (and thus a security vulnerability; I've already seen buffer read overflows). |
| 15:56 |
erlehmann |
lol |
| 15:56 |
erlehmann |
i guess the first order of business could be to infer an actual grammar |
| 15:56 |
MTDiscord |
<luatic> yeah, that's what I was up to |
| 15:56 |
erlehmann |
> I'm also pretty sure parsing isn't even guaranteed to be linear due to this. |
| 15:56 |
MTDiscord |
<luatic> but oh boy, I'm pretty sure the way escapes work requires some kind of context |
| 15:57 |
erlehmann |
well i guess appgurueu has read the LANGSEC stuff or has very good intuitions |
| 15:57 |
MTDiscord |
<luatic> lol I am appgurueu |
| 15:57 |
MTDiscord |
<luatic> I haven't really read that stuff but I did get to the "non regular or context free bad" part |
| 15:57 |
erlehmann |
then tell me if you have read the papers :D |
| 15:57 |
MTDiscord |
<luatic> And I do know grammars well soo... |
| 15:58 |
MTDiscord |
<luatic> non (regular or context-free) bad that is :P |
| 15:58 |
erlehmann |
yeah that is actually superseded by a later thing, in 2017 or so ppl found that calc-regular (i.e. regular + length field prefix) can also be safe |
| 15:58 |
MTDiscord |
<luatic> I actually quite like the length field, it's quite efficient |
| 15:58 |
erlehmann |
which is hilarious, because that means before that result everyone was using length fields with no good justification whatsoever |
| 15:59 |
MTDiscord |
<luatic> Umm well, the justification is that it means you don't really need escaping |
| 15:59 |
MTDiscord |
<luatic> There are various ways of delimiting block scope |
| 15:59 |
MTDiscord |
<luatic> There's delimiters, duh |
| 15:59 |
erlehmann |
i mean the tools did not exist that parsing it is sound |
| 15:59 |
erlehmann |
to prove that |
| 15:59 |
MTDiscord |
<luatic> those are pretty much a constant factor, but they incur escaping |
| 16:00 |
kilbith |
@luatic what happened to https://github.com/minetest/minetest/pull/10570 ? |
| 16:00 |
MTDiscord |
<luatic> depending on how cleverly you escape you can get to about worst case square root escaping overhead for instance using Lua's long strings |
| 16:00 |
MTDiscord |
<luatic> I forgot |
| 16:01 |
kilbith |
that's a pity, the usecases are big |
| 16:01 |
erlehmann |
btw i have had a thing where if i fall very fast and disable fall damage the server (5.4.1) and client 5.5-dev desync after impact |
| 16:01 |
MTDiscord |
<luatic> what |
| 16:01 |
MTDiscord |
<luatic> the client should not cease sending position updates |
| 16:02 |
MTDiscord |
<luatic> maybe the client wrongly reports it's death? |
| 16:02 |
erlehmann |
basically anticheat seems to think i am somewhere else then and rubberband me whenever i interact with a node, anyone else experience this? |
| 16:02 |
erlehmann |
oh hmm |
| 16:02 |
MTDiscord |
<luatic> anyways, TL;DR: I'm pretty sure length prefix is about the most efficient way of enclosing something. |
| 16:02 |
erlehmann |
can the client actually report its death if fall damage is disabled? |
| 16:02 |
MTDiscord |
<luatic> Minetest's exponential escapes are about the most INEFFICIENT way |
| 16:02 |
MTDiscord |
<luatic> does the client know fall damage is disabled? |
| 16:03 |
erlehmann |
luatic “i am pretty sure” is not a good standard, but i agree with escaping bad |
| 16:03 |
erlehmann |
well i disabled it in the client, so *i am pretty sure* ;) |
| 16:03 |
MTDiscord |
<luatic> Well, a length prefix is logarithmic, good luck beating that |
| 16:04 |
erlehmann |
luatic in client.cpp look for sendDamage and just make the line before say “if (false)” or so |
| 16:04 |
erlehmann |
fall damage is calculated and sent by the client for reasons |
| 16:04 |
MTDiscord |
<luatic> I know |
| 16:05 |
erlehmann |
btw, that is another use of a hack client: i once encountered a little kid who waited until ppl logged out, then removed the ground under them |
| 16:05 |
erlehmann |
so now i often join with fly enabled and fall damage off because i hate such things |
| 16:06 |
MTDiscord |
<luatic> So is WS a parody of DF in the end? |
| 16:06 |
erlehmann |
dragon fire destroys things |
| 16:06 |
MTDiscord |
<GreenXenith> Thought it was a fork |
| 16:06 |
erlehmann |
wasp saliva is used to build stuff |
| 16:06 |
MTDiscord |
<luatic> Darn, I really gotta make my own cheat client |
| 16:07 |
MTDiscord |
<luatic> I'm gonna call it "swinetest" |
| 16:07 |
|
kilbith joined #minetest-dev |
| 16:07 |
MTDiscord |
<GreenXenith> Heh, a cheat client is a cheat client. What its used for is entirely up to the user. |
| 16:07 |
erlehmann |
have you ever heard the story of darth fleckenstein the wise? it is not a story the minetest devs would tell you … bla bla … he could cheat others, but not himself! |
| 16:08 |
erlehmann |
GreenXenith, yes there are pretty cool build hax that border on worldedit |
| 16:09 |
MTDiscord |
<GreenXenith> Oh, there are literal building features in WS. Interesting |
| 16:09 |
erlehmann |
with the exception that it lags a lot if you dig or place a buch of stuff |
| 16:09 |
erlehmann |
yes |
| 16:09 |
erlehmann |
i still think the coolest is the “place the thing i have selected on top of every node of the same type in reach” |
| 16:10 |
MTDiscord |
<luatic> Can it place schematics too? |
| 16:10 |
MTDiscord |
<luatic> so that allows you to start with a Grundriss and then build up? |
| 16:10 |
erlehmann |
yes |
| 16:10 |
erlehmann |
ja! |
| 16:10 |
MTDiscord |
<luatic> Fein! |
| 16:11 |
erlehmann |
it can place things, but i think not in the schematics format |
| 16:11 |
MTDiscord |
<luatic> well, the schematic format sucks arguably :) |
| 16:11 |
erlehmann |
cora has literally copied a space station from a server to another |
| 16:12 |
MTDiscord |
<luatic> but you do need to have all the blocks, right? |
| 16:13 |
erlehmann |
either that or something like /setblock or /give ofc |
| 16:13 |
MTDiscord |
<luatic> oof, those merge conflicts are really hard to resolve |
| 16:15 |
erlehmann |
luatic come on you can just dupe the blocks once you have a single one |
| 16:15 |
erlehmann |
(if you find a dupe lol) |
| 16:17 |
MTDiscord |
<luatic> I hope we have closed all dupes |
| 16:17 |
erlehmann |
yes of course you have! |
| 16:17 |
MTDiscord |
<luatic> hehe |
| 16:18 |
erlehmann |
you wouldn't dupe a diamond block |
| 16:19 |
erlehmann |
duping is literally unauthorized duplication and distribution of copyrighted materials! (such as default:diamondblock) |
| 16:20 |
MTDiscord |
<Jonathon> if you have the anvil mod and a tool from a mod that doesnt return properly you can dupe tools |
| 16:21 |
erlehmann |
Jonathon the name of the mod is literally anvil? |
| 16:22 |
erlehmann |
; minetest-servers mods |grep anvil |cut -f2 |sort |uniq |
| 16:22 |
erlehmann |
anvil |
| 16:22 |
erlehmann |
anvils |
| 16:22 |
erlehmann |
mcl_anvils |
| 16:22 |
erlehmann |
which one is it |
| 16:27 |
erlehmann |
luatic have you started with texture modifier functions? |
| 16:30 |
sfan5 |
<luatic> Minetest's exponential escapes are about the most INEFFICIENT way |
| 16:30 |
sfan5 |
how often do you ever need to escape anything twice? |
| 16:30 |
sfan5 |
like, what's the usecase |
| 16:33 |
erlehmann |
in mcl_banners in mineclonia i put |
| 16:33 |
erlehmann |
function escape(text) |
| 16:33 |
erlehmann |
return text:gsub("%^", "\\%^"):gsub(":", "\\:") -- :gsub("%(", "\\%("):gsub("%)", "\\%)") |
| 16:33 |
erlehmann |
finished_banner = "[combine:32x32:0,0=" .. escape(base) .. ":8,4=" .. escape(layer) |
| 16:33 |
erlehmann |
here i used escape twice |
| 16:34 |
erlehmann |
but if you want nested, i could use escape(escape(foo)) i think? |
| 16:34 |
erlehmann |
is that escape function even correct lol |
| 16:36 |
sfan5 |
by twice I meant nested |
| 16:40 |
erlehmann |
well imagine you had a banner on your banner? |
| 16:40 |
erlehmann |
no idea really though |
| 16:55 |
|
Fixer_ joined #minetest-dev |
| 17:25 |
sfan5 |
? |
| 17:47 |
pgimeno |
if we don't have a terminal velocity for falling, we need one |
| 17:48 |
pgimeno |
as for exponential escapes, well, C has them |
| 17:50 |
pgimeno |
I wrote a sort of essay here (in Spanish): https://orden-y-concierto.blogspot.de/2009/12/escape-del-escape-del-escape.html |
| 18:19 |
|
Pexin joined #minetest-dev |
| 19:16 |
|
specing joined #minetest-dev |
| 19:38 |
MTDiscord |
<luatic> sfan5: it's just a worst-case complexity argument; the way escaping currently works, depth n might require 2^n escape characters |
| 19:39 |
MTDiscord |
<luatic> this is currently not much of an issue as most modifiers are just a chain baseimg^[mod^[mod... |
| 19:42 |
|
proller joined #minetest-dev |
| 20:07 |
|
longerstaff13 joined #minetest-dev |
| 20:07 |
|
Extex joined #minetest-dev |
| 20:26 |
|
ssieb joined #minetest-dev |
| 20:38 |
|
proller joined #minetest-dev |
| 20:39 |
|
adfeno joined #minetest-dev |
| 20:57 |
|
proller joined #minetest-dev |
| 22:33 |
|
proller joined #minetest-dev |
| 22:36 |
|
Pexin joined #minetest-dev |
| 22:39 |
|
erlehmann joined #minetest-dev |
| 22:55 |
sfan5 |
an 2^n solution is acceptable if n is only ever < 2 |
| 22:55 |
sfan5 |
hence my question what usecase do have that has n>=2 |
| 23:14 |
erlehmann |
if you think it should be impossible you should make it unrepresentable (and prove it will not break any mods on contentdb) |
| 23:17 |
erlehmann |
sfan5 can i force a compile without zstd? it makes switching between branches hard if i have a test world |
| 23:29 |
erlehmann |
luatic so i built the appguru:item_rtt branch for this PR https://github.com/minetest/minetest/pull/10570 and i noticed a few things: first, that branch is very old. second, i found noticeable lag between picking up a new node and the inventory image being rendered. third, the mineclonia player model had its head backwards, but maybe that is just because the branch is very old? |
| 23:30 |
erlehmann |
i will double-check that none of that occurs in 5.5-dev now |
| 23:30 |
erlehmann |
though i am pretty sure i would have noticed it |
| 23:30 |
erlehmann |
i also got a segfault, no idea why. i rarely get those. |
| 23:33 |
erlehmann |
[89878.146141] Emerge-0[24369]: segfault at f522dc3c ip 00ae8923 sp 9a081ab0 error 7 in minetest[56d000+66a000] |
| 23:33 |
erlehmann |
[89878.146174] Code: c0 29 d6 0f b7 54 24 02 09 c1 8d 44 24 0c 89 4c 24 18 8d 4c 24 18 66 89 54 24 1c 8b 54 24 40 01 ee e8 11 fe ff ff 8b 4c 24 0c <89> 0c b7 03 73 1c 80 26 fd c6 43 20 01 83 c4 2c 5b 5e 5f 5d c3 8d |
| 23:33 |
erlehmann |
whatever that means |