00:06 < bridge> i was fixing typos and wording on the wiki for 40 minutes and i lost all progress 00:07 < bridge> maybe i should have figured out how to use the wiki in the first place 00:13 < bridge> i guess i shouldnt have ignored that 00:13 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1406762843096879154/image.png?ex=68a3a57e&is=68a253fe&hm=a3e9ff27a3bc16c26ff4e215d44ca49f2a8b7db8e18c2e344263d7bc47fe2990& 00:16 < bridge> @essigautomat: CPlayer::m\_OScore looks goofed 00:16 < bridge> Maybe m\_oScore is more consistent with p 00:16 < bridge> Will take some time to get used to 00:16 < bridge> But it makes sense. Because you have to check it like a pointer 00:17 < bridge> pascal casing with multiple capitals/even acronyms has always been inconsistent IMO 00:17 < bridge> lots of APIs like Qt will opt for ApiNameEvenThoughApiIsAnAcronymAndCouldBeCapitalized 00:18 < bridge> I don’t speak Java 00:18 < bridge> having capitals back to back doesn't seem like a nono but i can't remember if ddnet expects camel case or pascal case after the underscore 00:18 < bridge> i guess that'd decide 00:19 < bridge> Let’s just go with C++ Symbol mangling stuff as naming convention 00:19 < chillerbot> Elo @chairn I just wanted to remind you that: test 00:20 < bridge> ez reminded 00:54 < bridge> Lmao at least they knew their sentence is `dickish` 00:57 < bridge> "why do ppl hate systemd again" 01:00 < bridge> openRC masterrace! 01:00 < bridge> 01:00 < bridge> (I suffered setting up alsa and pipewire yesterday) 01:00 < bridge> I'm so used to just.. `sudo systemctl enable pipewire` 06:19 < bridge> https://tenor.com/view/kermit-the-frog-muppets-meme-smh-shaking-my-head-gif-16984538577250620315 06:19 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1406854917154668565/Screenshot_20250818-061108.png?ex=68a3fb3e&is=68a2a9be&hm=6b9d61b3b08e1c0cd6228638c02a7a0e7c5104972b68fd6eac9f8c0868a01d07& 06:58 < bridge> morning 07:06 < bridge> probably with `HungarianNotation.UserDefinedType.*¶`but I just checked fasr 07:07 < bridge> morning ^^ 08:02 < bridge> systemd simps in chat is surprising lol 08:03 < bridge> I enjoy it for it's functionality but i don't think I support it in concept 08:40 < chillerbot> yo @learath2 keep in mind to: in one week when some pink rat finds the flaw with it 08:42 < bridge> @chillerdragon according to my research: 08:43 < bridge> ``` 08:43 < bridge> # Member variables of type std::optional 08:43 < bridge> - key: readability-identifier-naming.TypeNamePattern 08:43 < bridge> value: '^std::optional.*' 08:43 < bridge> - key: readability-identifier-naming.MemberPrefix 08:43 < bridge> value: m_o 08:43 < bridge> 08:43 < bridge> # Parameters of type std::optional 08:43 < bridge> - key: readability-identifier-naming.TypeNamePattern 08:43 < bridge> value: '^std::optional.*' 08:43 < bridge> - key: readability-identifier-naming.ParameterPrefix 08:43 < bridge> value: o 08:43 < bridge> 08:43 < bridge> # Local variables of type std::optional 08:43 < bridge> - key: readability-identifier-naming.TypeNamePattern 08:43 < bridge> value: '^std::optional.*' 08:43 < bridge> - key: readability-identifier-naming.LocalVariablePrefix 08:43 < bridge> value: o 08:43 < bridge> ``` 08:43 < bridge> 08:43 < bridge> Totally trivial :justatest: 08:43 < bridge> @chillerdragon according to my research: 08:43 < bridge> clang-tidy settings: 08:43 < bridge> ``` 08:43 < bridge> # Member variables of type std::optional 08:43 < bridge> - key: readability-identifier-naming.TypeNamePattern 08:43 < bridge> value: '^std::optional.*' 08:43 < bridge> - key: readability-identifier-naming.MemberPrefix 08:43 < bridge> value: m_o 08:43 < bridge> 08:43 < bridge> # Parameters of type std::optional 08:43 < bridge> - key: readability-identifier-naming.TypeNamePattern 08:43 < bridge> value: '^std::optional.*' 08:44 < bridge> - key: readability-identifier-naming.ParameterPrefix 08:44 < bridge> value: o 08:44 < bridge> 08:44 < bridge> # Local variables of type std::optional 08:44 < bridge> - key: readability-identifier-naming.TypeNamePattern 08:44 < bridge> value: '^std::optional.*' 08:44 < bridge> - key: readability-identifier-naming.LocalVariablePrefix 08:44 < bridge> value: o 08:44 < bridge> ``` 08:44 < bridge> 08:44 < bridge> Totally trivial :justatest: 08:44 < bridge> Now combine with arrays 08:48 < bridge> smart Pioo, that's actually the same code just copy pasta'd with array and a instead of optional and o 08:48 < bridge> I wonder what has priority over the other 08:49 < bridge> `m_vpaoFOptCallbackArrayVectorPointer;` :justatest: 08:50 < bridge> maybe enforce a typedef with too many prefixes xD 08:59 < bridge> Automated naming check seems impossible for me (( 09:00 < bridge> are you also testing? you need to remove the ignore rule for `m_a` in this case 09:01 < bridge> I'm not 09:02 < bridge> I don't care much about naming 09:02 < bridge> I do want #10588 tho 09:02 < bridge> https://github.com/ddnet/ddnet/pull/10588 09:02 < bridge> Funny that headers are not checked 09:03 < bridge> ikr 09:03 < bridge> Pls don’t abuse it .\_. 09:04 < bridge> we're trying :justatest: 09:04 < bridge> system.h rce time 09:05 < bridge> imagine if I put a RCE in map rendering. Time to release more maps on ddnet 🙂 09:08 < bridge> :kek: I'm enjoying openRC very much, doesn't get in the way, and thanks to Gentoo wiki everything is documented with both options 09:09 < bridge> I should stop simping for Gentoo tho, i go crashout if I have another llvm compilation 09:20 < bridge> epyc 09:22 < bridge> how did u suffer 09:26 < bridge> Wire plumber was a bully 09:26 < bridge> Didn't work with Firefox 09:26 < bridge> Because it tried using alsa directly 09:35 < bridge> u need pipewire-pulse or smth 09:35 < bridge> idk 09:35 < bridge> i forot 09:35 < bridge> so pulseaudio apps work 09:47 < ws-client> **** @ryozuki could i get you to browse github for 20 seconds pls UwU https://github.com/ddnet/ddnet/pull/10699#issuecomment-3194449634 09:52 < bridge> i think it's out of principle at this point 10:02 < bridge> You shouldn’t anymore. Just make sure the pulseaudio use flag is still set globally 10:58 < ws-client> **** @robyt3 looked into touch controls pr a bit for you. Now you go look into https://github.com/ddnet/ddnet/pull/10699 10:58 < ws-client> **** its basically free merge with 40 seconds effort for you. You already approved the previous pr that was blocked on conflicts. I fixed the conflicts. The only thing that has to be reviewed are my 2 commits on top with tiny fixes. 11:04 < ws-client> **** how is clangd so bad? 11:05 < ws-client> **** it says include not used. if i remove include build fails because missing #define from that include???? 11:14 < bridge> Not used or not directly used 11:33 < bridge> It works with wire plumber and a change in firefox's about:config 11:33 < bridge> 11:33 < bridge> Still weird, I had to manually set the sink even tho my audio interface was the only possible I/o :justatest: 11:33 < bridge> Prolly the latter and clang just doesn't account for define blocks 11:38 < ws-client> **** Pull requests 69 11:38 < ws-client> **** now that is sexy 11:38 < ws-client> **** next goal: 666 issues 11:40 < ws-client> **** "is not used directly" @pioooooo 11:41 < bridge> Need global_defines.h file fr 11:41 < ws-client> **** but it still would complain when you include it? 11:42 < ws-client> **** only fix i see is to merge all headers so it cant complain its unused xd 11:42 < bridge> Is it only used indirectly by a transitive include? 11:43 < ws-client> **** wats transitive include 11:43 < bridge> If a includes b which includes c 11:43 < ws-client> **** the included file does ``#define FOO 2`` and the .c file including it uses ``FOO`` so removing the include fails the build 11:43 < ws-client> **** o 11:43 < ws-client> **** yes 11:43 < bridge> If you'd only need c then you shouldn't include b for example 11:43 < ws-client> **** rossbit 11:44 < ws-client> **** u the goat 11:44 < ws-client> **** i changed the include to be non trans 11:44 < ws-client> **** it works 11:44 < ws-client> **** clangd is not very lgbtq+ friendly it seems 11:44 < ws-client> **** ok fair complaint of clangd ngl 11:44 < ws-client> **** epic win 11:45 < bridge> :justatest: 11:45 < bridge> we are building binaries ig :justatest: 11:46 < ws-client> **** lol 12:27 < bridge> maintainer btw 12:27 < bridge> 12:35 < ws-client> **** xd 12:35 < ws-client> **** i think we need a strategy for feature creep! 12:36 < ws-client> **** i would love to move tons of stuff out of the ddnet core code base into plugins maintained in a seperate repo or by the community or users that need them 12:37 < ws-client> **** we could fully lean into #7777 to turn ddnet into a crispy clean minimal game engine. With a rich ecosystem where everyone can freely maintain their own niche features they need. 12:37 < chillerbot> https://github.com/ddnet/ddnet/issues/7777 12:39 < ws-client> **** i think every feature has its right to exist as long as there is one user using it. But there are so many features in ddnet I would not be surprised we waste compile time, runtime performance and maintain time on things nobody uses. 12:40 < bridge> My undering of 7777 is that is that it discourages modularization if it makes it even slightly harder to maintain the ddnet feature base. 12:41 < bridge> My understanding of 7777 is that is that it discourages modularization if it makes it even slightly harder to maintain the ddnet feature base. 12:41 < bridge> we'll never have a modding api 12:42 < bridge> But I would definitely prefer if the gamemode itself was separated from the game engine significantly more 12:44 < bridge> Idk if chiller means modding api or modular feature that are added at compile 12:45 < bridge> Idk how u can achieve that without an api 12:48 < bridge> Client components are already quite modular, I think if you let them control their settings UI you could swap in/out quite a few kinds of features pretty easily. 12:49 < bridge> ofc in a bytecode language you can patch the whole game easily without recompile 12:50 < bridge> I thought 7777 was more for untangling the codebase so you can mod it more easily. Not some full plugin system 12:51 < bridge> ``` 12:51 < bridge> 2025-08-18 10:51:34: PCI: Enumeration complete, found 7 devices 12:51 < bridge> 2025-08-18 10:51:34: PCI: Found device 00:00.0 - Host Bridge (Class: 06:00:00) 12:52 < bridge> 2025-08-18 10:51:34: PCI: Found device 00:01.0 - ISA Bridge (Class: 06:01:00) 12:52 < bridge> 2025-08-18 10:51:34: PCI: Found device 00:01.1 - IDE Controller (Class: 01:01:80) 12:52 < bridge> 2025-08-18 10:51:34: PCI: Found device 00:01.2 - USB Controller (Class: 0C:03:00) 12:52 < bridge> 2025-08-18 10:51:34: PCI: Found device 00:01.3 - Bridge Device (Class: 06:80:00) 12:52 < bridge> 2025-08-18 10:51:34: PCI: Found device 00:02.0 - VGA Controller (Class: 03:00:00) 12:52 < bridge> 2025-08-18 10:51:34: PCI: Found device 00:03.0 - Ethernet Controller (Class: 02:00:00) 12:52 < bridge> 2025-08-18 10:51:34: PCI: Enumeration complete, found 7 devices 12:52 < bridge> 2025-08-18 10:51:34: PCI: Service created successfully with 7 devices 12:52 < bridge> ``` 12:52 < bridge> hello pci world 12:52 < bridge> You are advancing rather quickly 12:52 < bridge> tbh im a bit obsessed, i literally spent last 3 full days on the kernel lol 12:53 < bridge> i think i should relax and go out xd 12:53 < bridge> The strategy is just saying no to things. People are free to fork 12:53 < bridge> but this is just discovery its not hard 12:53 < bridge> i didnt implement any functionality yet 12:57 < bridge> @learath2 i had to do some refactors, i was having the async executor run inside the timer interrupt context and it started giving problems, so i created "kernel threads" which are like user processes but with ring0 and full memory access, this way i can run stuff from there and get preempted normally. 12:57 < bridge> The problem with running inside the timer interrupt is that when the interrupt exits it process context gets saved/loaded etc, so now i just run my kernel tasks inside a thread 12:57 < bridge> and i run a async executor inside a kernel thread 12:57 < bridge> the async makes waiting for stuff rly nice 12:58 < bridge> (before i had the async executor in a static global but not anymore, now it lives in the kernel thread stack) 12:58 < bridge> oh also the globals needed locks which gave me problems with the interrupts too, having it in the stack locally-only mutable i avoid locks and deadlocks 12:58 < bridge> anyway ill report my progress soon, i want PCI to upgrade my ATA to AHCI 12:59 < bridge> im currently using ATA with ports, not even DMA, which is memory mapped, ports require full cpu execution while DMA doesnt require cpu to move data 13:05 < bridge> @totar: by lean into 7777 I mean reopen it. Change the decision made to say: any change is welcome that makes ddnet more mod friendly so ddnet features can be removed from the core code base and reduce ddnet maintenance cost. 13:05 < bridge> I'm actually curious if we can get some dynamic lib of plugins at some point 13:06 < bridge> @totar: which kind of system idc. Could be binaries users can drag and drop around. Or just an easier way for forks to maintain their changes. 13:07 < bridge> @learath2: yes 7777 is only slightly related. It’s exactly like you said. But it has reached buzzword status to make a dramatic point. Thus mentioning it makes you sound more important. And I am GitHub influencer. Doing big speeches is what I do! 13:10 < bridge> @avolicious reping 13:14 < bridge> I want to get #10570 and #10691 merged 13:14 < bridge> https://github.com/ddnet/ddnet/pull/10570 13:14 < bridge> https://github.com/ddnet/ddnet/pull/10691 13:15 < bridge> https://cdn.discordapp.com/attachments/1362129113950851104/1369708217697046528/128b51c9e11898153502045f044db4e9.gif 13:19 < bridge> Im ok with this 😊 13:25 < bridge> Give me a TL;DR please 13:30 < bridge> yes, with pleasure: 13:30 < bridge> 13:30 < bridge> TLDR envelope sync is currently broken, I want to update/fix it, Q-Move feature breaks, kog map need an update and unselect `Sync` for envelopes, because sb. at kog thought, that sync means syncing to game time and not to start line. 13:30 < bridge> @pioooooo: lerato once said state of the art distributed hyper webassembly microservice clusters or nothing. But I am planning since forever to extend ddnet++ with simple shared object loading. So I can say yes to every feature request and just not use the modules my self if I don’t like them. 13:31 < bridge> yes, with pleasure: 13:31 < bridge> 13:31 < bridge> TLDR envelope sync is currently broken, I want to update/fix it, Q-Move feature breaks, kog map need an update and unselect `Sync` for envelopes, because sb. at kog thought, that sync means syncing to game time and not to start line. Nothing breaks if you do that, not even the old clients 13:31 < bridge> @totar: well Heinrich gave me a definite maybe when I said I will reopen 7777 and make a new decision with my maintainer status xd … so idk. Probably nothing will happen. 13:32 < bridge> more resources to read: 13:32 < bridge> https://github.com/ddnet/ddnet/pull/10679#issuecomment-3193510900 13:34 < bridge> I would also like to do full analystics for these modules. So we know which module combinations in clients cause weird behavior on the server. Which module combinations cause crashes. Which modules are used by 0 users and do not have to be maintained anymore. 13:36 < bridge> You heard leratos strategy against feature creep: your pr will be rejected ez 13:37 < bridge> @pioooooo I am also not in favor of doing a full refactor in your switch PR, I'd just update this 4 lines 🙈 13:37 < bridge> Forks don’t always work well. And it’s sad to say no to people with dreams .\_. 13:37 < bridge> 🙁 13:37 < bridge> hrhrhrhr little trolling 13:38 < bridge> the only big features I see are 3 tiles in the pipeline 13:38 < bridge> well maybe only 2 now 13:38 < bridge> ~~well maybe only 2 now~~ 3! 13:39 < bridge> Would be cool if there is a tool available like the python grass thing chiller once had to update these maps 13:40 < bridge> I could write one, almost trivial 13:40 < bridge> I could write one, almost trivial (like a small python script) 13:40 < bridge> twmap mentioned 13:40 < bridge> Patiga is heaven sent 13:40 < bridge> I helped patiga debug twmap yesterday 13:40 < bridge> C'est la vie. Their job to get their forks working. It's sad but necessary. We can't turn our project into a playground for people just messing around 13:41 < bridge> It’s a game you know lerato 13:41 < bridge> But ye 13:41 < bridge> what about me? can I keep messing around? 13:41 < bridge> Its a small game chiller 13:41 < bridge> And even a smaller number of devs working on it 13:43 < bridge> Even if it was a massive team here, why do we have to be permanently burdened by supporting every passing devs feature? That's why we encourage people to ask before they start working on something 13:44 < bridge> Thats why some big studios just add mod support 😄 13:45 < bridge> There is always a degree in support to that. Opening a few apis and hooks for mods is one thing, but ddnet is fully open source as you know xD 13:46 < bridge> basically you can mod anything that speaks the ddnet protocol 13:46 < bridge> E.g. your obsession with 0.7 and heinrich's obsession with maintaining 3 decades of compatibility into every possible multiverse pretty much makes it impossible to make sure everything still works. 13:46 < bridge> 13:46 < bridge> We keep having to say "think about compatibility" to all the new features, which is also criticized heavily. 13:46 < bridge> 13:46 < bridge> Overall, a lot of things just belong in forks. Moddability would be nice, but it doesn't align with the main goal of keeping ddnet maintained 13:47 < bridge> I dont mind dropping old clients & host just one server that tells old clients to update their game to a more recent version 13:48 < bridge> I barely see old clients on our network to be fair 13:49 < bridge> All this forwards and backwards compatibility just needs to be moved out ASAP IMO. Or we need to start considering editions/breakpoints. E.g. you just can't join the server if the map uses a feature your client doesn't suppirt 13:49 < bridge> All this forwards and backwards compatibility just needs to be moved out ASAP IMO. Or we need to start considering editions/breakpoints. E.g. you just can't join the server if the map uses a feature your client doesn't support 13:49 < bridge> Some weeks ago 13:49 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1406968298981298276/image.png?ex=68a464d6&is=68a31356&hm=1c448136804afbdc9dc70ed760d810be4ac2c57043e36c654006cd27eccdeb31& 13:50 < bridge> I'd guess it's pretty similar for us too. Maybe a couple people that still use DDNet 12 or sth 13:51 < bridge> Yeah, if I scroll down there are super old versions as well 13:51 < bridge> Like DDNet 9 13:51 < bridge> I want to meet that one guy who still uses DDNet 9 13:51 < bridge> 😄 Next time he logs in, I'll ping you 13:51 < bridge> With SDL1 13:52 < bridge> maybe one of our windows 7 players (or worse :justatest: ) 13:52 < bridge> Technically you could subscribe to the join event with this version, so you get notified your own 13:52 < bridge> Believe it or not someone complained a couple months ago when we dropped Windows XP support 13:52 < bridge> Unfortunately I DO believe you .__. 13:53 < bridge> Maybe years actually. I don't quite remember when we did it now 13:53 < bridge> can you give me this players ip? 13:53 < bridge> i have a windows xp pc 13:53 < bridge> can you give me this players ign? so i can invite him to my server 13:53 < bridge> Idk, they were complaining on discord, you can probably search for it 13:53 < bridge> so ddnet wont work there? 13:53 < bridge> :feelsbadman: 13:54 < bridge> I think we are up to Windows 7 nowadays 13:54 < bridge> Does discord work on Windows XP? 13:54 < bridge> does the updater know, that the next version is not supported and show a message instead? 13:54 < bridge> Maybe the web version, but installed version with electron, idk 13:54 < bridge> Maaybe Vista works with that weird patch they made that transplants 7 dlls into Vista 13:55 < bridge> I don't even think the update servers for those versions are still running 13:55 < bridge> They used a slightly different format 13:55 < bridge> okay lol 13:55 < bridge> when do we deprecate win 10? looking forward to that one :pepeW: 13:55 < bridge> Over my dead body 13:56 < bridge> that gives me hope 13:56 < bridge> that gives me hope, I wish you a long fulfilling life 13:56 < bridge> On a more serious note. I hope we can really start moving this mess out of the core codebase. So maybe chiller does have a good point 13:58 < bridge> I am still working on a new proposal for the DNSBL integration to make it more usable for server admins without making their hands dirty 13:58 < bridge> the compatibility layer? 13:58 < bridge> the one u made? 13:59 < bridge> Hm, I don't see much of a way to do it beyond moving past dnsbl altogether 14:00 < bridge> That, and all the rest of the backwards compatibility with version checks in random places 14:01 < bridge> does heinrich have to agree on that 14:02 < bridge> He already agrees to that 14:02 < bridge> https://xkcd.com/1172/ 14:02 < bridge> He was working on a proxy like version of the 0.7 compatibility at some point 14:03 < bridge> so instead of having a compatibility layer there could be a proxy 14:03 < bridge> doesnt sound efficient to me 14:03 < bridge> (Sadly very inefficient to do, without access to internals of the server, you are forced to reconstruct the entire gamestate) 14:03 < bridge> yea thats the problem 14:04 < bridge> But even a compatibility layer, isolated into a folder of its own would help a lot 14:05 < bridge> would require a lot of refactoring which no one will want to do 14:06 < bridge> but maybe there will be one hero 14:06 < bridge> i cant speak for everyone 14:07 < bridge> and also if quic ever gets added will proxy even be possible 14:13 < bridge> ddnet 19.2 is so popular still because Voldemort maintainer is too lazy to update xd 14:14 < bridge> maybe we just need one strong motivated potato to implement this 14:14 < bridge> Seen them! And older. There are some strong opinions about old features and also windows xp hardware users. 14:15 < bridge> Yes 14:16 < bridge> There is something magic about being able to play a multiplayer game with decade old software and actually meet other players. These users have no other choice than to play Teeworlds/ddnet 14:21 < bridge> i just met 2 tasers on the same server 14:21 < bridge> magic 14:21 < bridge> i need an obliterator 14:24 < bridge> @robyt3: Heinrich once had a crashout because we have too many labels. But I think it would be valuable if mappers and server owners could browser all prs that changed how the client interprets maps. So they can fix their maps if needed. https://github.com/ddnet/ddnet/pull/10679#issuecomment-3191035763 14:25 < bridge> Makes it also easier for us to break things when users have a chance to inform them self about it and adapt 14:26 < bridge> nah there is no way, I'll break sb. map but he'll not notice 14:27 < bridge> because when you broke it a few years ago, almost nobody noticed as well 14:27 < bridge> I am just annoyed that this is a thing 14:32 < bridge> The label would not be used to slow down the merge because it is breaking stuff. It’s to speedup the merge even if it breaks stuff because at least it was communicated. 14:32 < bridge> Users only notice if they play the map. Not all admins have tw clients installed. 14:39 < bridge> I can't believe this PR delets more than it adds 14:40 < bridge> I can't believe this PR deletes more than it adds 14:41 < bridge> the good thing is, you don't actually break much. Servers like kog and infection class abused this feature and in the worst case only some animations are not shown or wrongly timed. That's not really a gamebreaker 14:48 < bridge> omg, does anyobdy have an idea how I tell mac to stfu? https://github.com/ddnet/ddnet/actions/runs/17040852320/job/48303976545?pr=10708#step:11:426 14:48 < bridge> 14:48 < bridge> @chillerdragon maybe? 14:52 < bridge> guess I'll just rename 14:53 < bridge> chiler xddd 14:53 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1406984356517515355/Screenshot_2025-08-18-15-52-48-64_e307a3f9df9f380ebaf106e1dc980bb6.jpg?ex=68a473cb&is=68a3224b&hm=254f6b7efdb6a03769876fea48df4ef9d2640e369f112a0a0854e336b0deaa94& 14:54 < bridge> :troll: 14:54 < bridge> why is it possible to mention users in commits 14:54 < bridge> weird af 15:00 < bridge> I think readability matters more so I don't want to change to that 15:01 < bridge> okay then don't, I already approved 👍 15:02 < bridge> ((( 15:03 < bridge> you are doing good, keep on going, you're a diligent bee working hard for the colony 🐝 15:04 < bridge> you are doing good, keep on going, you're a diligent bee working hard for the colony 🐝 (a queen is also a bee and also hard working, I don't like where this is going :justatest: ) 15:07 < bridge> it wasn't any negative emoji it's just random filler symbols for idk how to describe just ignore;; 15:07 < bridge> :nouis: 15:07 < bridge> I tend to text like this with chinese ppl 15:08 < bridge> ❤️ 15:09 < bridge> you mean like: conversation is over 15:09 < bridge> for me these always look like a sad smiley, `:(((` 15:11 < bridge> I don't think this is a good idea. I think map items should be separate from everything else and only used for writing to maps. I'd rather duplicate every map item separately as an "unpacked, validated map item" instead of further leaking the internal map items into the rest of the code. 15:11 < bridge> kinda but i also express some of my emotion that idc if they even convey :) 15:14 < bridge> how'd you do the editor integration then? In the editor m_Width and m_height of a tilelayer are not constant, and we have a lot of other parameters that I'd need to send into the rendering as well 15:15 < bridge> I can make the interhitance private instead and make the render layers friends 15:17 < bridge> I'd add separate classes to represent the map items to be rendered, then validation of the internal map items only has to be performed once for every item, or maybe somehow have your render layers wrap the internal map items. I favor composition over inheritance. 15:28 < bridge> this would basically be the same classes just as data containers 15:37 < bridge> I think in a proper design, the internal map items wouldn't be reused. I think a layered architecture would make it easier to understand. Subclassing the internal items directly seems rather confusing. Not sure, need to think about the problem you are trying to solve in more detail. 15:40 < bridge> I am only inheriting here, because using them as a data container would lead to much more code changes, but one data container should be enough even for reading and writing it out 15:41 < bridge> with the current implementation the map_io still creates a new data container and copies it's values over (on by one) 15:41 < bridge> with the current implementation the map_io still creates a new mapitem and copies it's values over (on by one) 15:41 < bridge> with the current implementation the map_io still creates a new mapitem and copies it's values over (on by one) instead of saving the layer directly 15:46 < bridge> Invisible collision and freeze is a gamebreaker!!! 15:46 < bridge> yeah nice mod you got there 15:47 < bridge> But I would even consider minor graphical changes worthy of informing mappers to give them a chance to fix it 15:47 < bridge> in the end, as I said, either we fix it or remove it 15:48 < bridge> but letting it in this broken state is certainly not desirable 15:48 < bridge> Woah do you speak Russian? 15:49 < bridge> Im not saying don’t fix. Just inform the users about the fix. At least with a label 15:49 < bridge> chiller when contribute to ddnet-scripts 15:49 < bridge> rewrite python 2 scripts in bash 15:50 < bridge> kog ah mod 15:50 < bridge> I did 15:50 < bridge> Didn’t I 15:50 < bridge> I am big contribution farmer 15:50 < bridge> I rq from that repo 15:50 < bridge> Because it’s fake 15:50 < bridge> It does not properly reflect what is on ddnet vps 15:50 < bridge> No admin bothered to set it up correctly yet 15:51 < bridge> So non admin plebs can’t do much 15:51 < bridge> so only deen can implement this xd https://github.com/ddnet/ddnet-web/issues/336 15:51 < bridge> They manually copy over scripts to weird places. And hardcodet ah shits. PRs aren’t really welcomed there. 15:51 < bridge> yeah i saw the code 15:51 < bridge> its underadable 15:52 < bridge> its unreadable 15:52 < bridge> I'd be happy if sb fixes the properties script 15:52 < bridge> whats wrong with it 15:52 < bridge> I plan to farm admin access to properly reflect the vps state in the public repo. So one can clone the repo. Spin up a ddnet vps. Apply changes and pr them. Then dennis can merge and git pull and enjoy new bugs without any further manual action needed 15:53 < bridge> You can Check my implementation at https://npmjs.com/package/teeworlds 15:53 < bridge> Or I just ask sp someone for access. And do it without ddnet staff approval. 15:53 < bridge> yeah would be sick 15:54 < bridge> chillerdragon: don't forget to properly reflect db connection strings 15:54 < bridge> new speedtiles don't work, they are shown as tele checkpoints. There is an issue about it 15:55 < ws-client> **** @milkeeycat <:justatest:572499997178986510> 15:55 < bridge> It will be all proper environment variables .\_. No leaks on my watch 15:55 < bridge> They call me CyberDragon the security overlord 15:56 < bridge> yeah don't leak your discord hooks :p 15:56 < bridge> rust issue 15:56 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1407000204825333822/image.png?ex=68a4828d&is=68a3310d&hm=bd529ef9c78a725ac8a8c9935da80f59906b441c9dd9868e825a74a01dc5cb35& 15:56 < bridge> xd 15:56 < bridge> Common rust L 15:57 < bridge> ^ @ Ryozuki 15:57 < bridge> he is gonna spawn with kernel updates in a few days 15:57 < bridge> @essigautomat: that wasn’t me! 15:57 < bridge> I was the white hat hacker who found it and disclosed it responsibly in a public channel 15:58 < bridge> I know xD 15:59 < bridge> he can actually be glad, that I was the only one sending stuff over it 15:59 < bridge> and harmless things as well 16:01 < bridge> `download latest client at ddnet-org.com/downloads` 16:02 < bridge> `download latest client at ddnet-org.com/downloads` /s 16:08 < bridge> isntg that just Colo Colo :kekw: 16:21 < bridge> @chillerdragon the weekly refacotr destroys hacker devs 16:44 < bridge> rip haxxors 16:45 < bridge> Refactor antibot 16:46 < bridge> Only chillerbot will survive thanks to state of the art git conflict driven development 16:47 < bridge> https://github.com/ddnet/ddnet/actions/runs/17043615736/job/48313481707?pr=10691 16:47 < bridge> ``` 16:47 < bridge> & 'D:\Program Files\LLVM-10\bin\clang-format.exe'--version 16:48 < bridge> clang-format version 10.0.0 16:48 < bridge> ``` 16:48 < bridge> I don't have 10.0.1 on windows... 16:48 < bridge> Let 16:55 < bridge> @chillerdragon if you'd do that breaking config change properly, you could add a deprecation warning and remove it for 19.5 😆 17:45 < bridge> @essigautomat: I love deprecation! I proposed that once. I think either deen or Heinrich was against it .\_. 17:46 < bridge> I have an idea why, sb eventually has to remove the deprecated code 17:47 < bridge> Yea and until then both versions have to be supported which adds complexity 17:47 < bridge> But it’s nice for the users .\_. 17:49 < bridge> I'd do that fully optionally, like if you want to deprecate go ahead. Can also be nice for modders if a function logs "this is deprectead, pls use xyz isntead" like log_info instead of print for example 17:57 < bridge> sneak 'em in 17:57 < bridge> but pshh 18:14 < bridge> @learath2 writing a kernel just makes me realize Terry Davis was really a big genius 18:14 < bridge> the amount of knowledge you need is insane 18:16 < bridge> and Terry didnt have rust :kek: 18:22 < bridge> Yep, if only he wasnt mentally ill he would have achieved such greatness. Or maybe it was the insanity that let him create gods OS 18:27 < bridge> :kek: 18:27 < bridge> `gods OS` is a little far-fetched 18:27 < bridge> Ryo isnt even done yet! 18:29 < bridge> Well I don't think Ryo is theming his after a temple 18:29 < bridge> Ryo should make it a cult 18:30 < bridge> you need to sacrifice 5 Stronghold t0 triplepseudofly dummy players in order to join 18:37 < bridge> xd 18:53 < bridge> you know the history right? he wasn't just some schizo that did software as a hobby 18:54 < bridge> I'd hope at this point that his life just shows ppl how easily mental health can make you fall from grace 18:55 < bridge> willpower has nothing to do with it 18:55 < bridge> he was a smart mf 19:36 < ws-client> **** @Ewan i do not know the story 19:36 < ws-client> **** story time with ewan pls 19:38 < bridge> sorry im busy collecting my favorite japanese 80s/90s VGM soundtracks because someone was trying to tell me the Amiga did it better 19:59 < ws-client> **** lmao funnet bot is cute 19:59 < ws-client> **** does anyone know who made it? 20:01 < ws-client> **** i think its a bit bugged tho xd 20:01 < ws-client> **** it sent me 32 whispers within one split second 20:01 < ws-client> **** seems like it cant handle servers with more relaxed anti spam 20:03 < ws-client> **** connected to 250 servers only xd. Rookie numbers. But wat can you do with bloated javascript client hrhrhr 20:03 < ws-client> **** @Swarfeya can i ping u here? 20:09 < bridge> @0xdeen Is it intentional that the app name includes the version? For the final website release the app name on the home screen should only be "DDNet" and the version "18.8". 20:09 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1313173395327680532/Screenshot_2024-12-02-16-49-05-33_fc704e6b13c4fb26bf5e411f75da84f2.jpg?ex=68a4a007&is=68a34e87&hm=e32ce02e654bff7ca288981ec3bf86eeb2024990a0e0a79a1e098301cec73ba7& 20:09 < bridge> # New Android beta version! 20:09 < bridge> 20:09 < bridge> See https://github.com/ddnet/ddnet/pull/8632 for details. The controls are now adjustable, although you will need to use an external text editor for it: 20:09 < bridge> 20:09 < bridge> 1. Export the touch configuration to the clipboard. 20:09 < bridge> 2. Save the clipboard to a file so you can easily edit it (you should also do this to have a backup of your configuration in case you need to reinstall the app!). 20:09 < bridge> 3. Edit the configuration (see link above for details about the format). 20:09 < bridge> 4. Copy it to the clipboard and import it in the client again. If the configuration could not be loaded, check the local console for error messages containing `touch_controls` and fix it accordingly. 20:09 < bridge> 5. Save the changes in the client when you are done. You can also discard your changes or revert to the default if you messed up. 20:09 < bridge> 20:09 < bridge> Example for a new touch button: 20:09 < bridge> 20:09 < bridge> ```json 20:09 < bridge> { 20:09 < bridge> "x": 500000, 20:10 < bridge> "y": 500000, 20:10 < bridge> "w": 100000, 20:10 < bridge> "h": 100000, 20:10 < bridge> "shape": "rect", 20:10 < bridge> "visibilities": [ 20:10 < bridge> "ingame" 20:10 < bridge> ], 20:10 < bridge> "behavior": { 20:10 < bridge> "type": "bind", 20:10 < bridge> "label": "Example", 20:10 < bridge> "label-type": "plain", 20:10 < bridge> "command": "echo Hello world!" 20:10 < bridge> } 20:10 < bridge> }, 20:10 < bridge> ``` 20:10 < bridge> 20:12 < abcf> hi 20:20 < bridge> Chiller the ping didn't go through but you also added an a to the username 20:21 < ws-client> **** bro i never know wat username nudelsoft uses 20:21 < ws-client> **** @swarfey ur lib live on 100+ servers since a few days 🚀 20:24 < bridge> it worked that time 20:24 < ws-client> **** ty 20:28 < bridge> well, connected to 250 servers in a single thread! 20:29 < bridge> i saw it, no clue what they achieve with it tho 20:29 < bridge> maybe they gather chatlogs to train an ai with it. teeworlds big data incoming 20:30 < ws-client> **** bigd 20:31 < ws-client> **** chadlogs 20:32 < ws-client> **** im sure with the right regex you can find quality stuff by logging all tw server chats 20:32 < bridge> maybe it can solve the mystery of chilera's job 20:32 < ws-client> **** like passwords, phone numbers, trade secrets and big time gossip 20:32 < ws-client> **** it for sure can 20:33 < ws-client> **** ``grep -r 'ChillerDragon.*J*b'`` 20:56 < bridge> chiller how do u know its his lib 20:58 < bridge> xd why did i read this as chillerdragon 20:58 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1407076243266076792/image.png?ex=68a4c95e&is=68a377de&hm=df849a3204577df72a45fa83aa6da8e498f3ef99014f31c6a636f4d14556a251& 20:59 < bridge> its the only lib being used in the wild hrhr. other than that it sends an i-am-npm-lib packet so the server owner knows 21:00 < bridge> and also when it first started 3 days ago you could see the default skin from my lib being on all servers as well 21:00 < bridge> its the only lib being used in the wild hrhr. jokes aside, it sends an i-am-npm-lib packet so the server owner knows 21:00 < bridge> ohh so thats how its detectable 21:01 < bridge> is it like a custom uuid chunk? 21:01 < bridge> https://picture.iczhiku.com/resource/eetop/SYkDTqhOLhpUTnMx.pdf 21:01 < bridge> ye exactly 21:01 < bridge> it also adds an npmjs link to the ddnet version string 21:01 < bridge> wow nice 21:02 < bridge> so that server owners can ban them if they want. tater client & cactus also send an uuid chunk iirc 21:02 < bridge> would be nice if it sent user's ip here too 21:03 < bridge> xd russian ip flood 21:03 < bridge> sadly the voldemort client does not do that 21:03 < bridge> i wonder why 21:03 < bridge> 😭 21:22 < bridge> wtf congrats 21:29 < bridge> chiller 24/7 on github now 21:30 < bridge> 1min merge 21:33 < ws-client> **** @kebscs u will see the power of atomic prs! the chance of https://github.com/ddnet/ddnet/pull/10712 getting conflicts is sooo low! its such a cheap to maintain pr 21:33 < ws-client> **** epic win 21:34 < bridge> this was 1 line change 21:34 < bridge> didnt think its such a big deal 21:34 < bridge> and the build didnt fail before rebase 21:35 < bridge> chiller u dont see embeds right 21:35 < bridge> nouis got admin 21:36 < bridge> fyi 21:38 < ws-client> **** i booted into electron for a second because i wanted to know what the out of context "wtf congrats" meant 21:38 < ws-client> **** it said community team didnt it? what kind of admin is that. 21:39 < ws-client> **** @kebscs if the pr can be split, split it. Even if you open 10 prs for 10 lines xd 21:40 < bridge> i dont like farm prs 21:40 < ws-client> **** discussion drama can be found everywhere 21:40 < bridge> no idea what community admins do 21:40 < ws-client> **** mixing different discussion creates stale prs 21:40 < bridge> probably map releases and banner contests 21:40 < ws-client> **** @kebscs its not about farming. Its about merge speed. 21:41 < bridge> its such a simple pr 21:41 < ws-client> **** https://zillyhuhn.com/cs/.6ab20fe2-bb5d-4d1e-b787-ac0628a30e5a.png 21:41 < ws-client> **** #7729 ah moment 21:41 < chillerbot> https://github.com/ddnet/ddnet/issues/7729 21:42 < ws-client> **** one does not simply .. simple pr 22:02 < bridge> when 19.4 22:36 < chillerbot> ding dong ping pong @ChillerDragon @ChillerDragon @ChillerDragon @ChillerDragon: https://github.com/ddnet/ddnet/pull/9965 22:41 < ws-client> **** wtf chilerbot drunk 22:41 < ws-client> **** ah i already looked into that 22:42 < bridge> does the demo player show the previous tick when unpaused??? 22:42 < ws-client> **** i remember something about that souly 22:42 < bridge> thers something going wrong with the current tick when paused 22:42 < bridge> if i pause then goto freeview i jump ahead a tick 22:42 < bridge> jump back a tick*? 22:42 < ws-client> **** https://github.com/ddnet/ddnet/issues/1843#issuecomment-1147425429 22:42 < bridge> whats the point of that pr @sollybunny 22:43 < ws-client> **** @Soly bun bun ^ 22:43 < bridge> if hack clients can edit their position, why does it matter if you get interpolated position or not 22:43 < bridge> if it still would be wrong either way 22:43 < bridge> and the pr's diff is huge 22:43 < bridge> and the pr's diff is big and confusing 22:44 < bridge> the behaviour change is obvious 22:44 < bridge> large diff is due to indent (i cant really fix that, behaviour after the if is required) 22:44 < bridge> why i have to use previous tick is not and im currently figuring that out 22:44 < bridge> ill add more "why" to the pr 22:45 < bridge> because its subject to being less accurate and its still delayed 22:45 < bridge> its a not accepted issue, would be best to type your motivation in the pr/issue 22:45 < bridge> i dont see how smoothing is " less useful for moderation" 22:45 < bridge> @jupeyy_keks the new gtx 5090 TI just dropped 22:45 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1023638794429288529/unknown.png?ex=68a4ac6a&is=68a35aea&hm=25e9b05dedf578a1b046e050e04e026f3cb2eaa417e6d913a83ef69f93874401& 22:46 < bridge> because im looking for specific mouse behaviour 22:47 < bridge> in close proximity the hookline is blocked 22:47 < bridge> and always the distance is not accurate for the current time 22:48 < bridge> dont get it 22:48 < bridge> go into demo player, pause and tick step 22:48 < bridge> the mouse position is always behind 22:49 < bridge> Add `w=1` URL parameter to ignore whitespace changes: https://github.com/ddnet/ddnet/pull/10713/files?w=1 22:50 < bridge> ok i see now 22:51 < bridge> i think its cuz u can pause on an intra tick 22:51 < bridge> so i need to linear interp still 22:54 < ws-client> **** i can confirm that it is annoying 22:54 < ws-client> **** the cursor just doesnt match the actual aim 22:54 < bridge> i end up going back and forth because the interp position even if delayed is usable 22:55 < ws-client> **** i think i pinged fred once about it 22:55 < bridge> so did i 22:57 < ws-client> **** @ryozuki xd 22:59 < bridge> how does intra tick work? 23:00 < bridge> is it always the amount of time passed till the next known tick 23:09 < bridge> @chillerdragon ^ this PR is almost directly mergable 23:16 < ws-client> **** i have reports from 3 players that inputs feel off 23:16 < ws-client> **** no further details xd 23:16 < ws-client> **** @Assa which. I see no pr on irc :p not booting matrix for beg hrhrhr 23:20 < ws-client> **** i booted gaghub i assume u mean the one lerato merged 23:21 < ws-client> **** pr stealer 23:23 < ws-client> **** who spammed 75 prs again 23:25 < bridge> I mean robyts #10714 which is 3loc 23:25 < bridge> https://github.com/ddnet/ddnet/pull/10714 23:25 < bridge> and fixing the bug shown in bugs 23:26 < ws-client> **** @learath2 how do i make someone maintainer? 23:47 < bridge> you don't 23:48 < bridge> Coup d'état, ez 23:49 < bridge> overthrow the system, chiller