00:25 <+bridge> Can't we just implement a blur shader and have the scoreboard cover the entire screen :PeepoHang: :DogeKek: 00:39 <+bridge> when we find enough volunteers to implement and maintain it 00:39 * bridge not me 07:58 <+bridge> Ddnet liquid glass edition 10:20 <+bridge> does some1 know if ddnet servers send map lists to authed 0.7 players or only to 0.6 ones? too lazy to look it up xd 10:28 <+bridge> only 0.6: https://github.com/ddnet/ddnet/blob/8b0eba322699da3ddaacc554a77f3441494185d5/src/engine/server/server.cpp#L1532 10:33 <+bridge> huh 10:34 <+bridge> What's the usage of these codes? 10:34 <+bridge> ``` 10:34 <+bridge> 10:34 <+bridge> #include 10:34 <+bridge> 10:34 <+bridge> class CAutoreleasePool 10:34 <+bridge> { 10:34 <+bridge> private: 10:34 <+bridge> id m_Pool; 10:34 <+bridge> 10:34 <+bridge> public: 10:34 <+bridge> CAutoreleasePool() 10:34 <+bridge> { 10:34 <+bridge> Class NSAutoreleasePoolClass = (Class) objc_getClass("NSAutoreleasePool"); 10:34 <+bridge> m_Pool = class_createInstance(NSAutoreleasePoolClass, 0); 10:34 <+bridge> SEL selector = sel_registerName("init"); 10:34 <+bridge> ((id (*)(id, SEL)) objc_msgSend)(m_Pool, selector); 10:34 <+bridge> } 10:34 <+bridge> 10:34 <+bridge> ~CAutoreleasePool() 10:34 <+bridge> { 10:34 <+bridge> SEL selector = sel_registerName("drain"); 10:34 <+bridge> ((id (*)(id, SEL)) objc_msgSend)(m_Pool, selector); 10:34 <+bridge> } 10:34 <+bridge> }; 10:34 <+bridge> ``` 10:52 <+bridge> I don't know. it was introduced here: https://github.com/ddnet/ddnet/commit/678b6faceb8f8bd550de32b8fe59f7c34e2a3172 10:54 <+bridge> Mac :justatest: 10:58 <+bridge> [Cocoa’s autorelease pool on macOS.](https://developer.apple.com/documentation/foundation/nsautoreleasepool) 11:01 <+bridge> something for making sure autoreleased objects get cleaned up fast on threads or somehting 11:01 <+bridge> especially on long-lived threads 11:01 <+bridge> If you are making any cocoa calls outside the main thread, those threads making them need to have an autorelease pool 11:10 <+bridge> So it is important, don’t remove it. Let me know if you are curious about why exactly or what it does 11:12 <+bridge> I am 11:16 <+bridge> Objective-C basically got automatic reference counting bolted onto it later on. Autorelease pools are their solution to objects that are being returned and at the same time released from their owner who is returning them. So objects instead get a `autorelease` message, which adds them to the top autorelease pool for the thread, which only sends them the real release message when drained explicitly. This lets the recipient of the object to get a `r 11:16 <+bridge> 11:16 <+bridge> Since we don’t really use UIKit or AppKit only our main thread has a autorelease pool, we need to create one in other threads 11:18 <+bridge> I see. makes sense 11:18 <+bridge> can I PR that explanation to the code? @learath2 11:19 <+bridge> I think all that needs to be documented is that all applications that do Cocoa calls outside the main thread need autorelease pools on that thread. That’s what the docs say too 11:19 <+bridge> I think all that needs to be documented is that all applications that do Cocoa calls outside the main thread need an autorelease pool on that thread. That’s what the docs say too 11:19 <+bridge> Since you’re both here, could you take a look at #11862 when you have a moment? It would be great to get the requested review from both of you ^^ Just wanna make sure it didn't go under in your notifications. 11:19 <+bridge> https://github.com/ddnet/ddnet/pull/11862 11:20 <+bridge> it's not gone under, I've not found time to do it yet 12:23 <+bridge> Yea that’s the code that made me wonder if 0.7 is handled elsewhere because if I remember correctly it also supports listing maps 13:45 <+bridge> hey guys help me find the ConBan i want change names on my words 13:45 <+bridge> Hellou :3 13:46 <+bridge> hello 🙂 13:47 <+bridge> I don't quite get what you want to change, but `ConBan` is a weird one indeed. You are likely looking for `ConBanExt` in `src/engine/server/server.cpp` 13:49 <+bridge> If you are really looking for `ConBan` then its in `src/engine/shared/netban.cpp` 13:49 <+bridge> i know but not have fomat like ```You have been banned for``` i want change on my like own 13:53 <+bridge> where i can find the text `You have been banned for` 13:53 <+bridge> here not have fully 13:53 <+bridge> that text isn't in the code base 13:54 <+bridge> try searching for shorter snippets. I found something for `You have been banned` 13:54 <+bridge> okay. 13:57 <+bridge> wait. why i can't doing a this paste 13:57 <+bridge> `` 13:57 <+bridge> wait. why i can't doing a this paste 13:57 <+bridge> ` 13:57 <+bridge> CServer *pSelf = (CServer *)pUser; 13:57 <+bridge> int AdminID = pResult->m_ClientID; 13:57 <+bridge> const char *pAdminName = (AdminID == -1) ? "console" : pSelf->ClientName(AdminID); 13:57 <+bridge> ` 13:57 <+bridge> wait. why i can't doing a this paste 13:58 <+bridge> ``` 13:58 <+bridge> CServer *pSelf = (CServer *)pUser; 13:58 <+bridge> int AdminID = pResult->m_ClientID; 13:58 <+bridge> const char *pAdminName = (AdminID == -1) ? "console" : 13:58 <+bridge> pSelf>ClientName(AdminID); 13:58 <+bridge> ``` 13:58 <+bridge> https://cdn.discordapp.com/attachments/293493549758939136/1479463106060226713/image.png?ex=69ac20e3&is=69aacf63&hm=f854a74ce7f74b13876b32d019c17d3bd4b5eaaf7bf22ef862296c283796c5d8& 13:58 <+bridge> some erorr 13:58 <+bridge> -_- 13:59 <+bridge> whos can help me today? 14:05 <+bridge> this may be unsafe if pUser isnt actually a CServer 14:06 <+bridge> src/engine/shared its unlikely to be valid to use CServer here 14:06 <+bridge> i doing for like reason (Banned (spam - hacker2022p)) 14:06 <+bridge> like it 14:06 <+bridge> but why erorr some for me today bad day 14:06 <+bridge> you want to have who banned as part of the reason? 14:06 <+bridge> sure 14:07 <+bridge> i think bans know who did it but only by rcon key 14:07 <+bridge> gimme a moment 14:07 <+bridge> i know. but i needed it doing 14:07 <+bridge> but i can't 14:07 <+bridge> 🙁 14:09 <+bridge> i dont actually think this info is included my bad 14:09 <+bridge> when the "ban" rcon cmd is executed you can just append the person who sent it 14:09 <+bridge> may not be the best way to do it but it will work 14:10 <+bridge> ```cpp 14:10 <+bridge> Console()->Register("ban", "s[ip|id] ?i[minutes] r[reason]", CFGFLAG_SERVER | CFGFLAG_STORE, ConBanExt, this, "Ban player with ip/client id for x minutes for any reason"); 14:10 <+bridge> Console()->Register("ban_region", "s[region] s[ip|id] ?i[minutes] r[reason]", CFGFLAG_SERVER | CFGFLAG_STORE, ConBanRegion, this, "Ban player in a region"); 14:10 <+bridge> Console()->Register("ban_region_range", "s[region] s[first ip] s[last ip] ?i[minutes] r[reason]", CFGFLAG_SERVER | CFGFLAG_STORE, ConBanRegionRange, this, "Ban range in a region"); 14:10 <+bridge> ``` 14:10 <+bridge> so these 3 14:10 <+bridge> yeah. i need it a doing. but why erorrs. u can help me? 14:11 <+bridge> have you read the errors? 14:11 <+bridge> sure 14:11 <+bridge> what do they mean? 14:12 <+bridge> you *cant* use CServer there 👀 so even if you fixed the errors the cast would be invalid and cause segfault 14:12 <+bridge> you *cant* use CServer there 👀 so even if you "fixed" (add imports) the errors the cast would be invalid and cause segfault 14:12 <+bridge> i trying that doing. but i can't. u mabye help me? 14:12 <+bridge> https://cdn.discordapp.com/attachments/293493549758939136/1479466659143225364/image.png?ex=69ac2432&is=69aad2b2&hm=f7ec8b46d36b48911f8a3146c3c7e9719c667d7ab6f301d14396acaf5e8dda68& 14:12 <+bridge> what does "`pSelf` was not declared in this scope" mean? 14:12 <+bridge> ah, not the first error 14:12 <+bridge> try looking at the first error, it's "`CGameContext` was not declared in this scope" 14:12 <+bridge> i wants doing reason like (banned (spam - hacker2022p)) 14:13 <+bridge> what does that mean? 14:13 <+bridge> idk. but i added on kicked and they work. i think ban too will work. but not works 14:13 <+bridge> it'd help if you'd try understanding the errors 14:13 <+bridge> then you could probably resolve them yourself 14:14 <+bridge> i dont think rcon command callbacks even get the user who did them? 14:14 <+bridge> `IResult::m_ClientId` 14:14 <+bridge> I'd guess 14:14 <+bridge> i thought that was the victim() 14:15 <+bridge> i lie 14:15 <+bridge> that makes it quite easy 14:15 <+bridge> I tried 100 times and the result was that I couldn't write to the development 14:16 <+bridge> do you understand the meaning of "`CGameContext` was not declared in this scope"? 14:16 <+bridge> if not, we can look at it together and try to understand it 14:17 <+bridge> uh. where i can that doing. like cpp? or that i needed find. and change text for it 14:17 <+bridge> (CNetBan doesnt contain a reference to anything but storage and console) 14:18 <+bridge> CNetBan doesnt contain a reference to anything but storage and console 14:18 <+bridge> youd have to add it or otherwise jankily (random static variable) get a reference to it 14:19 <+bridge> ah, or take a look at where `MakeBanInfo` is called 14:19 <+bridge> I think it's called in a nice place where you could do what you want 14:19 <+bridge> where needed? 14:19 <+bridge> https://cdn.discordapp.com/attachments/293493549758939136/1479468516947267615/image.png?ex=69ac25ed&is=69aad46d&hm=f7f05b1684ece11236838711298d82c04a2de3b44138d9834f30ce55df7fbe79& 14:19 <+bridge> idk go that 14:19 <+bridge> here some 14:20 <+bridge> my plan isn't to implement this for you 14:20 <+bridge> but rather to let yourself figure out the way how to implemet it 14:22 <+bridge> I'm a complete newbie to C++. I don't know much about ddnet src, but I hope you guys can help me. 14:33 <+bridge> I think the first call site is the one you're looking for 15:04 <+bridge> look what i found https://github.com/qqrm/twir-deploy-notify/blob/main/LICENSE_QQRM_LAPOCHKA 15:04 <+bridge> ``` 15:04 <+bridge> QQRM LAPOCHKA v1.0 License (AI-first Vibecoder) 15:04 <+bridge> 15:04 <+bridge> Copyright (c) 2025 The TWIR Deploy Notify Developers 15:04 <+bridge> 15:04 <+bridge> Permission is hereby granted, free of charge, to any person obtaining a copy 15:04 <+bridge> of this software and associated documentation files (the "Software"), to deal 15:04 <+bridge> in the Software without restriction, including without limitation the rights 15:04 <+bridge> to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 15:04 <+bridge> copies of the Software, and to permit persons to whom the Software is 15:04 <+bridge> furnished to do so, subject to the following conditions: 15:04 <+bridge> 15:04 <+bridge> The above copyright notice and this permission notice shall be included in all 15:04 <+bridge> copies or substantial portions of the Software. 15:04 <+bridge> 15:04 <+bridge> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 15:04 <+bridge> IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 15:04 <+bridge> FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 15:04 <+bridge> AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 15:04 <+bridge> LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 15:04 <+bridge> OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 15:04 <+bridge> SOFTWARE. 15:04 <+bridge> 15:04 <+bridge> Additional terms (QQRM LAPOCHKA): 15:04 <+bridge> 15:04 <+bridge> 1. **All commits MUST be generated by AI agents.** Manual patches are allowed only in emergencies and are to be gently mocked as a "skill issue." 15:04 <+bridge> 2. **All routine and repetitive actions MUST be automated.** If a human runs the same command twice in a row by hand, they must confess loudly in the commit message. 15:05 <+bridge> 3. **Pipelines MUST exist.** Absence of CI/CD is considered a personal insult to the spirit of vibecoding. 15:05 <+bridge> 4. **All code MUST pass tests.** Broken builds are grounds for collective meditation over the logs. 15:05 <+bridge> 5. **Manual code review is welcome, but only for the aesthetic pleasure of admiring automation.** Attempts to "optimize manually" shall be met with: "well, then go ahead and deploy it by hand yourself, huh." 15:05 <+bridge> 6. **When resolving merge conflicts, priority always goes to the most automated solution.** The more automation, the more of a lapochka you are. 15:30 <+bridge> I believe this is a funny side effect of doubeling the scoreboard size, from 32 to 64 to 128 15:31 <+bridge> Happens at 65 players according to the screenshot 😄 17:49 <+bridge> i bet you that was written by hand 18:31 <+bridge> <12944qwerty> @essigautomat the unbuffered verison is _working_ now yay 18:31 <+bridge> <12944qwerty> https://cdn.discordapp.com/attachments/293493549758939136/1479531986757357799/image.png?ex=69ac610a&is=69ab0f8a&hm=474f5eb12bd9e721191606fe36d0ef56e08c1b9d910d786e07dedb5232a907f8& 18:32 <+bridge> <12944qwerty> yeah idk why, i just can't stop it from being solid colors now 19:07 <+bridge> I was already working on this together with the clan tags and trying to reduce unnecessary margins. https://discord.com/channels/252358080522747904/293493549758939136/1479234775679107195 19:07 <+bridge> 19:07 <+bridge> All scoreboard changes need to be tested with these combinations of players (assuming you are alone on debug server with 128 player support): 19:07 <+bridge> 19:07 <+bridge> ``` 19:07 <+bridge> bind kp_0 "rcon dbg_dummies 0" 19:07 <+bridge> bind kp_1 "rcon dbg_dummies 7" 19:07 <+bridge> bind kp_2 "rcon dbg_dummies 11" 19:07 <+bridge> bind kp_3 "rcon dbg_dummies 15" 19:07 <+bridge> bind kp_4 "rcon dbg_dummies 23" 19:07 <+bridge> bind kp_5 "rcon dbg_dummies 31" 19:07 <+bridge> bind kp_6 "rcon dbg_dummies 47" 19:07 <+bridge> bind kp_7 "rcon dbg_dummies 63" 19:07 <+bridge> bind kp_8 "rcon dbg_dummies 85" 19:07 <+bridge> bind kp_9 "rcon dbg_dummies 127" 19:07 <+bridge> ``` 19:07 <+bridge> :justatest: 19:17 <+bridge> solid color? Like not using withAlpha? 19:18 <+bridge> I am sure you can cook a nice PR 🧑‍🍳 19:22 <+bridge> <12944qwerty> It's multiplied, and i made sure the generated color had 0.5 alpha 20:13 <+bridge> Didnt fokko just merge this? 21:17 <+bridge> will check tmrw 21:59 <+bridge> <12944qwerty> chiller bug halp 21:59 <+bridge> <12944qwerty> 21:59 <+bridge> <12944qwerty> happening at random times. sometimes it receives several snaps before it stops. 22:00 <+bridge> <12944qwerty> on server with sv_sixup 22:00 <+bridge> <12944qwerty> https://cdn.discordapp.com/attachments/293493549758939136/1457165826733113366/image.png?ex=69ac172d&is=69aac5ad&hm=6e0373a6e27399cefe517688186ad6f5de659ec5a4a2ed72c9f3d5111506e9b1& 23:21 <+bridge> 🍑FREE NSFW CONTENT HERE<3🍑 23:21 <+bridge> *🫦 https://discord.gg/snsfws 🫦 23:21 <+bridge> JOIN AND ENJOY*