Time Nick Message 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: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 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 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 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 wrap it? 15:52 MTDiscord 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 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 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 MTDiscord yeah I know 15:54 MTDiscord but still the format sucks 15:55 MTDiscord 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 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 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 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 lol I am appgurueu 15:57 MTDiscord 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 And I do know grammars well soo... 15:58 MTDiscord 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 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 Umm well, the justification is that it means you don't really need escaping 15:59 MTDiscord There are various ways of delimiting block scope 15:59 MTDiscord 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 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 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 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 what 16:01 MTDiscord the client should not cease sending position updates 16:02 MTDiscord 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 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 Minetest's exponential escapes are about the most INEFFICIENT way 16:02 MTDiscord 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 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 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 So is WS a parody of DF in the end? 16:06 erlehmann dragon fire destroys things 16:06 MTDiscord Thought it was a fork 16:06 erlehmann wasp saliva is used to build stuff 16:06 MTDiscord Darn, I really gotta make my own cheat client 16:07 MTDiscord I'm gonna call it "swinetest" 16:07 MTDiscord 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 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 Can it place schematics too? 16:10 MTDiscord so that allows you to start with a Grundriss and then build up? 16:10 erlehmann yes 16:10 erlehmann ja! 16:10 MTDiscord Fein! 16:11 erlehmann it can place things, but i think not in the schematics format 16:11 MTDiscord well, the schematic format sucks arguably :) 16:11 erlehmann cora has literally copied a space station from a server to another 16:12 MTDiscord 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 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 I hope we have closed all dupes 16:17 erlehmann yes of course you have! 16:17 MTDiscord 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 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 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 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 19:38 MTDiscord 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 this is currently not much of an issue as most modifiers are just a chain baseimg^[mod^[mod... 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