Time Nick Message 03:27 lhofhansl Hi all. I have a test patch for MT that uses zstd instead of zlib for map compression. Even with the fastest setting the resulting database is about 25% smaller than the zlib DB with the our default compression there (level 3). At the same time it's about 3-4x faster. 03:28 lhofhansl I could use some help with (a) reliably detect zstd with cmake (seems like black magic to me) and (b) how to make this backwards compatible. 03:33 lhofhansl Perhaps map_meta.txt should contain a version. Old maps would be read and written with old compression. 03:51 MTDiscord If you want help from mt devs, you can prolly start by getting discord lol 06:14 lhofhansl Looks like we have 4yo attempt here: https://github.com/est31/minetest/commits/zstd 06:38 specing > If you want help from mt devs, you can prolly start by getting discord lol 06:38 specing "open source" 07:04 Guest70245 lhofhansl is is retro compatible ? 08:30 sfan5 the existing attempt(s) use the normal mapblock versioning scheme to "upgrade" maps as they're written 08:30 sfan5 but that way a "old maps would be read and written with old compression" isn't possible 08:31 MTDiscord Backwards compatibility function anyone? 13:12 MTDiscord Are nested combines beyond a level of two possible? The way escaping works it doesn't seem so. 13:19 sfan5 did you try? 13:19 MTDiscord I did 13:19 MTDiscord Parens didn't work, double escaping does the trick 13:19 MTDiscord "[combine:16x16:0,0=[combine\:16x16\:0,0=[combine\\:16x16\\:0,0=default_cobble.png" 13:19 MTDiscord that arrived wrong 13:19 MTDiscord because discord uses \ as escape 13:19 MTDiscord "[combine:16x16:0,0=[combine\\:16x16\\:0,0=[combine\\\\:16x16\\\\:0,0=default_cobble.png" 13:20 sfan5 although it make sense to humans, parens cannot replac escaping 13:20 sfan5 +s +e 13:20 sfan5 so yeah you do need escaping 13:21 MTDiscord They could if our parser was better 13:21 MTDiscord But this is fine 13:21 MTDiscord I figured I can't use deeply nested combines for my purposes anyway 13:22 MTDiscord sfan5: would you mind reopening #7658? I agree with sorcerykid that it is better than my dupe. 13:22 ShadowBot https://github.com/minetest/minetest/issues/7658 -- Expose client's current window size to Lua API 13:24 sfan5 why not just the DPI? 13:24 MTDiscord Because I want proper circles relative to screensize 13:25 MTDiscord Currently, all we can get are ellipsis influenced by the screen aspect ratio 13:25 MTDiscord TBH, for my purpose getting the aspect ratio might be enough 13:26 sfan5 where exactly do you want circles? the HUD? 13:28 MTDiscord Yes, the HUD 13:28 MTDiscord Something like scopes or spread indicators 14:55 Guest70245 wow i have MT rendering through SDL 2 calls, no input yet 14:55 Guest70245 but GL is working :D 14:56 MTDiscord Are you nerzhul Guest70245? 14:56 Guest70245 ah yes i'm, my matterbridge changes its name ? looking :D 15:03 rubenwardy merging #10768 in 10 15:04 ShadowBot https://github.com/minetest/minetest/issues/10768 -- ContentDB: Add overwrite dialog when content is already installed by rubenwardy 15:17 sfan5 merging #10772 in 10 minutes 15:17 ShadowBot https://github.com/minetest/minetest/issues/10772 -- Update Gitlab-CI pipeline by sfan5 15:17 sfan5 and after rubenwardy's 10 minutes are over I guess 15:18 rubenwardy Done 15:23 nerzhul better ? 15:25 sfan5 yes 15:35 pgimeno about zstd old/new maps, don't forget #10293 15:35 ShadowBot https://github.com/minetest/minetest/issues/10293 -- Add /upgrade_mapblocks command by SmallJoker 15:52 Krock not sure if I should continue that. It basically requires loading the entire server before anything can be converted 16:12 MTDiscord zstd was something I looked into for compressing the network protocol, actually. It's supposed to support being "pre-trained" with model data, so it doesn't take as long to "warm up" as other compressors do, which would be ideal for very short messages like network packets. Didn't yet find a version of the library that let me provide this data in a format I could understand though. 16:15 nerzhul Krock, i added a comment to change the way to make it useful, i think it's better with a flag on command line or a config with scan the map at server startup and convert it 16:16 nerzhul Changing network compression requires a new protocol bump with incompat, potentially 16:16 nerzhul and honestly gzip overhead is not the main MT bottleneck, it's more the lua stack heaviness trigged by some mods which doesn't scale well on a single thread 16:17 nerzhul for irrlicht SDL, i have now inputs, but it's the legacy way and it should not be used like this, i have improvements to do i think 16:17 nerzhul mouse event are working but there is no cursor, i don't se eit 16:17 nerzhul and i need to handle window resize events, but we are close to have native model less crap in our mt code one :D 16:18 nerzhul i don't know if anyone can compile on macosx with SDL2 and windows the irrlicht forked branch and launch mt with it, to see if it's as features as me on linux 16:27 pgimeno not sure if I should continue that. It basically requires loading the entire server before anything can be converted 16:27 pgimeno ^ nothing wrong with that 16:27 pgimeno what sounds kinda wrong is having to actually run the server, instead of loading everything, starting the conversion, then exiting 16:29 pgimeno would it be viable to perform an "agnostic" conversion? a version that does not need to know the meaning of what it's converting, it just loads in old format and saves in new format 16:34 pgimeno I've created my own luajit node searching tool so I don't immediately see an obstacle for that, but it's likely that I'm missing something 16:40 sfan5 yes that's definitely viable 16:40 sfan5 but I'm pretty sure the MapBlock class can load and save mapblocks just fine without the user loading an entire game 17:00 nerzhul sfan5: i hope it's properly designed to not require environment. We should try to isolate more our objects in order to prevent such blocking 17:00 nerzhul hmm SDL_KEYUP & SDL_KEYDOWN are now deprecated for text input, we need SDL_TEXTINPUT, it's not the same thing 17:20 nerzhul if we want to prevent huge refactor on the key input i may need a specific device binding to put on various inputChar methods 17:22 nerzhul our gui framework is bleuarg and very legacy haha 17:23 nerzhul mapping SDL on it sounds interesting, and it seems we have nice duplicated between 2 classes 18:02 onebot_ What will happen if I really use Nabla(IrrlichtBaW 's in-develop verson) for mt? 18:06 Krock you'll face some challenges, and now that there are attempts at porting it to SDL2 I think it's not worth the efforts 18:16 nerzhul irrlichtbaw doesn't work with mt i think 18:16 Krock right. too many compatiblity breakages 18:16 nerzhul and honestly i don't thinkl supporting irrlicht clone is a good way for MT we need to be close to irrlicht or have our own (2nd prefered on my side) 18:41 nerzhul it's time to have a master mergeable MR. During my irrlicht SDL work i found that some of our code can be factorized. Here is a MR for it: #10782 18:41 ShadowBot https://github.com/minetest/minetest/issues/10782 -- refacto: factorize multiple code parts from guiEditbox childs by nerzhul 18:55 nerzhul if someone has time to take a look 18:56 sfan5 testing right now 19:19 nerzhul cool, ty merging #10782 :) 19:19 ShadowBot https://github.com/minetest/minetest/issues/10782 -- refactor: Factorize shared code parts between GUIEditBox classes by nerzhul