07:52 < bridge_> morning 07:52 < bridge_> back to work :pepeW: 09:14 < bridge_> morning, same :pepeW: 09:15 < bridge_> @fokkonaut one info for tunings: tunings are applied post tick, so You can enter a tune zone with old physics and skip through them if fast enough. This is the reason you can skip bouncy tunings for example 09:36 < bridge_> https://cdn.discordapp.com/attachments/293493549758939136/1364142722130382950/1bNR5tqtadbrlrY-MTjjFOg.png?ex=68089869&is=680746e9&hm=0eca73a26650b8c201d9ee3acd1b8203bb9073060c91ae50eb45fc0516b34d84& 09:46 < bridge_> I have a question: Is MapIO supposed to save invalid/unused data or not? So if I map invalid tiles, save, then load the map, should the invalid tiles still be there? 09:49 < bridge_> Well you check for valid ids but don't reset the tiles but send the ID to 0 🤔 time for a PR 09:50 < bridge_> Well you check for valid ids but don't reset the tiles but set the ID to 0 🤔 time for a PR 09:50 < bridge_> Depends on whether you allow using unused tiles in the map 09:55 < bridge_> I remember kebs worked on this in #9786 09:55 < bridge_> https://github.com/ddnet/ddnet/pull/9786 09:56 < bridge_> why everyone skip this screenshot? has anyone seen something like this before? 09:58 < bridge_> Skins should permanently stay in your skins folder when added to favorites / be removed when unfavorited. Seems odd that your favorite skins can just disappear from your skins @learath2 fix :greenthing: 09:59 < bridge_> It's weird. but I haven't seen this, so I have no idea. :oop: 09:59 < bridge_> thank you, time to make this obsolete when saving 🙈 09:59 < bridge_> hmm should actually ask in a popup 10:01 < bridge_> https://cdn.discordapp.com/attachments/293493549758939136/1364149112819286077/hook_demo.demo?ex=68089e5d&is=68074cdd&hm=c4b687df91ee724899671c8fe3e93cdaf18f2f82ee042b79ba4851164be1581e& 10:02 < bridge_> it's well known, the graphic of the hook detaches beyond a certain distance 10:03 < bridge_> max distance? 10:03 < bridge_> I don't know the details, nor why 10:04 < bridge_> This pr is ready 10:04 < bridge_> Send 300€ in bitcoin and I fix 10:04 < bridge_> If I had to guess, performance reasons, or in the original code no one expected anyone to hook someone that far 10:05 < bridge_> sent 10:05 < bridge_> is this related to why hook teleport looks awful? 10:05 < bridge_> OH this is not merged 10:05 < bridge_> And I was like "WHERE ARE KEBS CHANGES" 10:08 < bridge_> Nope, the only map that has had this issue is that one fun map where you dodge things going up 10:09 < bridge_> You usually don't hook far enough for it to be a problem in maps normally, you'd usually only see it if the map allows you to get outside of it 10:09 < bridge_> no it's not :pepeW: 10:20 < bridge_> @syrinok how do they disappear? Is that new? 10:21 < bridge_> Always been like that afaik, if you don't have the skin downloaded, and simply favorited, they disappear since they're just temporarily stored from the DB 10:21 < bridge_> Not really 10:21 < bridge_> All skins from db are downloaded 10:21 < bridge_> There is no concept such as temporary 10:21 < bridge_> They disappear from the skins tab all the time though? 10:22 < bridge_> No 10:22 < bridge_> Not for me 10:22 < bridge_> I thought the whole point of the skin DB and auto downloading was to avoid having a bunch of skins downloaded, so the game didn't take 10 years to launch 10:22 < bridge_> That is only about lazy loading, which is the default in the next release anyway 10:23 < bridge_> Favorite skins are loaded tho 10:23 < bridge_> Else someone broke it 10:23 < bridge_> I see, well favorites disappear / skins disappear from the skin list when fresh launch 10:23 < bridge_> And it's always been like this from what I've seen 10:23 < bridge_> @robyt3 Was this changed 10:23 < bridge_> I'm 99.99% sure I made it so that favorite skins are shown in list 10:24 < bridge_> I have lolhair and other skins favorited 10:24 < bridge_> https://cdn.discordapp.com/attachments/293493549758939136/1364154813662761022/image.png?ex=6808a3ac&is=6807522c&hm=793f35fa5cff5730468cd8539ca9f4515974cac94b9059f833883d68c54245b7& 10:24 < bridge_> only this one shows up, cause I have it downloaded 10:24 < bridge_> Mh ok 10:24 < bridge_> and in my skins folder 10:24 < bridge_> connecting my dummy that uses lolhair 10:24 < bridge_> https://cdn.discordapp.com/attachments/293493549758939136/1364154999067770971/image.png?ex=6808a3d8&is=68075258&hm=b63380f3cb7fa7627667f0cc7aa34e51f88daf4e8915bca6c1f673dbe79c49bb& 10:25 < bridge_> It stays until I close the game 10:25 < bridge_> Favourites should always be shown in the list, with the next release the main and dummy skins will also always be loaded 10:25 < bridge_> Maybe it got buggy then? 10:25 < bridge_> @syrinok do you use nightly? 10:25 < bridge_> I'm on nightly, yes 10:26 < bridge_> This has been my experience with the skin system for awhile now though, I'm quite positive 10:26 < bridge_> Yeah alr, then it broke some day most likely 10:29 < bridge_> how does a skin undownload at all? regardless of favorite status 10:29 < bridge_> I thought if it shows up in your list it's on your disk 10:29 < bridge_> I thought if it shows up in the list it's on your disk 10:30 < bridge_> Downloaded skins are not shown in the list currently unless they are used or favorited 10:30 < bridge_> ah ok 10:30 < bridge_> sounds easy to fix then 10:31 < bridge_> But once we have a skin index for individual databases we can also show all skins of the database in the client immediately 10:31 < bridge_> like index for community skin urls? 10:33 < bridge_> If we are ok with switching to a micro service instead of using nginx, then I'd gladly make this happen. 10:33 < bridge_> 10:33 < bridge_> I wanted a better preview for the skin discord bot anyway some day. The new discord bot required could then do that too 10:36 < bridge_> I think you can have both services at the same time without any issues, the index can pull all the skins from the skindb? 10:36 < bridge_> Like a file of all skin names and properties so the client can show that list, otherwise the client doesn't know which skins are available in each database 10:37 < bridge_> ok I'm noticing the "download all" button on the web page gets them individually 💀 so I guess it's not trivial 10:37 < bridge_> https://cdn.discordapp.com/attachments/293493549758939136/1364158059697668147/image.png?ex=6808a6b2&is=68075532&hm=c6ff914a14d80dbe57d5c02d47a8274e2b56cc4158093c83725bc5a24111e2b5& 10:37 < bridge_> Ah it's more about changing the PHP upload script, which I don't want to touch xD 10:39 < bridge_> why do you need to change the upload script? 10:40 < bridge_> To generate these asset indices 10:40 < bridge_> what about all the skins already uploaded? 10:40 < bridge_> They currently use one big index 10:40 < bridge_> But besides that, I also want to add better meta data like mulitple authors etc. 10:41 < bridge_> oh man, the skins page does not lazy load the skin images. You just get 25mb of skins everytime you visit the page 10:41 < bridge_> It should lazy load them 10:42 < bridge_> Well maybe it broke lol 10:43 < bridge_> That would explain some crashes with the debugger xd 10:45 < bridge_> what does this mean? where does the data even go? 10:45 < bridge_> is there a SQL server? 10:45 < bridge_> A json file 10:48 < bridge_> hmm ok 10:49 < bridge_> https://skins.ddnet.org/skin/skins.json 10:49 < bridge_> so what does this get replaced with? 10:49 < bridge_> you want to get skin data indivudally? 10:50 < bridge_> No, but one index per skin type (community, normal, hd, non-hd) 10:50 < bridge_> oh ok 10:50 < bridge_> ok but that doesn't sound that hard 10:51 < bridge_> Depends on what you call hard. It's not technically hard. But it requires to have a different upload process 10:51 < bridge_> but you already have all the data you need to generate those indexes? no? 10:52 < bridge_> Depends again on the goal xd 10:52 < bridge_> 10:52 < bridge_> I'd add multiple authors support, maybe tags & description at the same moment 10:52 < bridge_> Something more future proof 10:52 < bridge_> I suppose 10:53 < bridge_> but you can just take the current json and rearrange it how you want as an ad-hoc step seemingly pretty easily 10:53 < bridge_> Yes, probably need a script for that anyway to not reupload all currently existing skins 10:59 < bridge_> @robyt3 looks like 58a6b722958698ebe2af4372c41718ab5bd2b550 is causing the issue mentioned in #10095 11:00 < bridge_> https://github.com/ddnet/ddnet/issues/10095 11:00 < bridge_> this file is pretty small btw, I'd be very confident a good LLM can handle changes. 11:02 < bridge_> this file is pretty small and self contained btw, I'd be very confident a good LLM can handle changes. 11:04 < bridge_> Yes, but there is yet another reason I want a micro service. 11:04 < bridge_> I want to host a hashed version of the skin (adding the hash to the name) 11:04 < bridge_> and non hashed for compat and easier finding/typing. 11:04 < bridge_> 11:04 < bridge_> That's also what ddnet-rs uses, so it's already coded anyway 11:05 < bridge_> Using an index could completely skip the download request we currently do using the hash information 11:06 < bridge_> ah good point 11:47 < bridge_> Starve and do a rust PR or go shopping? 11:47 < bridge_> go shopping 11:47 < bridge_> but but but 😦 11:49 < bridge_> no rust 12:12 < bridge_> ddnet with outlines :D 12:12 < bridge_> https://cdn.discordapp.com/attachments/293493549758939136/1364182130711724144/image.png?ex=6808bd1d&is=68076b9d&hm=befd42f72f1d4768f1efb354310af566f208da3821ca1363582c7503b5a14b66& 12:13 < bridge_> (probs a driver bug with my web renderer, very noticable when you squish the canvas into very small space) 12:40 < bridge_> @jupeyy_keks I made some input/startup improvements to https://mapview.patiga.eu/ (though I didn't improve the startup time, only opened an issue ^^ https://gitlab.com/Patiga/twgpu/-/issues/7) 12:40 < bridge_> it *should* now *maybe* work a little better on mobile 12:40 < bridge_> though I found out that mobile firefox is a little buggy with the touch input 12:42 < bridge_> and could you please take a look at the mipmapping currently in twgpu? I feel like it selects a too high-res level 12:42 < bridge_> (as in: please take a look at the rendered output, not any code) 12:44 < bridge_> hi developers can we have a thing to be able to change where the screenshot go 12:49 < bridge_> not user friendly, but you could create a sym-link from your desired screenshot folder to the config-dir screenshot folder. this way the screenshots will be automatically redirected to your desired location by windows. you'd probably need to use a terminal for that tho 12:53 < bridge_> now I have the Pizza and RedBull to do Rust even more efficient 💪 12:54 < bridge_> @patiga you've seen my (typo) PR? 12:57 < bridge_> yes. I'm not the hugest fan of typo PR's, but I honestly don't know why. 12:57 < bridge_> could you just adjust the pr title to smth like `tools/check-ddnet: Fix typo`? 12:57 < bridge_> (then I'll just merge) 12:58 < bridge_> How else am I supposed to fix typos? It's a typo visible to everyone running into this issue and it annoys me, because bad english 12:58 < bridge_> my english not yellow from egg 12:59 < bridge_> like I said, I don't know why I'm not the biggest fan of single typo PR's. I'll merge :) 13:00 < bridge_> I would totally understand, if it was just a typo in the codebase with no effect what-so-ever 13:01 < bridge_> merged ⚡ 13:02 < bridge_> Merci ❤️ 13:05 < bridge_> Should I add `faulty speedtiles` to the bot/twmap-ddnet-check or would you prefer generalizing it with `faulty_tele` to `faulty_tiles` ? 13:06 < bridge_> Dobby needs guidance from master :owo: 13:09 < bridge_> Oh I think putting them togheter doesn't make sense, one of these are invalid, the others are logical mapping errors 13:12 < bridge_> looks kinda cool, but the image is really low res xd 13:13 < bridge_> Since it was mostly the first start I could still imagine it's about downloading the wasm blob (?) 13:13 < bridge_> Or why else is it cached in later runs 13:14 < bridge_> For me it was buggy on both browsers with input 13:14 < bridge_> I could only zoom out by using a physical mouse 13:14 < bridge_> @zwelf2 if you can generate an hour or two it'd be nice if you can form an opinion on the two teehistorian PRs I have open 13:15 < bridge_> ok, will try to do in evening 13:18 < bridge_> yea, another option is fine. At some point I'll try to merge some of those (e.g. the faulty hookthrough/tiles with invalid rotation are also candidates) 13:19 < bridge_> (gonna piggyback here and also note that my pr might also be interesting ^^) 13:20 < bridge_> buggier than before? 13:21 < bridge_> with touch inputs, could you try out if placing one non-moving finger, and then doing the pinch motion only with the second finger works better? 13:21 < bridge_> Was, so didn't test new yet, didn't know you changed smth 13:23 < bridge_> honestly this is a mystery to me. the wasm blob is 'only' 3 MB, it shouldn't take long 13:24 < bridge_> Maybe your VPS was dosed by all sudden requests xd 13:24 < bridge_> @sans._. when judge me for my js 13:24 < bridge_> But yeah loading a map on my phone rn and it takes ages again 13:25 < bridge_> yeah I'm getting to that, rn I'm packing but first I'm deep cleaning this hunk of metal 13:25 < bridge_> https://cdn.discordapp.com/attachments/293493549758939136/1364200460986220564/rn_image_picker_lib_temp_8fb674f2-7798-4257-bf36-039c127a92a8.jpg?ex=6808ce2f&is=68077caf&hm=44a538db00d99b7fc8a0e3d1e401bee015fb06c0e89fa023fa43619d65b838dd& 13:25 < bridge_> I need to ve ready with my stuff by tomorrow noon 13:25 < bridge_> :heh: 13:25 < bridge_> I need to be ready with my stuff by tomorrow noon 13:26 < bridge_> BeQuiet 13:26 < bridge_> no u 13:26 < bridge_> :justatest: 13:27 < bridge_> but thats cloudflares job :c 13:28 < bridge_> What, it's on the tier list 13:28 < bridge_> I at least _tried_ :( 13:28 < bridge_> you can see it on the picture, I am just stating it's presence 😄 13:28 < bridge_> lol 13:28 < bridge_> you can see it in the picture, I am just stating it's presence 😄 13:29 < bridge_> reddit PSU shaming has given me ptsd 13:30 < bridge_> let's not part shame here, you can apparently play ddnet on the windows 1986 communist edition 13:30 < bridge_> tf 13:30 < bridge_> dk that's a thing 13:30 < bridge_> ^ 🤣 13:31 < bridge_> ddnet for xbox when 13:32 < bridge_> :justatest: shouldn't be too hard, actually 13:33 < bridge_> I expect a prototype by may 5th then :heh: I'm getting a minifridge 13:33 < bridge_> @totar Did you notice the `NETMSG_INPUTTIMING` msg from the server is not flushed? 13:33 < bridge_> 13:33 < bridge_> Doesn't this affect prediction quite a bit? I see often 20ms wrong timings because of this (at least I assume so) 13:33 < bridge_> Probably bcs it only gets send when another package causes a flush then (mostly snapshots) 13:33 < bridge_> 13:33 < bridge_> Or does that not matter for the client? 13:33 < bridge_> @patiga still not loading, after 5 minutes of waiting xD 13:33 < bridge_> On both browsers 13:34 < bridge_> Was kingsleap removed from testing? 13:34 < bridge_> Oh it loaded, apparently my browser history removed the case sensitivity 13:35 < bridge_> @patiga now the rendering is broken for me 13:35 < bridge_> In old versions it worked fine 13:35 < bridge_> wat 13:35 < bridge_> In the android internal browser it works 13:35 < bridge_> https://cdn.discordapp.com/attachments/293493549758939136/1364203073295089735/Screenshot_20250422-133549_Fennec.png?ex=6808d09e&is=68077f1e&hm=04ee7cbdb576a0059059f8047edfcfb657838755430a63b9b0e2dc475ac8ebeb& 13:36 < bridge_> ah true, I updated the wgpu version, something could've broken by that 13:36 < bridge_> I dunno 13:36 < bridge_> It only breaks when zooming 13:37 < bridge_> so it looks alright at first, but when you zoom stuff starts disappearing? 13:37 < bridge_> I know this map :owo: 13:37 < bridge_> https://cdn.discordapp.com/attachments/293493549758939136/1364203478611791882/screen-20250422-133721.mp4?ex=6808d0fe&is=68077f7e&hm=ac2f9c6062475b6ff1455cc9592b7f97557cc211a1d7e6d63183a8cfabab1332& 13:37 < bridge_> @patiga 13:38 < bridge_> heh, that was also that way for me on the older version 13:38 < bridge_> iirc 13:38 < bridge_> but on desktop it still works, right? 13:38 < bridge_> (also in browser) 13:39 < bridge_> I mean it also works in the other mobile browser 13:39 < bridge_> yea that is so weird, probs something that would need to be fixed in wgpu 13:40 < bridge_> though it says in the webgl support that off-canvas rendering isn't really supported or smth along those lines 13:40 < bridge_> and I do that for the mipmaps 13:40 < bridge_> I mean this looks like all the mipmaps are just missing 13:40 < bridge_> On desktop it works everywhere 13:40 < bridge_> darn 13:41 < bridge_> is the input at least better? 13:41 < bridge_> on mobile 13:41 < bridge_> Yes 13:41 < bridge_> hm 13:41 < bridge_> @patiga here 13:41 < bridge_> W(?) 13:41 < bridge_> This was old image from fennec 13:41 < bridge_> So it worked in old versions 13:41 < bridge_> yea crap 13:42 < bridge_> when I did usb-debugging for this issue I didn't see anything in the console 13:43 < bridge_> I'll try that again 13:46 < bridge_> honestly no clue how to debug that 13:46 < bridge_> It kinda looks like its only using the top-most mip level here, from the pattern of the white bricks 13:47 < bridge_> I assume you cannot compile to native android yet? 13:47 < bridge_> Else I could debug with renderdoc probs 13:47 < bridge_> never tried it 13:48 < bridge_> hm though I could try out running it with proper webgpu in the browser 13:48 < bridge_> does mobile chrome support that nowadays already? 13:49 < bridge_> oh it does 13:49 < bridge_> hmm, thats worth a shot :) 13:50 < bridge_> Oh wow, we broke compat to vanilla 0.6, sick progress 13:50 < bridge_> Oh wow, we broke compat to vanilla 0.6 clients, sick progress 13:50 < bridge_> o.o with what? 13:52 < bridge_> I dunno, I just noticed using the libtw2 downloader test thing that old servers send Character info and new servers only send DdnetCharacter info 13:54 < bridge_> Well maybe it's also just a libtw2 bug 13:54 < bridge_> it often says `item decode error IntOutOfRange` 13:54 < bridge_> And in some snapshots the Character info is in 13:55 < bridge_> isn't there some sort of client feature detection? 13:57 < bridge_> Probably, but apparently something broke compat with at least libtw2 xD 13:57 < bridge_> Either itself or the server 13:59 < bridge_> yippee 14:02 < bridge_> @patiga apparently new servers set the ammo_count to -1 14:02 < bridge_> and libtw2 refuses that xD 14:02 < bridge_> Dunno if vanilla is also so strict about that tho 14:04 < bridge_> Where even is heino 14:04 < bridge_> He is perma afk 14:12 < bridge_> I can't believe that every time I use Rust I find something to annoy me 14:12 < bridge_> It's like the entire language is purposefully designed to lack the things I want from a language 14:13 < bridge_> At least tell us what annoys you 14:20 < bridge_> @patiga probably a webgpu thing, that is out of your control, but in chromium I actually get: 14:20 < bridge_> https://cdn.discordapp.com/attachments/293493549758939136/1364214197344534528/image.png?ex=6808dafa&is=6807897a&hm=86b29711a87071a9f6d0f05952d5a94e4b9c58bb09d3be0b23e864ba739d26e4& 14:20 < bridge_> So it doesn't work in chromium rn 14:21 < bridge_> Can you give a list of things you want from a language(asking for a friend)? 14:23 < bridge_> @learath2 I'm just now taking a first look at the tool, may I ask wtf? 14:24 < bridge_> It's so slow XD 14:24 < bridge_> Also I may have bent a few (3) pins on my mobo and had to bend em back 14:24 < bridge_> it looks like im not cooked but we'll see 14:25 < bridge_> ```c++ 14:25 < bridge_> void read_int(std::integral auto &i) { 14:25 < bridge_> constexpr int width = std::numeric_limits>::digits; 14:25 < bridge_> } 14:25 < bridge_> ``` 14:25 < bridge_> This snippet that took me 20 seconds to think up in C++ is surprisingly annoying to reproduce with rust generics 14:25 < bridge_> Rust generics somehow make me miss SFINAE, and I hate SFINAE 14:25 < bridge_> Wtf does it even do xD 14:26 < bridge_> It lets you pass in any integer type, and I can figure out and use it's width 14:26 < bridge_> Well you need a trait that has what you need on your objects 14:27 < bridge_> std::integral is some kind of trait too? 14:27 < bridge_> will push a fix in a sec 14:27 < bridge_> (Or constraint as they call it in fancy cpp) 14:27 < bridge_> Yes, which doesn't seem to be in std, or in the num-traits crate. So I now need implement it myself, or at that point I might aswell just copy and paste it 4 times for `read_i8` `read_i16` `read_i32` `read_i64` 14:28 < bridge_> Concept 😛 14:28 < bridge_> So the std sucks 14:28 < bridge_> Accepted, I also think it lacks some QOL stuff 14:32 < bridge_> I guess I can use `num-traits::PrimInt` and determine the bitwidth by doing 8 * `std::mem::size_of` 14:33 < bridge_> @patiga 14:33 < bridge_> ```rust 14:33 < bridge_> .filter(|(_, speedup)| (speedup.type != 0 && speedup.force == 0)) 14:33 < bridge_> ``` 14:33 < bridge_> `435 | .filter(|(_, speedup)| (speedup.type != 0 && speedup.force == 0)) 14:33 < bridge_> | ^^^^ expected identifier, found keyword` 14:33 < bridge_> Cursed markdown 14:33 < bridge_> type is the property name, but also a keyword 14:34 < bridge_> @patiga 14:34 < bridge_> ```rust 14:34 < bridge_> .filter(|(_, speedup)| (speedup.type != 0 && speedup.force == 0)) 14:34 < bridge_> ``` 14:34 < bridge_> ```435 | .filter(|(_, speedup)| (speedup.type != 0 && speedup.force == 0)) 14:34 < bridge_> | ^^^^ expected identifier, found keyword 14:34 < bridge_> ``` 14:34 < bridge_> is it renamed and how am I supposed to know 14:35 < bridge_> `speedup.r#type` time 14:36 < bridge_> it's renamed to id, thanks to lerath the error now contains the info what types are available 🙂 14:36 < bridge_> 😄 14:36 < bridge_> it's renamed to id, thanks to learath the error now contains the info what types are available 🙂 14:38 < bridge_> if that is the macro, you could also try writing it without the macro 14:39 < bridge_> ``` 14:39 < bridge_> let invalid_speedup_count = speedup_tiles 14:39 < bridge_> .indexed_iter() 14:39 < bridge_> .filter(|(_, speedup)| (speedup.id != 0 && speedup.force == 0)) 14:39 < bridge_> .filter(|(yx, _speedup)| { 14:39 < bridge_> maybe_print_path(path); 14:39 < bridge_> println!("Invalid (maybe invisible) speedup at x: {}, y: {} {}", yx.1, yx.0, "Force 0 is forbidden!"); 14:39 < bridge_> true 14:39 < bridge_> }) 14:39 < bridge_> .count(); 14:39 < bridge_> ``` 14:39 < bridge_> 14:39 < bridge_> Please explain for rust beginners :justatest: 14:39 < bridge_> ```rust 14:39 < bridge_> let invalid_speedup_count = speedup_tiles 14:39 < bridge_> .indexed_iter() 14:39 < bridge_> .filter(|(_, speedup)| (speedup.id != 0 && speedup.force == 0)) 14:39 < bridge_> .filter(|(yx, _speedup)| { 14:39 < bridge_> maybe_print_path(path); 14:39 < bridge_> println!("Invalid (maybe invisible) speedup at x: {}, y: {} {}", yx.1, yx.0, "Force 0 is forbidden!"); 14:39 < bridge_> true 14:39 < bridge_> }) 14:39 < bridge_> .count(); 14:39 < bridge_> ``` 14:39 < bridge_> 14:39 < bridge_> Please explain for rust beginners :justatest: 14:50 < bridge_> does `cargo build` not overwrite existing executables? 14:50 < bridge_> I see, that a .d file has an up-to-date timestamp, but the executable was not updated 14:52 < bridge_> cargo build overwrites executables 14:52 < bridge_> I had to delete it and rebuild it, otherwise clap was not adding the new option 14:52 < bridge_> did you maybe switch up debug/release? 14:53 < bridge_> no, I don't have a single debug build 14:53 < bridge_> you can also use `cargo run --bin twmap-check-ddnet -- ` to directly run the newly built binary 14:55 < bridge_> ``` 14:55 < bridge_> $ ./twmap-check-ddnet.exe --faulty-speedup ~/AppData/Roaming/Teeworlds/maps/KingsLeap.map 14:55 < bridge_> 14:55 < bridge_> $ ./twmap-check-ddnet.exe --faulty-speedup ~/AppData/Roaming/Teeworlds/maps/Cansada_invalid.map 14:55 < bridge_> Invalid (maybe invisible) speedup at x: 394, y: 66 Force 0 is forbidden! 14:55 < bridge_> Invalid (maybe invisible) speedup at x: 518, y: 68 Force 0 is forbidden! 14:55 < bridge_> Invalid (maybe invisible) speedup at x: 531, y: 137 Force 0 is forbidden! 14:55 < bridge_> Invalid (maybe invisible) speedup at x: 486, y: 429 Force 0 is forbidden! 14:55 < bridge_> Invalid (maybe invisible) speedup at x: 487, y: 429 Force 0 is forbidden! 14:55 < bridge_> Invalid (maybe invisible) speedup at x: 679, y: 483 Force 0 is forbidden! 14:55 < bridge_> ``` 14:55 < bridge_> 14:55 < bridge_> It's working 🥳 14:55 < bridge_> should call it speedtile instead 14:55 < bridge_> I think speedtile is the common terminology 14:55 < bridge_> *speedup 14:56 < bridge_> speedup-tile? 🤓 14:56 < bridge_> I think speedup is fine 14:56 < bridge_> well okay I think it's clear enough like this 15:02 < bridge_> PR is ready ❤️ 15:05 < bridge_> it's written like that in order to make the change that allows force 0 for the new speedtiles easy and readable 15:06 < bridge_> it's written like that in order to make the change that allows force 0 for the new speedtiles easy and readable, if we ever come around to do this ofc 😄 15:20 < bridge_> yet another backend incoming? 15:20 < bridge_> That is no backend 15:22 < bridge_> it shows as a graphics backend, what is glew then? 15:22 < bridge_> can you try again? you can also now use the url parameter `backend=webgpu`/`backend=webgl` to force a backend 15:22 < bridge_> It's an OpenGL extensions loader 15:23 < bridge_> That's cool 15:23 < bridge_> Give it a few minutes 15:23 < bridge_> :lol: 15:23 < bridge_> on my linux chromium, the webgpu backend was hella slow 15:23 < bridge_> It works for you? Did you have to manually enable it? 15:24 < bridge_> though on linux/chromium, webgpu support is still experimental 15:24 < bridge_> I enabled it via the unstable cli parameter `--enable-unsafe-webgpu` 15:25 < bridge_> NVM 15:25 < bridge_> I broke it I think 15:25 < bridge_> lemme fix the site 15:25 < bridge_> hrmpf 15:27 < bridge_> it works locally :c 15:30 < bridge_> https://cdn.discordapp.com/attachments/293493549758939136/1364231891607093288/image.png?ex=6808eb75&is=680799f5&hm=7cd577710861f37763efeec885686cf333035dde31e99c3bf7d1c8090da701e7& 15:30 < bridge_> @patiga 15:30 < bridge_> yea I failed to fix that one 15:30 < bridge_> reload works tho 15:31 < bridge_> I thought I only get that locally with too fast loading xd 15:31 < bridge_> but for you the website sorta works? it won't do anything for me rn 15:31 < bridge_> `Uncaught LinkError: import object field '__wbg_requestAdapter_5e45466d2792e15f' is not a Function` 15:35 < bridge_> Yes, but the above error persists. 15:43 < bridge_> :D 15:43 < bridge_> https://cdn.discordapp.com/attachments/293493549758939136/1364235135368826956/image.png?ex=6808ee7a&is=68079cfa&hm=2a4e9df635a7148ad3708ded00664234ea580961fa14f78569e8cc9101664217& 15:47 < bridge_> and you didn't have that error before right? 15:47 < bridge_> why the hell is everything falling apart now xd 15:47 < bridge_> I can't even load the site, and you get that weird error 15:47 < bridge_> should I just let run spin until the window says its width and height are non-zero? 15:48 < bridge_> I think it worked few weeks ago 15:48 < bridge_> I dunno xd 15:48 < bridge_> It works now btw 15:48 < bridge_> Have you changed smth? 15:48 < bridge_> NO 15:49 < bridge_> and its still just as broken for me xd 15:49 < bridge_> wth 15:49 < bridge_> Ok it only works sometimes 15:49 < bridge_> ok I'll restart my pc for a quick sanity-check 15:49 < bridge_> New Rust deficiency landed, no generic bidirectional iterator trait 15:50 < bridge_> Enough winning for one day, I'll go do something else for a bit 15:50 < bridge_> DoubleEndedIterator or smth? 15:50 < bridge_> https://doc.rust-lang.org/std/iter/trait.DoubleEndedIterator.html 15:50 < bridge_> That's an iterator that can iterate from both ends simultaneously 15:50 < bridge_> What do you want? Linked list? 15:51 < bridge_> Back and forth? 15:51 < bridge_> Back and forth aye 15:51 < bridge_> That will probably never exist in Rust 15:51 < bridge_> At least not for mutable stuff 15:51 < bridge_> It probably can't because you can probably create multiple mutable refs with it 15:51 < bridge_> Thanks Rust, very cool 15:51 < bridge_> xdd 15:52 < bridge_> @learath2 pls open https://mapview.patiga.eu/ for a second and tell us what error you get in the console :d 15:52 < bridge_> You want the "This isn't actually an error" error? 15:52 < bridge_> not that one 15:52 < bridge_> the site just works for you`? 15:53 < bridge_> I don't get any other error, it works fine 15:53 < bridge_> He uses a browser written in Rust, bcs he likes Rust so much 15:53 < bridge_> I'll blame cloudflare caches maybe? 15:53 < bridge_> I got this in firefox exactly once btw. After reload it then magically worked 15:54 < bridge_> Hm, I do get a `WebGPU supported: false` at the start, maybe I'm getting a different codepath? 15:54 < bridge_> idk what you are debugging 15:54 < bridge_> I can't open the site cause of some uncaught link error. jupii gets the surface error with width/height = 0, Learath just doesn't bother and gets happy path 15:54 < bridge_> site doesn't work at all for me, it works perfectly for you 15:54 < bridge_> I get `Uncaught LinkError: import object field '__wbg_requestAdapter_5e45466d2792e15f' is not a Function` 15:55 < bridge_> @jupeyy_keks okay please clarify: you got the linkerror once, then after reload the surface error? 15:56 < bridge_> No, after the reload it worked, but firefox only 15:56 < bridge_> chromium is now completely broken 15:56 < bridge_> with the link error 15:56 < bridge_> Actually just reloaded and worked xD 15:56 < bridge_> But at least _mostly_ broken 15:56 < bridge_> Chrome works fine for me too 15:56 < bridge_> was it broken with the surface or link error on chromium @jupeyy_keks 15:56 < bridge_> With surface stuff, but rn it magically works, dunno 15:57 < bridge_> Yeah only surface problem 15:57 < bridge_> wooo now it also works for me again 15:57 < bridge_> and on chrome you should actually get the webgpu backend now 15:57 < bridge_> Dunno rn it works 15:57 < bridge_> the linkerror might've actually just been some cloudflare caching I suppose 15:57 < bridge_> "map_inspect_web.js:2665 WebGPU supported: false" 15:58 < bridge_> on chrome? 15:58 < bridge_> chromium? 15:58 < bridge_> ``` 15:58 < bridge_> map_inspect_web.js:1736 Failed to create WebGPU Context Provider 15:58 < bridge_> imports.wbg.__wbg_requestAdapter_5e45466d2792e15f 15:58 < bridge_> ``` 15:58 < bridge_> I do get this on chrome 15:58 < bridge_> But i can try with this 15:58 < bridge_> but then it says `WebGPU supported: false` and seems to bail to a different codepath that works 15:58 < bridge_> chrome doesn't officially support webgpu for linux 15:58 < bridge_> @patiga I defs still get the Surface error 15:58 < bridge_> It's completely random 15:59 < bridge_> on mobile chrome it should be supported 15:59 < bridge_> your pc is too fast or smth 15:59 < bridge_> buy slower pc 15:59 < bridge_> Believe me, I already did that :lol: 16:00 < bridge_> enabling it by hand and it still works, so I guess on my specific configuration it always just works 😄 16:00 < bridge_> does it say that it uses webgpu in the console? 16:00 < bridge_> Yes 16:01 < bridge_> ``` 16:01 < bridge_> AdapterInfo { name: "", vendor: 0, device: 0, device_type: Other, driver: "", driver_info: "", backend: BrowserWebGpu } 16:01 < bridge_> ``` 16:01 < bridge_> is it horribly slow? :D 16:01 < bridge_> on my laptop it tries to boil my cpu or smth 16:01 < bridge_> might work better with an actual graphics card or smth 16:01 < bridge_> Eeeh, it is a bit slow, and it makes my fans go turbo mode 😄 16:01 < bridge_> yeaaa 16:01 < bridge_> I get 8 entire fps 16:02 < bridge_> https://mapview.patiga.eu/?backend=webgl 16:02 < bridge_> ^ and with webgl you prob get full fps with no turbo mode? 16:02 < bridge_> yep 16:02 < bridge_> lovely 16:02 < bridge_> gl on top 16:02 < bridge_> 💪 16:05 < bridge_> It completely doesn't work for me again 16:05 < bridge_> without error 16:05 < bridge_> Have you considered getting better hardware? 16:06 < bridge_> @patiga see it's defs a network thing 16:06 < bridge_> 16:06 < bridge_> Why should it take like over 30s to download them xD 16:06 < bridge_> https://cdn.discordapp.com/attachments/293493549758939136/1364240949177483335/image.png?ex=6808f3e4&is=6807a264&hm=6fb55be37be4219124a6d93c5d2e23c72870a7f859fe30379496d1de42a81c89& 16:07 < bridge_> https://cdn.discordapp.com/attachments/293493549758939136/1364241172402405448/image.png?ex=6808f419&is=6807a299&hm=05da3cd61cc9a49aad62581faf62d6429c7cead1685e34e111f0efd11d16fd73& 16:07 < bridge_> Still downloading xD 16:08 < bridge_> did you anger cloudflare? 16:08 < bridge_> So blame cloudflare? 16:08 < bridge_> I blame Patiga.eu 16:08 < bridge_> patiga.eu is github pages behind cloudflare 16:08 < bridge_> More like gitlab 16:08 < bridge_> ah right 16:08 < bridge_> Host it on github xD 16:09 < bridge_> It's probs a USA server 16:09 < bridge_> Bcs I have really bad ping to it 16:09 < bridge_> Oh it loaded 16:09 < bridge_> Finally 16:09 < bridge_> are you browsing via tor or smth? 16:09 < bridge_> Add serverside rendering for the first frame 16:09 < bridge_> https://cdn.discordapp.com/attachments/293493549758939136/1364241763052818515/image.png?ex=6808f4a6&is=6807a326&hm=01f4c1349122383d969b745ef56bac5f3605cc1bf9a7ad516e88cceac7010f55& 16:09 < bridge_> Only took 2 minutes 16:09 < bridge_> lmao 16:09 < bridge_> ????? 16:09 < bridge_> @learath2 you had normal loading times, no? 16:09 < bridge_> `map_inspect_web.js:2665 WebGPU supported: true` 16:10 < bridge_> epyc vulkan for web moment 16:10 < bridge_> RFC1149 moment 16:10 < bridge_> I guess if you want to protect your ip from ddos ... 16:10 < bridge_> Oh no I had disable cache on 16:10 < bridge_> Yeah, pretty much instant 16:10 < bridge_> Here we go again 16:11 < bridge_> I could also try to blame jupii's isp 16:11 < bridge_> but no matter where the server is, the throughput should still be okay afaik 16:18 < bridge_> I blame gitlab 16:21 < bridge_> maybe there is a tariff on your bandwidth (: 16:40 < bridge_> Yes indeed, bcs I just restarted router and changed ip, still sucks 16:41 < bridge_> And in tor browser it's fast xd 16:41 < bridge_> Guess I've to get one of those losers that pay for VPN 😬 16:43 < bridge_> :catsob: 16:45 < bridge_> but this is the first website you've had problems with? :o 16:49 < bridge_> ( @jupeyy_keks ) 16:50 < bridge_> I don't think I've seen lots of websites loading for 2minutes xd 16:50 < bridge_> 16:50 < bridge_> Defs one of the only ones 17:12 < bridge_> I once made a leaflet world-map where I placed ~2500 objects. So I send the client 2500 images to render them 🙂 this was beyond 2 minutes xD optimized now 17:31 < ws-client4> > And in tor browser it's fast xd 17:31 < ws-client4> nobody ever 17:50 < bridge_> Truest story 18:15 < bridge_> @patiga can you look over the PR again? I am a bit nervous, that any map gets released with this bug with the new speedtiles before it's detected and I don't want to break it 18:16 < bridge_> these maps can always be fixed even after the 2 week period if needed if its game/mapbreaking - i wouldnt worry about it to much 18:17 < bridge_> do we fix already released maps? I am currently monitoring staging maps a bit manually 18:17 < bridge_> There is at least one map in review currently which contains this bug, where the mapper simply didn't answer yet 18:19 < bridge_> how do i `QuadsSetSubsetFree` on quad thats been loaded with `QuadContainerAddSprite`, or any other way to flip it? 18:25 < bridge_> we fix already released maps with game/mapbreaking bugs 18:25 < bridge_> we fix already released maps with game/mapbreaking bugs and if they dont alter already made ranks 18:25 < bridge_> we fix already released maps with game/mapbreaking bugs and if they dont alter already made ranks (outside of the 2 week fixing period) 18:26 < bridge_> how do you know, that this bugfixes don't affect any ranks tho? 18:26 < bridge_> I wish I could just validate all existing runs and proof 18:26 < bridge_> I wish I could just validate all existing runs and proof ( I know we aren't there yet) 18:28 < bridge_> teehistorian is an open format, good luck! :kek: 18:28 < bridge_> 18:28 < bridge_> of course you cant check every rank, but checking the top X ranks to see if they use/abuse a gamebreaking/mapbreaking bug is usually enough 18:28 < bridge_> and of course, the willingness of the mapper to fix it 18:35 < bridge_> in CItems::RenderPickup 18:45 < bridge_> I can fix it for them, for free 18:45 < bridge_> In fact, I did already 18:55 < bridge_> I'm home in a few mins and can merge then 19:10 < bridge_> damn I often forget to push my own changes to twmap 19:12 < bridge_> I did an illegal force push, but only with the most recent two commits 19:12 < bridge_> (sry @essigautomat, but the history was really messed up with the twmap-tools releases) 19:16 < bridge_> @essigautomat rlsed twmap-tools 0.4.6 19:18 < bridge_> huh? 19:18 < bridge_> I assume you managed to fix your issue and we have a beatiful new version of twmap-tools? 🥳 19:20 < bridge_> @murpi can you update the bot please, so I can sleep tonight? :owo: 19:21 < bridge_> Uhm, yes 19:21 < bridge_> loveley, thank you! 19:36 < bridge_> twmap-tools should be on 0.4.6 now 19:45 < bridge_> where is hex viewer chilllerdragon when u need him most 19:47 < bridge_> broke ddnet repo github actions 19:47 < bridge_> https://cdn.discordapp.com/attachments/293493549758939136/1364296661580382293/image.png?ex=680927c7&is=6807d647&hm=56d0bba681e5dfc50611e5072d9dea3a185539e756b8aa3d45a90dbcbf1b1816& 19:47 < bridge_> @patiga 19:48 < bridge_> So much for preventing the CI from breaking by pinning the version :owo: 19:49 < bridge_> I thought we pinned with the commit 19:50 < bridge_> But did your force push invalidate the previous commit ID? 19:50 < bridge_> GitHub has the same GitLab download issues as me 19:50 < bridge_> :deen_star: 19:50 < bridge_> god damn it, I thought I fixed the commit order 19:50 < bridge_> I should've double-checked 19:51 < bridge_> aaah I get it 19:52 < bridge_> I made a local change into a release 19:52 < bridge_> -> but didn't push it 19:52 < bridge_> then two commits from Assa with more validation 19:52 < bridge_> -> no release, but pinned in ddnet 19:52 < bridge_> -> then I rebase those commits and order them after the release 19:53 < bridge_> eh I could rebase again and restore the original ordering 19:53 < bridge_> then the history looks really odd and pretty wrong, but the original commit hashes are correct again 19:54 < bridge_> I'll do that I suppose. lesson learned: don't force push, even only a few commits to fix the release history :c 19:54 < bridge_> hm, or I quickly create a pr 19:55 < bridge_> @robyt3 which option do you prefer? 19:55 < bridge_> I'm fine with updating the hash in the CI as well 19:55 < bridge_> I'm fine with either 19:56 < bridge_> Maybe using a tag for a release version instead of hash would be better as well 19:58 < bridge_> I prefer hashes. I don't use tags as of yet, so that would be the only usage rn 19:58 < bridge_> what would be the advantage of tags? 20:01 < bridge_> easily checking out old versions, checking out "stable" versions 20:05 < bridge_> You could have changed which hash the tag points to without having to make a PR in this case 20:09 < bridge_> I honestly don't see why my rebase broke that hash, it is more in the past 20:10 < bridge_> I just confirmed how I got this result 20:10 < bridge_> I only pushed my two local commits right below the commits I just merged 20:10 < bridge_> which I thought would be fine 20:11 < bridge_> but apparently this broke the chain of merges somehow, and modified the hashes of previous commits 20:13 < bridge_> this is the start 20:13 < bridge_> https://cdn.discordapp.com/attachments/293493549758939136/1364303055457226923/image.png?ex=68092dbb&is=6807dc3b&hm=6090a5f206656f54c70b17c568976b3373e0d8b26ff39c629d62ad8cf4f204ae& 20:13 < bridge_> and I pushed down the top two commits right below 'Fix typo' 20:14 < bridge_> and the pinned commit in ddnet is the first Merge of branch feature/new-speedtile 20:19 < bridge_> I fixed the commit history, the pipeline should work again @robyt3 21:58 < bridge_> I don't think it matters, the client calculates the timing based on the data in the packet, not the actual time the packet arrives. 21:58 < bridge_> I don't think it matters, the client calculates the timing based on the data in the NETMSG_INPUTTIMING , not the actual time the packet arrives. 21:58 < bridge_> I don't think it matters, the client calculates the timing based on the data in the NETMSG_INPUTTIMING, not the actual time the packet arrives. 21:59 < bridge_> I suppose it would be slightly more accurate if you flushed it every tick, but I don't think it's nessecary idk 22:16 < bridge_> > I see often 20ms wrong timings because of this (at least I assume so) 22:16 < bridge_> Shouldn't these show up pretty clearly in the network debug graph? all NETMSG_INPUTTIMING get charted on it 22:35 < bridge_> Yeah I mean like ping pong between input and timing ack. 22:35 < bridge_> 22:35 < bridge_> But I assume the client simply doesn't care. 22:35 < bridge_> If the timing would not be delayed then the client could simply adjust client timings a bit earlier 22:38 < bridge_> the current system is basically only intended to handle stable latency situations. It makes no attempt to calculate your actual jitter and adjust for it 22:38 < bridge_> https://cdn.discordapp.com/attachments/293493549758939136/1364339490830946324/409812906-7baab461-5e75-4037-adc5-54bba410556d.png?ex=68094faa&is=6807fe2a&hm=1e13fbd8f61dbfe4dcbb946bc8c7da77858d49f292c38023cc5919893fe187f9& 22:38 < bridge_> it's like a slightly janky moving average 22:39 < bridge_> so telling the client that the latency has changed 20ms sooner won't really help it 22:47 < bridge_> @jupeyy_keks can you review my render force 0 PR again? I want to be able to tell people to download nightly in order to fix the bug the ddnet bot is telling them to fix 🙈 23:06 < bridge_> Thank you ❤️ 23:41 < bridge_> #10098 23:41 < bridge_> https://github.com/ddnet/ddnet/pull/10098 23:41 < bridge_> ready for review :)