00:34 < bridge> im gonna eat a nice rib eye 00:54 < bridge> mruca 00:54 < bridge> murica 01:00 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1199866288013574254/IMG_20240124_205841.jpg?ex=65c4198f&is=65b1a48f&hm=f519774caf079f20628a334ec696bb5ab70b2e579531161e5afe00db5e173bc2& 01:00 < bridge> god damn 01:00 < bridge> delish 01:07 < bridge> looks like big meatball 01:11 < bridge> its rib eye 01:11 < bridge> rib meatball 01:14 < bridge> :brownbear: 01:24 < bridge> why u show meat but no inside 01:24 < bridge> gotta show the inside 01:25 < bridge> You also need to stop shaking your phone fr :pepeW: 01:29 < bridge> xd 01:29 < bridge> bad phone 01:30 < bridge> i got one but 01:30 < bridge> its shaky 01:30 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1199873914214551582/IMG_20240124_213012.jpg?ex=65c420a9&is=65b1aba9&hm=50d0c6e8b4aeb37ce0a638301c7a8f817091436dc7fc0f5cde4efe471cfa9ed8& 01:30 < bridge> 20 баксов на стим 01:30 < bridge> [steamcommunity.com/gift/2359376124434532](https://qptr.ru/0RRw) 01:30 < bridge> @everyone 01:30 < bridge> delete him,... 01:31 < bridge> :c 01:31 < bridge> i also got some whiskey mixed thing 01:31 < bridge> :justatest: 01:40 < bridge> @davide55 I don't think this ddos protection thing is working too well 😛 01:46 < bridge> What happened? 01:52 < bridge> idk it gets through 01:52 < bridge> Saw it, should be fixed 01:52 < bridge> It was a 1.1Tbps attack 01:52 < bridge> Seems like the load balancing was not working correctly and one of the uplinks got saturated 02:00 < bridge> Found the reason of the incorrect load balancing 02:00 < bridge> There's an ongoing maintenance on my main transit provider 02:00 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1199881437827047524/HAv6JW7r2ITi.png?ex=65c427ab&is=65b1b2ab&hm=af46ba75dc06349f01c4edc64e66c0ab9d0077e6a07f2f8ad3a70d9e31151ba0& 02:00 < bridge> @learath2 02:01 < bridge> So my current uplinks capacity is just half as the normal, until the maintenance ends 02:23 < bridge> love you guys btw 02:23 < bridge> :poggers2: 02:24 < bridge> Unlimited vps I guess with such attack 02:28 < bridge> Ah, that makes sense 02:31 < bridge> Im still wondering who pays for this 02:32 < bridge> it's far cheaper than a connection that large 😄 03:31 < bridge> we love you too freddie 04:15 < ws-client> ryo living the life 04:15 < ws-client> hope your meatball is vegan. 04:16 < bridge> I Hope so too 04:17 < ws-client> love you too @TsFreddie <:owo:1154794204871008397> 05:35 < bridge> imagine wasting money to ddos a community based game 05:36 < bridge> I hope his meatballs turn onto rust 05:36 < bridge> :owo: 05:36 < bridge> out of context bs ^ 07:12 < ws-client> @cellegenrih which games do you suggest for ddosing? c: 07:28 < bridge> :justatest: 07:28 < bridge> I dont think I wanna answer 08:59 < bridge> No homo, love you too ❣️ 10:22 < bridge> morning 10:59 < bridge> 🍵 11:08 < bridge> ☕ 11:37 < bridge> Some "people" are just disgusting wastes of oxygen 11:54 < bridge> Chill 11:58 < bridge> erDragon? 12:02 < bridge> :justatest: 12:03 < bridge> NoChill 12:16 < bridge> Learath is too hot to chill 😊 12:16 < bridge> Learath is cool af 12:16 < bridge> f3 12:16 < bridge> So he chill 12:16 < bridge> 😏 12:18 < bridge> @robyt3 Thursday for Vulkan. What vk question is on your heart today 12:36 < bridge> i looked into how MIR works in Rust 12:36 < bridge> its a CFG 12:37 < bridge> rly close to what llvm ir looks like 12:37 < bridge> which makes sense xd 12:38 < bridge> @jupeyy_keks my vulkan question: can you have security vulnerabilities / injections via layers in vulkan 12:38 < bridge> if it makes sense xd 12:38 < bridge> ok actually a layer is smth the driver implements right 12:38 < bridge> nvm 12:39 < bridge> maybe a better question, can u do privilege escalation via vulkan 12:42 < bridge> this looks like a lot but its barely 20€ xd 12:42 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1200043006150066236/IMG_20240125_084152.jpg?ex=65c4be24&is=65b24924&hm=987a0c5ebe2a18f20415b9d1c0c3d1f0c9b0df6e4b3641c43d76bd7bf838e318& 12:43 < bridge> what is the limiting factor to the amount of shaders you can upload? 12:43 < bridge> i would guess memory or whather int max value the driver uses 12:44 < bridge> i would guess memory or whathever int max value the driver uses 12:44 < bridge> It's in the user land, so only if the back end has a bug I guess.. 12:44 < bridge> 😬 12:44 < bridge> There is a limit? Xd 12:44 < bridge> idk :d 12:45 < bridge> BTW this isn't even a bad question. Because layers must not be inside the driver. But without root rights u probably can't install them 12:45 < bridge> But overlays can defs contain bugs 12:46 < bridge> Well then it's mostly the amount of memory I guess. Ofc for stuff inside the shaders there are individual limitations too. Amount of uniform, amount of textures per stage etc. 12:47 < bridge> If it makes you happy to know. 4000 shaders are not uncommon even for mobile games 12:47 < bridge> since you do most memory management in vulkan by yourself, do you also need to manage where the shaders are placed? 12:48 < bridge> they should be located in v-ram, no? 12:48 < bridge> dont u make ur own memory allocators for everything in vulkan? 12:48 < bridge> meanwhile unity compiling 30k shaders if you are not careful when using URP Lit 12:48 < bridge> You don't have any influence about that 12:48 < bridge> @jupeyy_keks if i break my computer with i hammer i have influence in that it wont be placed anywhere :) 12:48 < bridge> Memory management is still more opaque than writing asm for cpus 12:49 < bridge> :justatest: 12:49 < bridge> asm for cpus is crystal clear isnt it 12:49 < bridge> there is no amiguity 12:49 < bridge> ambiguity 12:49 < bridge> i cooked our game all day today 12:50 < bridge> everything needed baking its so slow and stressful 12:50 < bridge> was it tasty? 12:50 < bridge> at least we saw gameover the first time today 12:50 < bridge> xd 12:51 < bridge> it had been crashing before we could finish a round for the first two play test sessions 12:51 < bridge> @tsfreddie the company where i work is also into making games now 12:51 < bridge> they use unity :d but the backend is in elixir 12:51 < bridge> wdym into 12:52 < bridge> to usse the erlang otp 12:52 < bridge> by into i mean they making games too 12:52 < bridge> oof 12:52 < bridge> They use edlang 12:52 < bridge> honestly i think i hate making games now 12:52 < bridge> xd 12:53 < bridge> im not in that department so 12:53 < bridge> im making a compiler 12:53 < bridge> more interesting 12:53 < bridge> i used to think making gamn is just putting things in place and make them move 12:53 < bridge> but in the office i can see 12:53 < bridge> and talked to some artists xd 12:53 < bridge> 3d modelers 12:54 < bridge> @patiga for the host side of the vk driver u actually can pass custom allocators. So you can influence that. I wonder if it's ever used anywhere. 12:54 < bridge> 12:54 < bridge> I guess no device that implements vulkan doesn't also have a heap xd 12:54 < bridge> apparently you need to make the exact correct design decisions for every single objects. and it is too hard to teach all designers and artists about the technical detail in such a short time 12:54 < bridge> huh interesting 12:55 < bridge> and we just let them do their thing 12:55 < bridge> and remake the entire map again on our end 12:55 < bridge> xd 12:57 < bridge> and they came back with a map like this 12:57 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1200046816964661338/9FDD5F50-3AFB-4f2f-A5CA-328090D85294.png?ex=65c4c1b0&is=65b24cb0&hm=d927c841816f12789dd81e926eeb5081a54ac5188fa6231e715ecdf6e4a994dc& 12:58 < bridge> @tsfreddie i saw u starred my lalrpop-json :o 12:58 < bridge> xd 13:00 < bridge> misclicked 13:00 < bridge> :justatest: 13:00 < bridge> jk 13:01 < bridge> although no idea what it is. its just that i rarely check the linetime thing. and clicking stuff make me feel like i was participating 13:01 < bridge> so i participated 13:02 < bridge> @learath2 i have something u may like 13:03 < bridge> https://github.com/dtolnay/inventory 13:03 < bridge> that's not yours 13:03 < bridge> > Examples 13:03 < bridge> > 13:03 < bridge> > Suppose we are writing a command line flags library and want to allow any source file in the application to register command line flags that are relevant to it. 13:03 < bridge> reminded u wanted smth like this for discord commands 13:03 < bridge> remembered u wanted smth like this for discord commands 13:04 < bridge> @jupeyy_keks https://zed.dev/features 13:05 < bridge> https://github.com/zed-industries/zed 13:05 < bridge> @jupeyy_keks omg a new editor in rust 13:06 < bridge> Is it worth it to fix the validation warnings? With `dbg_gfx 4` you get like 4 MiB of validation warnings, mostly about us not freeing everything I guess 13:09 < bridge> @jupeyy_keks bro this editor is legit 13:09 < bridge> im trying it 13:09 < bridge> it feels nice 13:09 < bridge> > Zed is currently only available on macOS minimally requires Catalina (10.15). 13:09 < bridge> oh rip 13:09 < bridge> well ill use it on my m1 13:10 < bridge> apparently because they use metal and not vulkan 13:10 < bridge> i hope they switch 13:11 < bridge> Some warnings will sadly increase complexity, but not freeing stuff should actually throw an error instead of a warning 13:11 < bridge> Lmao 13:11 < bridge> If seen it already, as long as it has debugger support it sounds cool 13:11 < bridge> Ive seen it already, as long as it has debugger support it sounds cool 13:44 < bridge> I did find this back when I was trying to do something like it yeah 13:44 < bridge> Surprised you remember 14:40 < bridge> is it possible to make inclient queue for unfinished maps? 14:40 < bridge> you choose max ping limit, you choose a map difficulty and type limits, there should also be points limit so 200pts novicers wont match for insane5, you press button and just wait 14:40 < bridge> when it finds ppl, it chooses a server so ping will be about the same for all, and automatically connects to it for all players 14:40 < bridge> it would be useful for ppl who play rare, because its hard to find teammates to instantly play 14:50 < bridge> ||https://github.com/DDNet-Team-Searcher 😏 || 16:01 < bridge> dear devs! 16:01 < bridge> is it possible to involve a mechanic that make a weapon a second hook? there would be lot new possiblities with that, intresting new parts, solutions... 16:08 < bridge> no 16:10 < bridge> go check vanilla teeworlds prs 16:11 < bridge> https://github.com/teeworlds/teeworlds/pull/2950 16:11 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1200095659768938626/134375459-3fa904b5-6110-4bfc-a374-71fa170fd736.png?ex=65c4ef2d&is=65b27a2d&hm=d404d4aff0f2b238513ac9bf652388dc619b6c56a0649eb6ea47188a9daf3495& 16:15 < bridge> 😮 16:16 < bridge> i played vanilla but never saw this 16:22 < bridge> are you gonna realease it for ddnet? 16:25 < bridge> That has already been tried in different ways and has never really worked. There were: 16:25 < bridge> -discord servers 16:25 < bridge> -the discord thingy were you can create like conversation, sorry idk how they are called. 16:25 < bridge> -and some web stuff like what MilkeeyCat sent. 16:25 < bridge> 16:25 < bridge> A lot of players mostly play with the same people over and over. Unless it's t0. So even tho you may find someone "randomly" or just by asking, it's not super common. 16:25 < bridge> It might work well with lower points players? idk 17:25 < bridge> My thing is obviously will be successful and not doomed at all :brownbear: 18:54 < bridge> We should do it as button in client, so more ppl will use it, especially new players who cant even find something in settings 18:56 < bridge> i belive more that account will be in ddnet than this 😹 18:56 < bridge> i belive more that accounts will be in ddnet than this 😹 18:57 < bridge> We need both of those 18:57 < bridge> Waiting for accounts from 1800s:justatest: 19:11 < bridge> @archidev_ :justatest: 19:21 < bridge> I'm playing this game. I don't want toxic chat 19:25 < bridge> ive seen you 2 times in game :justatest: 19:25 < bridge> I've seen him 1 time in game :justatest: 19:26 < bridge> nob 😎 19:35 < bridge> *oh no you found my secret account* 20:27 < bridge> @jupeyy_keks Seems like #6578 is caused by the client starting minimized and inactive on Windows, because `shell_execute` always starts the process like that. It's a bug anyway that the client is not in the foreground after restarting, but weird that Vulkan can't create a swap chain if the window is started minimized 20:27 < bridge> https://github.com/ddnet/ddnet/issues/6578 21:21 < bridge> i think this was also a bug when we still showed the client console (not related to vk) 21:21 < bridge> 21:21 < bridge> and i think i also seen a sdl issue, where someone complained about it, but the sdl dev said, windows sucks xd 21:44 < bridge> how did u install validation layers on windows? 21:44 < bridge> 21:44 < bridge> is it vk sdk or some nvidia thing? 21:44 < bridge> VulkanSDK I guess 21:44 < bridge> generally the validation is correct 21:45 < bridge> to prevent that from happening when tabbing out the vk backend stops rendering completely while so 21:45 < bridge> maybe we can trigger this state here too.. 21:45 < bridge> 21:45 < bridge> rn it waits for the SDL event to say that the window was minimized 21:46 < bridge> could also try to just force a higher resolution if the width or height is reported as 0 21:46 < bridge> this should™️ be legal and will only result in vk's surface reporting that the surface doesn't match the requirements 21:47 < bridge> It possible to reproduce the bug by creating a desktop shortcut to DDNet.exe and setting the shortcut launch option to minimized 21:48 < bridge> mh interesting.. why does sdl window creation not fail here then? 21:48 < bridge> 21:48 < bridge> don't we explicitly tell which size we want for the window? 😄 21:49 < bridge> It works with OpenGL, so something with SDL<->Vulkan or only Vulkan must be the issue 21:50 < bridge> well opengl doesn't have a concept like minimized at all 21:53 < bridge> @robyt3 in vk backend in `GetSwapImageSize` 21:53 < bridge> 21:53 < bridge> can u try to add 21:53 < bridge> 21:53 < bridge> ```cpp 21:53 < bridge> if (RetSize.width == 0 || RetSize.height == 0) { 21:53 < bridge> RetSize.width = 800; 21:53 < bridge> RetSize.height = 800; 21:53 < bridge> } 21:53 < bridge> ``` 21:53 < bridge> 21:53 < bridge> i wonder what will happen 21:53 < bridge> add it before `VkExtent2D AutoViewportExtent = RetSize;` 21:56 < bridge> does not change anything 21:56 < bridge> mh interesting. is the maxextend in `VKCapabilities` 0? 21:59 < bridge> yes, currentExtent and maxImageExtent width and height and both 0 21:59 < bridge> yes, currentExtent and maxImageExtent width and height are both 0 22:00 < bridge> well it's defs a weird thing that this can happen under windows. 22:00 < bridge> 22:00 < bridge> without a swapchain you can't test if the surface was changed, without surface change event, you can't really know when the surface is not 0 anymore. 22:00 < bridge> 22:00 < bridge> i wonder if there is any useful sdl event triggered directly after window creation 22:06 < bridge> @robyt3 another try: 22:06 < bridge> 22:06 < bridge> in `RecreateSwapChain` after `vkDeviceWaitIdle(m_VKDevice);` 22:06 < bridge> 22:06 < bridge> ```cpp 22:06 < bridge> 22:06 < bridge> 22:06 < bridge> VkSurfaceCapabilitiesKHR VKSurfCap; 22:06 < bridge> if(!GetSurfaceProperties(VKSurfCap)) 22:06 < bridge> return -1; 22:06 < bridge> 22:06 < bridge> auto Caps = GetSwapImageSize(VKSurfCap); 22:06 < bridge> if (Caps.m_SwapImageViewport.width == 0 || Caps.m_SwapImageViewport.height == 0) { 22:06 < bridge> m_RenderingPaused = true; 22:06 < bridge> } 22:06 < bridge> 22:07 < bridge> ``` 22:07 < bridge> 22:07 < bridge> and in `PrepareFrame()` 22:07 < bridge> 22:07 < bridge> replace `RecreateSwapChain()` with 22:07 < bridge> ```cpp 22:07 < bridge> 22:07 < bridge> if (RecreateSwapChain() != 0) { 22:07 < bridge> return PureMemoryFrame(); 22:07 < bridge> } 22:07 < bridge> ``` 22:07 < bridge> 22:07 < bridge> 22:07 < bridge> i am not sure about the last one, but maybe worth a try. 22:07 < bridge> 22:08 < bridge> maybe `m_RecreateSwapChain = true;` in `Cmd_WindowCreateNtf` needs to be moved out of the android-macro 22:08 < bridge> 22:08 < bridge> else it probably has no idea that the surface is now ready 22:09 < bridge> this is defs messy, bcs normally on desktops surfaces are never non ready, like on android xd 22:09 < bridge> so tabbing out would always trigger a rebuild of the swapchain :/ 22:11 < bridge> doesn't work 22:11 < bridge> but does it crash? 22:11 < bridge> I don't get window events until after init already failed 22:11 < bridge> no, same as before 22:12 < bridge> ``` 22:12 < bridge> SDL_WINDOWEVENT event=7 d1=0 d2=0 22:12 < bridge> SDL_WINDOWEVENT event=1 d1=0 d2=0 22:12 < bridge> SDL_WINDOWEVENT event=10 d1=0 d2=0 22:12 < bridge> SDL_WINDOWEVENT event=12 d1=0 d2=0 22:12 < bridge> SDL_WINDOWEVENT event=3 d1=0 d2=0 22:12 < bridge> SDL_WINDOWEVENT event=14 d1=0 d2=0 22:12 < bridge> ``` 22:12 < bridge> all after creating the swapchain fails 22:14 < bridge> mh ok 22:15 < bridge> in Cmd_Init? 22:15 < bridge> ah wait 22:16 < bridge> after m_RenderingPaused 22:16 < bridge> 22:16 < bridge> there must be a `return -1;` 22:16 < bridge> xd 22:16 < bridge> else it tries to create the swapchain xD 22:20 < bridge> if it's only in cmd_init and some sdl event triggers maximize or restore i'd say it's an easy fix 22:21 < bridge> else i'll have to think about it 22:21 < bridge> I added 22:21 < bridge> ``` 22:21 < bridge> if(m_VKSwapImgAndViewportExtent.m_SwapImageViewport.width == 0 || m_VKSwapImgAndViewportExtent.m_SwapImageViewport.height == 0) 22:21 < bridge> return false; 22:21 < bridge> ``` 22:21 < bridge> after `m_VKSwapImgAndViewportExtent = GetSwapImageSize(VKSurfCap);` 22:21 < bridge> and this seems to work 22:22 < bridge> combined with all your other changed, I don't know how many were actually required 22:22 < bridge> I'll do more testing another day 22:23 < bridge> combined with all your other changes, I don't know how many were actually required 22:24 < bridge> 😬 22:24 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1200189474945114122/image.png?ex=65c5468d&is=65b2d18d&hm=983cc6d25e8de68033a927c093c2df6ba7e35ba48d2949761151c9395490e716& 22:30 < bridge> w h a t i s t h a t f o n t s p a c i n g :justatest: 22:32 < bridge> monospace 🤓 22:33 < bridge> not the first time that happened to me on vscode 22:33 < bridge> 22:33 < bridge> but also on like third time 22:33 < bridge> 22:33 < bridge> i wonder if it's related to using 2 vscode instances with different extensions or smth xd 22:33 < bridge> or if it's simply a console bug 22:33 < bridge> but i also didnt update in a while 22:35 < bridge> not the first time that happened to me on vscode 22:35 < bridge> 22:35 < bridge> but also only like third time 22:35 < bridge> 22:35 < bridge> i wonder if it's related to using 2 vscode instances with different extensions or smth xd 22:35 < bridge> or if it's simply a console bug 22:35 < bridge> for some reason clang-format also is broken if i have a second vscode instance open 22:35 < bridge> xd 22:35 < bridge> clang-format-10 to be precise 22:35 < bridge> i guess it somehow loads the new and the old one or smth like that 22:35 < bridge> very weird 22:36 < bridge> everything works perfectly in neovim, no matter how many instances is open 😏 22:36 < bridge> great, now if it wouldn't be so user unfriendly i'd maybe use it 😬 22:37 < bridge> wdym unfriendly 😦 22:37 < bridge> just learn few vim motions and dats it 😏 22:37 < bridge> i dunno, i simply dislike using vim-like editors 22:37 < bridge> i need mouse and stuff 22:38 < bridge> 😬 22:38 < bridge> i also use micro in terminal 22:38 < bridge> bcs it's the only user friendly terminal editor 22:38 < bridge> xd 22:38 < bridge> i use tmux btw 😏 22:39 < bridge> micro 22:39 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1200193345343991860/epiccodermoment.mp4?ex=65c54a28&is=65b2d528&hm=6fd134467cebd2c998877ae8f96b0d994556466e4ed799bd49497ff86aba8d81& 22:40 < bridge> well i forgot to capture my mouse pointer 22:40 < bridge> but just imagine it 22:40 < bridge> nvim also supports selecting text with mouse 22:40 < bridge> and also shortcuts like ctrl x? 22:40 < bridge> no :santatrollet: 22:40 < bridge> just press d 22:40 < bridge> or `"+d` 22:40 < bridge> sometimes i also use my mouse only to move code 22:41 < bridge> not often, but sometimes 22:42 < bridge> but u can make any shortcuts you want 😏 22:42 < bridge> i guess 😏 22:42 < bridge> i guess :justatest: 22:42 < bridge> i guess thats rather standard for editors xd 22:43 < bridge> except you mean, u create a shortcut to automatically download vscode inside vim and use it inside there 22:43 < bridge> that would ofc be really cool 22:43 < bridge> i dont have muscle memory to press ctrl+x/c/v in code editor 22:44 < bridge> u can also rightclick with mouse and click cut 22:44 < bridge> :lol: 22:44 < bridge> https://www.youtube.com/watch?v=2VOnKMJqIL0 blimpy 23:09 < bridge> blimpy blimpy? 23:14 < bridge> @heinrich5991 maybe it's interesting for you to know, but I never read openfng code^^ 23:14 < bridge> 23:14 < bridge> But I took the basic idea ofc 23:16 < bridge> blimpy blimpy blimpy