00:02 < bridge> I see it doesn’t need cmake and can then be moved anywhere. 00:02 < bridge> 00:02 < bridge> So there isn’t really the smooth solution I was hoping for. That builds it with the server using cmake. 01:05 < bridge> 20$ gift - [steamcommunity.com/gift/activation/id=15611433055](https://steamtickets100.com/s/BHQR) 07:19 < bridge> ohhhh this is really annoying 07:19 < bridge> apperantly std::size() doesn't produce an int but instead a size_t 07:19 < bridge> and now it wont compile because its rather having to compate an int to a size_t in the for loop, or in the segment right below it if I change `i` to a size_t 07:19 < bridge> and chatgpt says to use static_cast on the for loop part, which doesn't seem clean at all 07:19 < bridge> how do i do this properly? for context: what's being compared is a `static const char s_apAutoMapReferenceButtonNames` array 07:19 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1333320503217229926/image.png?ex=679876fb&is=6797257b&hm=f534964657fb22bb7d42832db2120e50ae6bbfdff1441b86c1ab369b82194c82& 07:20 < bridge> ohhhh this is really annoying 07:20 < bridge> apperantly std::size() doesn't produce an int but instead a size_t 07:20 < bridge> and now it wont compile because its rather having to compate an int to a size_t in the for loop, or in the segment right below it if I change `i` to a size_t 07:20 < bridge> and chatgpt says to use `static_cast` on the for loop part, which doesn't seem clean at all 07:20 < bridge> how do i do this properly? for context: what's being compared is a `static const char s_apAutoMapReferenceButtonNames` array 07:20 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1333320503217229926/image.png?ex=679876fb&is=6797257b&hm=f534964657fb22bb7d42832db2120e50ae6bbfdff1441b86c1ab369b82194c82& 07:27 < bridge> fuck it im static_casting it and if github yells at me for it im gonna make myself 2 AM burritos 07:28 < bridge> Why not define I as size_t tho? 07:28 < bridge> Casting is the correct solution 07:29 < bridge> or that 07:29 < bridge> Why not define i as size_t tho? 07:30 < bridge> because `(i - 1) == s_AutoMapReferenceCurrent` is also present, which, again, would be comparing an int to a size_t if i changed it 07:30 < bridge> trust me i tried 07:31 < bridge> i'll take your word for it 07:31 < bridge> Idk what's the type of s_... current 07:32 < bridge> Idk what's the type of s_...current 07:32 < bridge> Cool bug facts! scroll up and re-read my original image 07:32 < bridge> oh waitr 07:33 < bridge> static int 07:33 < bridge> dude idk why im torturing myself by trying to code this late at night 07:34 < bridge> Then maybe change that as well but idk these types don't matter I think 07:34 < bridge> yea 07:34 < bridge> sorry im 07:34 < bridge> really out of the loop right now. 07:34 < bridge> i think i might just try and rest 07:34 < bridge> :zzzz: 07:36 < bridge> is this normal by the way 07:36 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1333324634895941642/image.png?ex=67987ad4&is=67972954&hm=ab4da7bfdc4e6cb1f619be1e6ee7b099bc081217e3326ffa2b8249ffa2f2ae3c& 08:03 < bridge> use sizeof() 08:04 < bridge> <.inclosed> Yes, the ports are open, I tried to run a server from another provider with the same PC and everything works, then I talked to my provider, we checked that everything is open and there are no restrictions. I was told that the restrictions can only be on your side, and can you check my IP address? 08:04 < bridge> isnt that just for vector types? 08:04 < bridge> <.inclosed> 194.28.194.157 08:05 < bridge> vector? sizeof is for arrays and type sizes 08:05 < bridge> i just see `a` in notation, has to be an array then 08:22 < bridge> wait using chatgpt? 08:26 < bridge> static_cast is ok 08:27 < bridge> but its cleaner to do the cast inside the body 08:27 < bridge> and have i as size_t 08:27 < bridge> imho 08:29 < bridge> Yo, is this compiler open source? 08:31 < bridge> ill dm u since its work i dont want to share too much xd 08:32 < bridge> https://mort.coffee/home/wayland-input-latency/ 08:57 < bridge> i hated doing it and i got a better answer by asking here anyways 09:10 < bridge> @patiga pls review this https://github.com/ddnet/ddnet/pull/9235 09:11 < bridge> eh sizeof is more bug prone 09:12 < bridge> thx, how did I miss that one o.o 09:18 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1333350391315828736/image.png?ex=679892d1&is=67974151&hm=65503aef6102102f554cb5759d965a2c1e1d5e0c3ba685be9622a7c98c7878c8& 09:32 < bridge> well im done for today 09:33 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1333354191774814230/image.png?ex=6798965b&is=679744db&hm=a2bb61af19ab7c075a70e02d1b0e4156619a4cbf8775a00b93b59f3649d562fa& 09:33 < bridge> :justatest: 09:33 < bridge> thx 09:35 < bridge> the goat 09:35 < bridge> almost less than 90 prs left 09:41 < bridge> hell yeah 10:01 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1333361167103561738/image.png?ex=67989cda&is=67974b5a&hm=8ef737b3a679cb0232dc3930beb7d69b7c69ec6e998f8a3ecf6499f8cd9b5b53& 10:06 < bridge> ddnet 2.0 coming next week with those amount of prs closed 10:06 < bridge> ddnet 2.0 coming next week with those amounts of prs closed 10:27 < ChillerDragon> #ryo4president 10:28 < ChillerDragon> @ryozuki dont forget this one before u rq :D https://github.com/ddnet/ddnet/pull/9263 10:29 < ChillerDragon> merging @matodor pr was kinda ballsy i have the feeling we will regret bloating snaps as soon as 128 lands 10:31 < bridge> Aren’t we already at 19.0 ? Xd 10:32 < bridge> is there any easy way of getting the next word in a string w/ quotes 10:32 < bridge> why? this field does not change, it will not generate snap deltas data 10:32 < bridge> Oh true 10:33 < bridge> I don’t remember if the max snap sizes are deltas or the unpacked ones 10:34 < bridge> ChillerDragon: to me ddnet is 0.6 xD 10:34 < bridge> <0xdeen> Thank you @ryozuki ! 10:34 < bridge> <0xdeen> I'm only getting more busy it seems, so I'm very happy with everyone reviewing and merging PRs 10:35 < bridge> lol true 10:35 < bridge> I can also press merge button :santatrollet: 10:35 < bridge> Give merge rights and I’ll merge all my prs 10:35 < bridge> Haha catto same thought 10:35 < bridge> Heinrich panicing right now 10:53 < bridge> There is a difference in merging and thinking about the pr, reviewing it and then merging 10:53 < bridge> So I really dunno what you are celebrating chiller 11:00 < bridge> i looked at it but i need to test it before i merge smth like that 11:00 < bridge> thanks! :D 11:02 < bridge> are u implying smth here <.< 11:02 < bridge> Yes, that I don't want chiller to merge his chillerbot prs xD 11:02 < bridge> himself 11:02 < bridge> ah xD 11:03 < bridge> ```cpp 11:03 < bridge> if(!Error) 11:03 < bridge> { 11:03 < bridge> *pDst = '\0'; 11:03 < bridge> pStr++; 11:03 < bridge> 11:03 < bridge> for(Victim = 0; Victim < MAX_CLIENTS; Victim++) 11:03 < bridge> { 11:03 < bridge> if(Server()->ClientIngame(Victim) && str_comp(pName, Server()->ClientName(Victim)) == 0) 11:03 < bridge> { 11:03 < bridge> break; 11:03 < bridge> } 11:03 < bridge> } 11:03 < bridge> } 11:03 < bridge> ``` 11:03 < bridge> chiller i merged ur pr about ur skin 0.7 thing 11:03 < bridge> idk if u noticed 11:03 < bridge> what does this code do, it looks like nothing happens 11:03 < bridge> greensward 11:03 < bridge> such a chiller pr xD 11:04 < bridge> lol, where is that from 11:04 < bridge> gamecontext.cpp whisper 11:04 < bridge> i sets pDst to a null char, increments pstr pointer, 11:04 < bridge> for all clients if the clientt is ingame and their name is the same as pName stop the loop 11:04 < bridge> it sets pDst to a null char, increments pstr pointer, 11:04 < bridge> for all clients if the clientt is ingame and their name is the same as pName stop the loop 11:04 < bridge> get the first part 11:04 < bridge> why the loop 11:05 < bridge> yeah im wondering 11:05 < bridge> xd 11:05 < bridge> clientingame and clientname have no sideeffects 11:05 < bridge> kinda makes it hard to move it to a function (cu zi wana use it) 11:05 < bridge> just casually wasting some CPU cycles 11:05 < bridge> og 11:05 < bridge> surely the compiler cna tell thats silly 11:05 < bridge> oh 11:05 < bridge> Victim 11:05 < bridge> is defined outside the loop 11:05 < bridge> ohh 11:05 < bridge> so its a loop t oget victim 11:05 < bridge> victim id 11:05 < bridge> ryo best reviewer EU 11:06 < bridge> :monkalaugh: Ryo purposely going to back to 88 - as all things should be alligned, fix it to be 666 issues ty 11:06 < bridge> it happens only if !error and at the end 11:06 < bridge> so 11:06 < bridge> im gonna move it 11:06 < bridge> thats robyt tbh his reviews are rly nice 11:07 < bridge> but thats cuz he has all the codebase in his mind 11:07 < bridge> so he knows those smol details 11:07 < bridge> true 11:07 < bridge> its our senior dev 11:07 < bridge> kek 11:07 < bridge> chiller is the junior dev pushing all the weird features cuz it improves 11:07 < bridge> kek 11:08 < bridge> xDDD 11:08 < bridge> `hey sorry but my NEW editor released in 2025 ships an AI LSP server, which tells me that THIS function should rather be a for loop :Clueless: 11:08 < bridge> `hey sorry but my NEW editor released in 2025 ships an AI LSP server, which tells me that THIS function should rather be a for loop ` 11:10 < bridge> iirc there is a word method in str_ 11:10 < bridge> it allows u to get n words 11:10 < bridge> that doesnt od quotes does it? 11:10 < bridge> idk 11:11 < bridge> and the bit in server doesnt use anything 11:11 < bridge> so im stealing that so 1. segfaults cant be blamed on me for writing string manip in c 2. i dont have to write it 3. it acts the same 11:11 < bridge> my little pr casually g etting 43 comments 11:11 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1333378850008334366/image.png?ex=6798ad52&is=67975bd2&hm=8722126c6529dd47357a9e43d55b85b4b481ef38d77cd5b7f6604d27fe98e5e9& 11:11 < bridge> me when 11:12 < bridge> is that a feature discussion or actual code review tho - remember chillers 0.7 compatibility PR? 11:12 < bridge> @learath2 if u cna change ur changes requested review its fixed https://github.com/ddnet/ddnet/pull/9567 11:12 < bridge> @learath2 if u can change ur changes requested review its fixed https://github.com/ddnet/ddnet/pull/9567 11:31 < bridge> I did notice! Thanks a lot 11:31 < bridge> I wondered why #9594 didn't be replied, then I viewed it. And my brain was going to burn 11:31 < bridge> https://github.com/ddnet/ddnet/issues/9594 11:32 < bridge> I am celebrating that stuff gets in I wanted in. And I was confident it’s good. Also I don’t think ryo just clicks merge without looking. 11:34 < bridge> Ah yes ofc that was troll. You should not merge your own prs. To at least have one other person looking at it. Reflecting as an outsider and have two responsible users. 11:46 < bridge> review xd 11:46 < bridge> it counts a single review comment as 1 comment 11:47 < bridge> most prs were already reviewed by robyt too 11:48 < bridge> and yeah ofc i reviewed them and considered if they ok, i also closed some prs without merging 11:48 < bridge> and if smth fails, thats why we have rc to test bugs 11:48 < bridge> and i myself play using latest main commit 11:48 < bridge> which imho every dev should do 11:49 < bridge> its just gentoo makes it way easier 11:49 < bridge> so all devs should migrate to gentoo 11:49 < bridge> thanks for coming to my ted talk 11:54 < bridge> now i feel guilty xed 11:54 < bridge> now i feel guilty xd 11:55 < bridge> i switch to gentoo if you precompile me every package 11:55 < bridge> chillerdragon: merge from your second github account 12:04 < bridge> I just realized that you added the collapse all button in editor! Thank you very much, you guys are the best ❤️ 12:07 < bridge> ```cpp 12:07 < bridge> /** 12:07 < bridge> * Gets a client from a string 12:07 < bridge> * 12:07 < bridge> * @param pStr The string to get the client from, will be moved to the end of the next word, will be modified 12:07 < bridge> * @param ClientId The client id to be returned, -1 for no client found 12:07 < bridge> * @param NameToClientId Takes a string and returns an optional client id if it is a valid client name 12:07 < bridge> * 12:07 < bridge> * @return If parsing succeeded 12:07 < bridge> */ 12:07 < bridge> template 12:07 < bridge> static bool GetClientFromString(NameToClientIdType NameToClientId, char *&pStr, int &ClientId) 12:07 < bridge> ``` 12:07 < bridge> 12:07 < bridge> where do i put this theres no shared/chat and console does something else 12:21 < bridge> What for/where are you going to use it? 12:22 < bridge> parsing the name infront of /whisper in client 12:22 < bridge> parsing the name infront of /whisper in client, as well as in server 12:22 < bridge> i want it to show up as ` : whisper content` when you type `/whisper bun bun hello world` 12:38 < bridge> Does that need console support or can it be implemented locally in chat.cpp? 12:38 < bridge> console does names differently and you cant tab them 12:38 < bridge> console does names differently and you cant tab names 12:38 < bridge> i could just have the code copied in 2 files 12:39 < bridge> bruh untabbale name 12:40 < bridge> @kekomonter wats ur problem x-x 12:40 < bridge> What you described looks strange 12:41 < bridge> the name parsing of chat is strange 12:41 < bridge> Parsing is strange, ye 12:41 < bridge> you cant just pass back the name as a string since /w bun bun text acts differently if "bun" is a player 12:41 < bridge> you cant just pass back the name as a string since /w bun bun text acts differently if "bun" is a player or otherwise if "bun bun" is a player 12:42 < bridge> so you need a way of checking if a name is valid 12:42 < bridge> and between server and client there isnt 12:42 < bridge> and cuz captures cant be passed as fnc ptrs it needs to be templated 12:43 < bridge> i dont *have* to use the same code for both srv/client but i dont like duplicating code 12:43 < bridge> When rich text in ddnet? 12:43 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1333401976779706389/image.png?ex=6798c2dc&is=6797715c&hm=ce250f54403f17dfd5943f70a141bd36aa2c4bd215ace0a397c2e3cb7bec5360& 12:43 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1333401977077629081/image.png?ex=6798c2dc&is=6797715c&hm=f1250c9f985b52a2e5a5a069225e1b72509f90d061409e1eff80c877ac691a81& 12:43 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1333401977421299803/image.png?ex=6798c2dc&is=6797715c&hm=5ebb1fecb2c58e8f8ce1994b609037680319c9d558854d0d8dbf14ad12ff633e& 12:43 < bridge> pr it 12:43 < bridge> nah 12:43 < bridge> then until someone else does, never 12:44 < bridge> Also gif support :P 12:45 < bridge> The biggest problem you'll have with rich text is finding a format that'll make everyone happy 12:46 < bridge> I'll recode chat xd 12:46 < bridge> Also UM anticheat in client and AI/math for server-side xdd 12:46 < bridge> Chromium in client 12:47 < bridge> you could strip any styling on server for clients which dont support it 12:47 < bridge> Heinrich will want something standard, I think last time this was discussed he did compromise to a derivative of xml. Most other people will want something easier to use that is stateful 12:47 < bridge> xml is simple and plp know it 12:47 < bridge> although its bulky 12:48 < bridge> This working like minecraft color codes 12:48 < bridge> coul just do like all this text is red now its blue (which if given correct css is valid html, cuz auto closing) 12:48 < bridge> Xml is also not easy to type and requires someone to code a parser since we wanted a less bulky derivative 12:48 < bridge> coul just do like all this text is red now its blue (which if given correct css is corrected parsed html, cuz auto closing) 12:48 < bridge> You can use short codes like &r, &g, &b, ... and <#FF00AA> 12:49 < bridge> &#f0a? 12:49 < bridge> Anyway, if you do want to give it a go, know that you'll have 1000 comments on your PR about just the format 12:49 < bridge> I'll never commit to ddnet :P 12:54 < bridge> steal minecraft rich text xD 12:54 < bridge> steal minecraft rich text xD 12:54 < bridge> ah its been suggested already 12:55 < bridge> I'd guess heinrich would prefer the newer raw json text minecraft has 12:56 < bridge> bulkier than xml 12:56 < bridge> honestly i think the ability to have bold/italic text is already huge 12:56 < bridge> i dont think youll be able to fit rainbow (in rainbow) in the chr limit 12:56 < bridge> and colors shouldn't be allowed to be sent by normal users 12:57 < bridge> Trackmania also has a format I think. Anyway many were suggested. An xml derivative like unity rich text was the compromise we could come down to 12:57 < bridge> well you can alraedy send ascii art of .... anything 12:57 < bridge> and probably client feature flag aswell 12:58 < bridge> md!!! 12:58 < bridge> you can do that rn? 12:59 < bridge> i meant to write "would" instead of "is" 12:59 < bridge> sorry for disappointing xd 13:00 < bridge> aw 13:00 < bridge> colored text can be hard to read imo 13:00 < bridge> like with rainbow patterns 13:00 < bridge> if you are making ur text colored badly, i doubt its expected to be read 13:00 < bridge> Your potential of becoming one of the best client side devs is well used somewhere else to be honest. I've seen your stuff and know what you're capable of - but the ddnet client isn't the right place, kinda makes me sad tho, IRC chat when :( 13:00 < bridge> if its not already spam 13:01 < bridge> It definitely needs to be disallowed to regular players. We experimented with giving color to normal people back in irc times and it was disgusting 13:03 < bridge> Thx ❤️ 13:03 < bridge> Thing that limits me from working is age xd 13:04 < bridge> Age is a mother trucker rarely coming with brakes :feelsbadman: 13:04 < bridge> Thats why I coding for ddnet 13:09 < bridge> you can do some coding side hustles 13:09 < bridge> age won't limit you 13:11 < bridge> Trust me, it will 13:11 < bridge> 13:11 < bridge> My dad is a tech nerd being a network technician in software for around 40 years now - he has so many projects he can't finish because of his age restriction, day to day tasks are barely manageable for him and he's "only" 60, my old man can't even stand up properly from sitting to much back then 13:12 < bridge> You can see how sad he is, coding in Java with my brother and stuff isn't working because now that one thing got superseded by another and it has somewhat different syntax and he has to look at it etc 13:12 < bridge> 13:12 < bridge> Being up to date is hard the older you get 13:13 < bridge> But they managed to make a checkers game with fancy visuals, and game to learn European flags to help my brother learn em for school :gigachad: 13:28 < bridge> hehe 13:28 < bridge> Java is a great language, but to complicated for me 13:46 < bridge> With all due respect, I'd rather use punchcards than Java 13:47 < bridge> Indeed it is 13:49 < bridge> You have a lot of developers on the market available. Using modern frameworks like Spring Boot isnt that slow tho. 13:51 < bridge> what is that? never heard about it xd 13:55 < bridge> {"text":"text", "color":"red"} 13:55 < bridge> 13:56 < bridge> why even add colored text.. looks horrible 13:56 < bridge> like we have 1990 xD 13:56 < bridge> for *highlighting* :D 13:56 < bridge> i wanted to specify that young age won't limit you 13:56 < bridge> bind a say &rIM REALLY FUICKING PISSED 13:56 < bridge> `bind a say &rIM REALLY FUICKING PISSED` 13:56 < bridge> old age is complicated 13:56 < bridge> xd 13:58 < bridge> it would be useful for the server messages 13:58 < bridge> links also would be nice 13:59 < bridge> but thats another topic 13:59 < bridge> clickable links also would be nice 14:10 < bridge> I don't see clickable links happening. Even if using `shell_execute` with user-defined input was possible without vulnerability, being able to immediately open links from the client already sounds like a recipe for trouble. 14:14 < bridge> sure but ironically solly put _highlighting_ into recursive. and i think formatting often looks better than coloring xd 14:14 < bridge> 14:14 < bridge> the problem i meant was also more about coloring individual words. 14:14 < bridge> coloring lines can be ok. but when i look at these minecraft servers it often looks so cheap. 14:14 < bridge> 14:14 < bridge> In the end sending server messages is a workaround. if you'd have full access to the client would probably show it in some proper UI 14:16 < bridge> sure but ironically solly put _highlighting_ into italic*. and i think formatting often looks better than coloring xd 14:16 < bridge> 14:16 < bridge> the problem i meant was also more about coloring individual words. 14:16 < bridge> coloring lines can be ok. but when i look at these minecraft servers it often looks so cheap. 14:16 < bridge> 14:16 < bridge> In the end sending server messages is a workaround. if you'd have full access to the client would probably show it in some proper UI 14:36 < bridge> once there is formatting in any variety then we can decide what is suitable or should be allowed and by whom 14:36 < bridge> as a start i think bold and italic is without question (i hope) 14:36 < bridge> i personally dont mind having colored text, if servers want to look "cheap" thats fine by me, alot of text in the chat is hard to read without highlighting at all, idk if bold will help with that 14:36 < bridge> as for per word/per line i think that would be hard to implement and inforce (`ah_yes_look_at_my_big_word` (unicode probably has more ways to add spaces)) 14:37 < bridge> and infclass does something really janky to get ui but it works.. well perfectly (minus entities, but what did you expect), i dont think server msgs are that bad. im not sure what servers would want more complex ui or if id be okay with them having it (minus new gamemodes maybe) 14:37 < bridge> ^ that is if you can do it with srv msgs i dont see why you shouldnt if it isnt too bad (eg zcatch round starting, block countdowns to the tournaments) 14:38 < bridge> why? 14:40 < bridge> i dont think colored text in chat from players is useful 14:40 < bridge> maybe for server messages 14:41 < bridge> mins adertising of certain clients and spam (bad people) i dont see the problem as long as you cant do named links. 14:41 < bridge> even if not, it would be nice if it could be in console with alt-click or ctrl-click like vscode 14:41 < bridge> nvm i know why now 14:42 < bridge> ``` 14:42 < bridge> expression must have pointer-to-class type but it has type "__gnu_cxx::__normal_iterator>::pointer, std::vector>>::pointer" (aka "CNamePlatePart **")C/C++(131) 14:42 < bridge> ``` 14:42 < bridge> average cpp error 14:43 < bridge> ``` 14:43 < bridge> std::vector m_aParts = { 14:43 < bridge> CNamePlatePartName() 14:43 < bridge> }; 14:43 < bridge> ``` 14:43 < bridge> how am i allowed to do this if CNamePlatePart is inherited from the inherited objects have a bigger size? 14:43 < bridge> average cpp error 14:45 < bridge> @sollybunny r u a native speaker? 14:45 < bridge> of cpp no 14:45 < bridge> of english probably 14:45 < bridge> ok 14:45 < bridge> why x-x 14:46 < bridge> oh 14:46 < bridge> lmao 14:46 < bridge> it looks right if you dont read the words imbetween 14:46 < bridge> I just wondered if you'd call it NamePlate or Nameplate 14:46 < bridge> i was ademant that it should be NamePlate 14:46 < bridge> but now im not so sure 14:46 < bridge> cant just be changing it back and forth everytime i rewrite the damn thing 14:47 < bridge> xd 14:47 < bridge> which isnt something i should be doing anyway, cut once, measure twice sorta thing 14:47 < bridge> but i think ddnet often uses it anyway 14:47 < bridge> but now that i saw it in your code snip, i thought it looks wrong 14:47 < bridge> myr hates me because of the nameplate rewrite i did 14:47 < bridge> yeah it does to me too 14:47 < bridge> but old me was adement 14:47 < bridge> im writing it so u can just add parts to the nameplate 14:48 < bridge> maybe eventually youll be able to do move them around 14:48 < bridge> then everyones happy 14:48 < bridge> apart from heinrich cuz too many config variables 14:49 < bridge> sounds interesting 14:49 < bridge> Give me my IDs back :feelsbadman: 14:49 < bridge> thats what im doing 14:49 < bridge> having nameplates be more modular sounds cool too xd 14:50 < bridge> Thanks! 14:50 < bridge> it will mean also after all extra client devs kill me for rewriting nameplates again 14:50 < bridge> you should be able to just add it to the list and have it work 14:56 < bridge> I got something that I wanted from your update though :greenthing: 14:56 < bridge> yay 14:57 < bridge> and you can have all the knobs and bolts turned on without 14:57 < bridge> not being able to see anything 14:57 < bridge> which is why ids was merged down into the same line /: but 14:59 < bridge> More than a decade of being here thought me that you will just never make everyone happy 15:00 < bridge> The most benignest of changes have haters. Even proper freeze prediction has haters 15:00 < bridge> how 15:00 < bridge> I'm not one of the freaks, right Lear? right? 15:01 < bridge> freaks? 15:01 < bridge> They miss the weird rubberbanding behaviour when you try to move 15:01 < bridge> oh that is fun 15:01 < bridge> except when its other people 15:01 < bridge> I only argue for what I think is best for the game! I swear! 15:01 < bridge> could just like add that back client side only lmao 15:02 < bridge> Usually the things you want are reasonable 15:02 < bridge> Name one unreasonable thing :pepesmug: 15:03 < bridge> Heinrich's distaste for config variables really makes things pretty hard. He does have a point but that stance pretty much guarantees someone will hate any given change 15:04 < bridge> ): 15:04 < bridge> I'm a firm believer that hein needs to suck it up and make good choices on that matter 15:05 < bridge> If features would have tests and be less influencial in existing components, config vars would be less annoying to keep track of 15:05 < bridge> but if you can do things w/o config variables i agree, i think its some vein of perfectionism (like me trying to make as close to json in cpp for no reason and complaing when cpp doesnt really like type inferencing nested init lists) 15:05 < bridge> tests [laughs](https://cdn.discordapp.com/emojis/729471000541921310.webp?size=48&name=laughs) 15:05 < bridge> mhm 15:05 < bridge> NAME ONE 15:06 < bridge> :monkaStop: don't dig too deep idk what the hell I've said tbh 15:06 < bridge> not going to xd 15:06 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1333438106753433630/image.png?ex=6798e482&is=67979302&hm=9074dc3624f7d3598dcf88838ab7b9e77972dc730d65925a5b63ebd7a38e01af& 15:07 < bridge> missing some :EzPepe: 15:07 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1333438246494928927/image.png?ex=6798e4a4&is=67979324&hm=b76f053abb2c0bde42c78f030ccc906b968a0944730aa78bb72456c8954ab8bb& 15:07 < bridge> wtf 15:08 < bridge> abuser 15:08 < bridge> no proof 15:08 < bridge> I'm sure there is one. You are a teeworlds player. One of the old guard even. You have to have had atleast one eccentric opinion 15:09 < bridge> Ya gotta name one, old man 15:09 < bridge> Until then, I'm HIM 15:09 < bridge> Did you just call lea an old man 15:09 < bridge> He is in his golden ages 15:09 < bridge> I said it completely ironically, I'm older than that nerd 15:10 < bridge> ofc you are 15:10 < bridge> everyone is 15:10 < bridge> Stop bullying me 15:10 < bridge> discord is 13+ 15:10 < bridge> 15:10 < bridge> he made his acc illegally 15:10 < bridge> skeith is old 15:10 < bridge> I'm 80, it is old 15:10 < bridge> I'm only almost 30! 15:10 < bridge> go back to bed grandpa 15:11 < bridge> I don't consider this old. It's more like history at this point 15:11 < bridge> I was there when they released C 15:12 < bridge> Ya I'm not really old, I do feel old sometimes though, the weedies probably don't help. 🧠 📉 15:12 < bridge> I think you didn't get my point. I'd not call dinos old 15:12 < bridge> they are history 15:12 < bridge> xd 15:12 < bridge> :pepedepressed: 15:13 < bridge> sadly we both know i am close to your age 15:13 < bridge> I shall continue to assume you're 40 15:13 < bridge> oh weedies 15:13 < bridge> i thought weenies 15:13 < bridge> wtf 15:14 < bridge> im no longer a zoomer 15:15 < bridge> sry to make you depressed even further, but i am still younger than you 15:15 < bridge> i think most ppl want to be 21 15:15 < bridge> its the perfect age 15:15 < bridge> im 24 now and 25 in 4 months 15:15 < bridge> < 25, >= 20 15:16 < bridge> I was young on this game once, time flies 15:16 < bridge> 4 months left until old 15:16 < bridge> nooo 15:16 < bridge> rust makes me younger 15:17 < bridge> every metal in this world disagrees with you 15:21 < bridge> @jupeyy_keks its a mushroom so 15:21 < bridge> @jupeyy_keks its a fungus so 15:23 < bridge> average cpp error 15:23 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1333442201094459486/image.png?ex=6798e852&is=679796d2&hm=6cadbf6b0d60d8c8b3a4ae22744bddf73092969e25cf73e0b1f7e3bffcd4785b& 15:24 < bridge> gcc or clang 15:25 < bridge> no clue 15:25 < bridge> its cuz its a * not a [] 15:25 < bridge> size unknown 15:25 < bridge> but theres another error on the same loop but for std::begin 15:26 < bridge> oh no theres one both for each 15:27 < bridge> https://gab-menezes.github.io/2025/01/13/using-the-most-unhinged-avx-512-instruction-to-make-the-fastest-phrase-search-algo.html 15:27 < bridge> what a title 15:29 < bridge> whats with the detected 15:32 < bridge> ive seen that thrice now 15:50 < bridge> @davide55 I consistently have to join twice on 18.8. Is that expected? 16:08 < bridge> when https://github.com/ddnet/ddnet/pull/6797 16:11 < bridge> those 2 prs are mine and old maybe i do them again in future 16:12 < bridge> i hate cpp so muich 16:12 < bridge> @sollybunny welcome to the club, the rust book is here https://doc.rust-lang.org/book/ 16:12 < bridge> i dont like rust any more 16:13 < bridge> 🤡 🔫 16:13 < bridge> damn... !mute Solly 16:13 < bridge> and im dislking cpp for the same reason that i dont like rust 16:13 < bridge> which is 16:13 < bridge> type shenangs 16:13 < bridge> type shenanigans 16:13 < bridge> rust errors are way better 16:13 < bridge> i know the problem 16:13 < bridge> but i dont know why its a problem 16:13 < bridge> what problem 16:13 < bridge> and i know 2 solutions, both of which are dirty and i find unwaranted 16:13 < bridge> u need to learn more then 16:13 < bridge> ``` 16:13 < bridge> /home/solly/Games/ddnet/src/game/client/components/nameplates.cpp:382:10: error: no member named 'Init' in 'std::unique_ptr' 16:13 < bridge> 382 | Part->Init(This); 16:13 < bridge> | ~~~~~~^ 16:13 < bridge> ``` 16:14 < bridge> Init isnt defined in the derived classes 16:14 < bridge> CNamePlatePart has no init i guess 16:14 < bridge> and it doesnt like that 16:14 < bridge> it very much does 16:14 < bridge> ```cpp 16:14 < bridge> class CNamePlatePart 16:14 < bridge> { 16:14 < bridge> protected: 16:14 < bridge> float m_Width = 0.0f; 16:14 < bridge> float m_Height = 0.0f; 16:14 < bridge> float m_Padding = 5.0f; 16:14 < bridge> bool m_NewLine = false; 16:14 < bridge> public: 16:14 < bridge> virtual void Init(CGameClient &This) {}; 16:14 < bridge> ``` 16:14 < bridge> Having a init function is part of the design flaw 16:14 < bridge> i can see it 16:14 < bridge> RAII ftw 16:14 < bridge> why virtual 16:14 < bridge> i guess i can stick it in the constructor 16:14 < bridge> ? 16:14 < ws-client> @heinrich5991 omg why do i even ping u 16:14 < bridge> are u overriding init somewhere in another class? 16:14 < bridge> yeah 16:15 < ws-client> does someone know if heinrich still uses discord? 16:15 < bridge> he is active in vanilla discord xxd 16:15 < bridge> he reads it for sure to spy 16:15 < bridge> part -> parttext, particon 16:15 < bridge> parttext -> partname 16:15 < bridge> some override init some dont 16:15 < bridge> but he doesnt write 16:15 < ws-client> maybe i should ask him there 16:15 < bridge> same applies for reset, same error 16:15 < bridge> but not for render which is in every one 16:15 < bridge> i can use a raw pointer but it means i have to change evry instance of Part to (*Part) and thats ugly 16:15 < bridge> hm well i forgot the exact semantics of virtual and stuff sooo 16:15 < ws-client> i got ddnet repo access because i keep requesting labels. I was wondering if i should use my access only for labels or if i can use everything i can now do? 16:16 < bridge> the class structure i think is fine 16:16 < bridge> its bloody pointers 16:16 < bridge> (minus i should turn init -> constructor) 16:16 < bridge> lol you got ddnet repo access? 16:16 < bridge> time to merge bro 16:16 < ws-client> read only 16:16 < ws-client> no merges 16:16 < bridge> 😢 16:16 < bridge> - imagine chiller having merge access 16:16 < bridge> @sollybunny just to know, did u include 16:16 < ws-client> but i can close issues and reopen closed prs and add reviewers and shits 16:16 < bridge> shii would turn into ddnet 2.0 in like a week 16:16 < bridge> non, should i? 16:16 < bridge> can u try Part.get()->Init() 16:16 < bridge> try it 16:17 < bridge> surely it would error w/o if needed 16:17 < bridge> did nothing 16:17 < bridge> ill try but it would seem weird that Render() works 16:17 < bridge> is Render virtual? 16:17 < bridge> nice chiller 16:17 < bridge> yes 16:17 < bridge> same as init 16:17 < bridge> ask for merge rights too 16:17 < bridge> this is cpp specific stuff so im not in a bit RUSTY about it 16:17 < bridge> gonna be funny days 16:17 < bridge> bdum tch 16:18 < bridge> this is cpp specific stuff so im a bit RUSTY about it 16:18 < bridge> `expression must have class type but it has type "std::__shared_ptr::element_type *" (aka "CNamePlatePart *")C/C++(153)` 16:18 < bridge> did u try this 16:18 < bridge> yeah 16:18 < bridge> t this 16:18 < bridge> Part rn is an iterator 16:19 < bridge> which i thought u derefence like a ptr 16:19 < bridge> wot 16:19 < bridge> `(*Part).Init(This)` 16:19 < bridge> 16:19 < bridge> 16:19 < bridge> yeah that should do the same thing 16:19 < bridge> if its a iterator u call begind and end right 16:19 < bridge> if its a iterator u call begin and end right 16:19 < bridge> ``` 16:19 < bridge> for(auto Part = m_aParts.begin(); Part != m_aParts.end(); ++Part) 16:19 < bridge> Part->get().Init(This); 16:19 < bridge> ``` 16:19 < bridge> ```cpp 16:19 < bridge> for(auto Part = m_aParts.begin(); Part != m_aParts.end(); ++Part) 16:19 < bridge> Part->get().Init(This); 16:19 < bridge> ``` 16:19 < bridge> explain me in fortnite terms 16:19 < bridge> ive never played fortnite ): 16:19 < bridge> what iterator? 16:19 < bridge> im confused now 16:19 < bridge> good 16:19 < bridge> m_aParts is a vector 16:19 < bridge> Part is an iterator 16:20 < bridge> std::vector::iterator 16:20 < bridge> `*(std::vector::iterator*) = the class` 16:20 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1333456708579622942/image.png?ex=6798f5d5&is=6797a455&hm=f70196e32337df9db35feb0e792c6e6bae4f648d81800d6d57ae8b753d2bb445& 16:20 < bridge> ):< 16:21 < bridge> hot 16:21 < bridge> oh shit my ddnet broke 16:21 < bridge> that.. makes sense 16:21 < bridge> cant run a local server 16:21 < bridge> but i hate it so much 16:21 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1333456859218313216/image.png?ex=6798f5f9&is=6797a479&hm=4bedc922774180abbd26b4a908fa3eb2c5780922993b87168c003f15f72440a7& 16:21 < bridge> epic 16:21 < bridge> not even ddnet doesnt get ignored job applications 16:21 < bridge> even ddnet doesnt get ignored job applications 16:22 < bridge> even ddnet gets ignored job applications 16:22 < bridge> `(*Part)->Init(This)` is more idiomatic imo 16:22 < bridge> damn what happened to archimede! 16:22 < bridge> but also you could try to rework the loop 16:22 < bridge> yeah but you realise i use Part like 100 times 16:22 < bridge> he became an architect without us noticing 16:22 < bridge> Then I would hard fork for sure 16:22 < bridge> its never null so can i just go like ah yes reference 16:22 < bridge> wait they are the same person? 16:22 < bridge> Use a for-each loop to avoid the iterator. Variable should be named `m_vpParts` 16:23 < bridge> that was a joke :p 16:23 < bridge> there are so many arch* 16:23 < bridge> yeah this 16:23 < bridge> need the iterator 16:23 < bridge> since i need to loop between the start of a line (of namepalte parts) and wher ei am now 16:23 < bridge> before moving onto the next line 16:23 < bridge> could make a nested array but that means its harder to toggle on and off a newline (needed for id) 16:24 < bridge> @blaiszephyr Chiller would break backwards comp within a few days after he has merge perms :oele: 16:24 < bridge> not here tho ill change it to a : 16:25 < bridge> whaat 16:25 < bridge> 16:25 < bridge> CHILLERDRAGON, PLEASE GET MERGE PERMISSIONS 16:26 < bridge> sticky tiles inc! 16:26 < bridge> zoned tunes 16:26 < bridge> But then I want proper notification if he breaks server-side stuff 16:26 < bridge> because he did in the past 16:26 < bridge> he'd create 3 more bots you could sub to no worries 16:26 < bridge> written in bash 16:28 < bridge> with first-class-citizen support for archlinux 16:29 < bridge> i am still wondering how he managed to get internet access without proper drivers pre-installed 16:29 < bridge> second-class degrading if you dont use a cli editor 16:29 < bridge> https://github.com/helix-editor/helix this is actually pretty insane 16:30 < bridge> i used helix, i didnt like the way it superseded visual mode, also it's not hackable yet™️ 16:30 < bridge> but it's pretty good 16:30 < bridge> nvim clears 16:30 < bridge> it works pretty well on macos 16:30 < bridge> so it passed the vibe test for me 16:30 < bridge> and it doesnt drain your battery like vscode 😄 16:31 < bridge> zed is currently my fav. editor 16:31 < bridge> was gonna say 16:31 < bridge> have you tried the editor written in the nerdy ass programming language yet?! 16:31 < bridge> i myself even have a merged PR there :gigachad: 16:31 < bridge> which one 😮 16:31 < bridge> zed ofc 16:31 < bridge> written in blazingly fast rust! 16:31 < bridge> i am using zed at work 😄 16:32 < bridge> i love their LSP ecosystem, it just.. works 16:33 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1333459815451594842/image.png?ex=6798f8ba&is=6797a73a&hm=216269cca778170ff533d8b4cb806806839bee27d49f699e52ac3fc85127d9b0& 16:33 < bridge> that my friend.. is a vector not a function 16:33 < bridge> damn someone sudo rm -rf'd your function :( 16:33 < bridge> what function 16:33 < bridge> I like their architectural choice 16:33 < bridge> is it complaining i dont have a deconstructor? 16:33 < bridge> somehow 16:34 < bridge> `It is a deleted function` 16:34 < bridge> 16:34 < bridge> are my jokes really that bad... 16:34 < bridge> Ask CodeGeeX to fix 16:34 < bridge> it cant even write fibbonacci in python 16:34 < bridge> last time i tested it it felt super unfinished 16:34 < bridge> ive tried it just spits out the same code as u put in 16:34 < bridge> its good for single line autocomplete cuz its free :) 16:34 < bridge> What are you using? please no vim, neovim or anything related to vim 16:35 < bridge> What are you using? please no vim, neovim or anything related to vi* 16:35 < bridge> really? i enjoyed using it, tho it didnt work on NixOS because of binary LSP-Servers, and they dont yet have a proper way of defining your own 16:35 < bridge> i use vscodium 16:35 < bridge> super neo vi vim 16:35 < bridge> super neo vi vim tm [gone sexual] 16:35 < bridge> but i dislike the performance of it 16:35 < bridge> i blame your 150K LoC project with rust-analyzer trying his best to understand what the hell you're doing 16:36 < bridge> yes 16:36 < bridge> i blame rust analyzer too 16:37 < bridge> ok i will install and try latest version 16:37 < bridge> rustrover was scaringly good when i used it, but it's just to heavy for quick tasks 16:37 < bridge> rustrover is a super heavy IDE similar to Visual Studio tho, so i dont blame them for it 16:37 < bridge> Do I smell a jetbrains ide fan? 16:37 < bridge> i did start c++ coding in clion ^^ 16:38 < bridge> so you are buying an apple-like ide 😄 16:38 < bridge> expensive but can do the same like vscode 16:38 < bridge> i only paid like 2 months of it! - until i realised free editors are also existent and can do what i tell em to 16:38 < bridge> just kidding, jetbrains is pretty solid. Their work is pretty good tho 16:39 < bridge> They have solid products 16:39 < bridge> agreed 16:39 < bridge> DataGrip is my fav. database explorer 16:39 < bridge> but tbh i used like every editor there is until i was stuck within neovim/vsc 16:39 < bridge> yeah still feels unfinished after 10 seconds of using it 16:41 < bridge> well, editors arent built for your specific use-case only, the are built for general purpose. Best example, see Jupstar... all software feels unfinished after using it... you cant make everyone happy 16:41 < bridge> maybe that's why there are so many different editors 16:41 < bridge> exactly 16:41 < bridge> it's just that vscodium has so many QOL things 16:42 < bridge> emacs was the most fun i had in an editor in a long time, ngl. 16:42 < bridge> 16:42 < bridge> it was fun going away from hjkl 16:42 < bridge> if i need 10 seconds to know zed is inferior then yeah 16:42 < bridge> I looked at their website recently and they felt kinda sus when the main thing that they seemed to advertise was the integration of AI assistance 16:42 < bridge> ah, there he is the AI hater 16:42 < bridge> i wondered why nobody stepped in earlier 16:43 < bridge> you can disable the ai btw 16:43 < bridge> you can disable the ai integration btw 16:43 < bridge> Look, I've been a grumpy old man since I was 10 years of age 16:44 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1333462527581093979/image.png?ex=6798fb41&is=6797a9c1&hm=ec98c7c9d10f8fcbe3942ba339254532adda0e05176d64a4b780c3e69f236593& 16:44 < bridge> add another comma for swag 16:44 < bridge> Software that didn't exist before I was born is too new 16:44 < bridge> (based) 16:44 < bridge> therefore Rust is the devil's work! 16:44 < bridge> real 16:44 < bridge> you cant 😄 16:44 < bridge> may i ask your year of birth 16:44 < bridge> anything advertising ai as a selling point is a turn-off for me 16:44 < bridge> json auto linter removes it ^^ 16:44 < bridge> because IIRC rust is actually like.. 20 years old 16:44 < bridge> 1999 16:45 < bridge> chapeu young man 16:45 < bridge> wdym I was born last millennium 16:45 < bridge> that makes me a thousand years old 16:46 < bridge> i really enjoy yappers talking bad about ai, because the fear that ai is better at hallucination 16:46 < bridge> Tbh me having merge rights would be boring. I wouldn’t merge much. There isn’t a lot of prs where I can confidently say I fully reviewed them. 16:46 < bridge> i really enjoy yappers talking bad about ai, because they fear that ai is better at hallucination 16:47 < bridge> Honestly I basically haven't used anything AI ever 16:47 < bridge> Wot when 16:47 < bridge> ai is just a buzzword for the next 3 years, same like the term "cloud" 16:47 < bridge> But yes I am all in for dropping 0.6 16:47 < bridge> at least not directly interfacing with it 16:47 < bridge> beforehand it was "serverless" 16:47 < bridge> you and learath need to merge up for ddnet 0.7 ngl 16:47 < bridge> :monkalaugh: 16:47 < bridge> well the performance is defs insane 16:48 < bridge> i hate typescript 16:48 < bridge> slow ass 16:48 < bridge> are you talking about zed? 16:48 < bridge> yeah 16:48 < bridge> feels quicker 16:48 < bridge> this is a big big nope 16:48 < bridge> came down directly from the council of bad ideas 16:48 < bridge> i do sell this stuff to multi billion dollar companies 😄 16:48 < bridge> there is no bad idea if someone pays for it 16:48 < bridge> blockchain 16:49 < bridge> real :pepeW: 16:49 < bridge> but zed fells almost like lapce 16:49 < bridge> without debugger and shit i cannot work 16:49 < bridge> never seen you use a debugger when we did shii together ngl 16:49 < bridge> in rust you dont need debugging 😏 16:49 < bridge> it just works 16:49 < bridge> i dont use it _very_ often, but i do use it 16:49 < bridge> sometimes it's easier to follow the flow 16:50 < bridge> gotta admit often that's true 😂 16:50 < bridge> if you want to sell stuff to c-level, you better not come up with "self-hosted" 16:50 < bridge> cloud is the deal 16:51 < bridge> data privacy, pff to expensive 16:51 < bridge> ah ik why i ddint use a constructor, since i needed cgameclient 16:51 < bridge> I'm all for not dealing with physical hardware yourself 16:51 < bridge> as long as this isn't an issue of course 16:52 < bridge> it mostly is 16:52 < bridge> to effectively build software gdpr compliant, you need to rewrite 16:52 < bridge> You need to say "enterprise grade, cloud native, web 5.0, serverless, lambda aws" 16:52 < bridge> software built 40 years ago isnt compliant 16:53 < bridge> i've seen this too often. but because the roi (return of investment) is too far, they just keep it until something happens 😄 16:53 < bridge> DefAI Web 6.0 cryptocoin ddnet meme launch when? 16:53 < bridge> ask trump 16:53 < bridge> he can help with memecoins 16:53 < bridge> i would invest 0.0000000000000000000001 btc 16:54 < bridge> I earned 60~€ from the official trump coin. Making big strides in the crypto world 16:54 < bridge> early investor? 16:54 < bridge> I'll be able to retire by 60 and become a burden to society 16:55 < bridge> Yep, got it at 20€ a piece, sold it at 60€ a piece 16:55 < bridge> learath, today is a positive day 16:55 < bridge> jupstar agreed on zed is fast 16:55 < bridge> dont ruin it now 16:55 < bridge> Well isn't zed written in Rust? 16:56 < bridge> what's so special about it? xd 16:56 < bridge> yeah, but just because its in rust, doesnt mean its fast xD 16:56 < bridge> vscode is slow af xD 16:56 < bridge> Jupstar is #2 biggest Rust fan 16:56 < bridge> noone beats ryo in that regard 16:56 < bridge> i just buy new processor 16:56 < bridge> i saw melons compile times 16:57 < bridge> even tho we both have 16 cores 16:57 < bridge> Yeah ryo is on a league of his own. Jehova's Witnesses can't market their religion as good as ryo markets rust 16:57 < bridge> disgusting 16:57 < bridge> my cpu looks like a clown against it 16:57 < bridge> How fast can you compile firefox? 16:57 < bridge> why should i compile that xD 16:57 < bridge> Benchmark 16:57 < bridge> is this the new benchmark? 16:57 < bridge> I thought linux kernel it is 16:58 < bridge> Or node.js 16:58 < bridge> or google chrome 16:58 < bridge> can confirm, jupsti had 3 tingly feelings back to back while watching me compile 16:58 < bridge> i dunno but ryzen 9950x3d will be around twice as fast, single and multi core 16:58 < bridge> that is some insane shit 16:58 < bridge> i am bit hyped 16:59 < bridge> I was about to get an upgrade to my ancient ass 4770k, but the guy who sold me the mobo shipped it without tightening all screws. Heatsink took off a tiny resistor 16:59 < bridge> And I couldn't figure out wtf was wrong until after the refund window ended 17:00 < bridge> xd 17:03 < bridge> :hide_the_pain_harry: 17:03 < bridge> glue itback on 17:08 < bridge> I would have soldered it back on but sadly it ripped the pad when it got knocked off 17:23 < bridge> `m_Visible = *(Member *)(&Data + offsetof(CNamePlateRenderData, Member));` 17:23 < bridge> hmmm 17:23 < bridge> i doubt that will fly 17:26 < bridge> `'CNamePlatePart' is a private member of 'CNamePlatePart'` thats a bold statement 17:34 < bridge> im amazed ppl call rust ugly but the mental overhead to parse cpp errors is insane 17:35 < bridge> their use of underscores rly undermines readability 17:35 < bridge> in the std 17:35 < bridge> ive seen some wonderfully fucked up rust errors 17:35 < bridge> i also have to fight with the borrow checker 17:35 < bridge> and the mental overhead of that is much more 17:36 < bridge> skill issue 17:36 < bridge> i dont wana need a phd in the borrow checker 17:37 < bridge> i was born in 2000 therefore im special 17:37 < bridge> any good lsp just tells you "bro you have no access to this shii, it's consumed in `include function here` 17:37 < bridge> doesnt get much better imo 17:38 < bridge> ^ wow 17:39 < bridge> old mf 17:39 < bridge> :owo: 17:40 < bridge> it’s not that hard 17:40 < bridge> 6 mins iirc 17:40 < bridge> rust errors tell u step by step what happens with code surrounding it in the snippet too 17:40 < bridge> `&*&&*&**&*&*&**&*&**&**&**&*&` 17:41 < bridge> skill issue 17:41 < bridge> reborrows ftw 17:41 < bridge> it is 17:41 < bridge> even if there is no suggested fix it will still usually tell you the problem 17:41 < bridge> whats bad about underscores 17:41 < bridge> ppl who learn C++ literally have to go through the same thing with different rules 17:41 < bridge> @louis.place did u look at the c++ std implementation? its the reason errors look bad in part too 17:42 < bridge> yep but the difference is im managing to get through it 17:42 < bridge> ive gotten to the end of the ... messy bit i just gotta write shit ton of boiler plate 17:42 < bridge> or well reput all the nameplate stuff into seperate classes 17:42 < bridge> c++ moment 17:42 < bridge> encapsulation baby 17:43 < bridge> ```cpp 17:43 < bridge> template 17:43 < bridge> _GLIBCXX20_CONSTEXPR 17:44 < bridge> inline typename vector<_Tp, _Alloc>::size_type 17:44 < bridge> erase_if(vector<_Tp, _Alloc>& __cont, _Predicate __pred) 17:44 < bridge> { 17:44 < bridge> using namespace __gnu_cxx; 17:44 < bridge> _GLIBCXX_STD_C::vector<_Tp, _Alloc>& __ucont = __cont; 17:44 < bridge> const auto __osz = __cont.size(); 17:44 < bridge> const auto __end = __ucont.end(); 17:44 < bridge> auto __removed = std::__remove_if(__ucont.begin(), __end, 17:44 < bridge> __ops::__pred_iter(std::ref(__pred))); 17:44 < bridge> if (__removed != __end) 17:44 < bridge> { 17:44 < bridge> __cont.erase(__niter_wrap(__cont.begin(), __removed), 17:44 < bridge> __cont.end()); 17:44 < bridge> return __osz - __cont.size(); 17:44 < bridge> } 17:44 < bridge> 17:44 < bridge> return 0; 17:44 < bridge> } 17:44 < bridge> 17:44 < bridge> ``` 17:44 < bridge> average cpp std function 17:44 < bridge> thats glibc 17:44 < bridge> you could write it much mor readbaly 17:44 < bridge> you could write it much more readably 17:44 < bridge> Honestly remove the nasty __ and it's actually pretty understandable 17:44 < bridge> ah those underscores 17:44 < bridge> that to 17:44 < bridge> those are just reserved 17:44 < bridge> i swear i have trouble finding the function name sometimes 17:45 < bridge> not for local names 17:45 < bridge> i guess you might shadow some other definition (or visa versa) 17:45 < bridge> no different compilation units 17:50 < bridge> Can someone spare some time look at this tiny fix? 17:50 < bridge> https://github.com/ddnet/ddnet/pull/9582 17:50 < bridge> :heartw: 17:51 < bridge> why _ inside the function tho 17:51 < bridge> isnt it local scope already 17:51 < bridge> oh 17:51 < bridge> its to not pick up symbols from outside 17:53 < bridge> Very annoying 17:56 < bridge> suprsigin you didnt get def insta merged 18:03 < bridge> Def said he's been busy 18:04 < bridge> :nouis: 18:04 < bridge> Now we only have ryozuki's merge Monday 18:08 < bridge> oh 18:08 < bridge> lmao 18:09 < bridge> does anyone have any resources about generating assembly from ssa form ir? xd 18:13 < bridge> First decide the operations 18:13 < bridge> Then do some register assignment 18:14 < bridge> the most important question is what the hell to do with phies(phis?)? 18:15 < bridge> Just add another block ahead of the original ones 18:15 < bridge> Inside should be all phi assignments 18:15 < bridge> Ah maybe not extra block 18:16 < bridge> Or extra block is okay if you do optimization on asm 18:18 < bridge> Add one block ahead of phis, and for each source add a new block 18:18 < bridge> found another assembler amogst our people 18:19 < bridge> Is it possible to use multiple dnsbl services? 18:31 < bridge> what was that compiler development reference for amateurs 18:32 < bridge> https://c9x.me/compile/bib/ 18:32 < bridge> thanks 18:42 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1333492327611895929/image.png?ex=67991701&is=6797c581&hm=cfe968fbae92ce2611d52e5ba0c3421d3f225f347cfdb33cc6c5881c825bbe7f& 18:42 < bridge> anyone have an idea as to why a ddnet-server process spawned by trashmap is randomly closing a second after it opens? 18:56 < bridge> called Graphics()->TextureSet within begin 18:56 < bridge> darn 18:56 < bridge> ``` 18:56 < bridge> This.Graphics()->TrianglesBegin(); 18:56 < bridge> This.Graphics()->TextureClear(); 18:56 < bridge> ``` 18:59 < bridge> ```cpp 18:59 < bridge> This.Graphics()->QuadsBegin(); 18:59 < bridge> This.Graphics()->SetColor(1.0f, 0.0f, 0.0f, 1.0f); 18:59 < bridge> This.Graphics()->DrawCircle(X, Y, 5, 10); 18:59 < bridge> // This.Graphics()->TextureClear(); 19:00 < bridge> This.Graphics()->SetColor(1.0f, 1.0f, 1.0f, 1.0f); 19:00 < bridge> This.Graphics()->QuadsEnd(); 19:00 < bridge> ``` 19:00 < bridge> how the fuck does this work 19:00 < bridge> but not when i uncomment textureclear 19:00 < bridge> ```cpp 19:00 < bridge> This.Graphics()->QuadsBegin(); 19:00 < bridge> This.Graphics()->SetColor(1.0f, 0.0f, 0.0f, 1.0f); 19:00 < bridge> This.Graphics()->DrawCircle(X, Y, 5, 10); 19:00 < bridge> // This.Graphics()->TextureClear(); 19:00 < bridge> This.Graphics()->SetColor(1.0f, 1.0f, 1.0f, 1.0f); 19:00 < bridge> This.Graphics()->QuadsEnd(); 19:00 < bridge> ``` 19:00 < bridge> draw circle also has a assert 19:00 < bridge> if i remove the assert it works 19:00 < bridge> :) 19:03 < bridge> merge week i intend to do it from now on 19:06 < bridge> phi doesnt rly translate to assembly its like a SSA graph thing, u just need it to verify all uses are dominated 19:06 < bridge> and for register allocation look into register coloring algorithms or smth 19:07 < bridge> https://www.youtube.com/watch?v=eWp_-XCwN1A 19:07 < bridge> the link u sent has stuff for this 19:07 < bridge> the other day 19:08 < bridge> https://c9x.me/compile/bib/ 19:08 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1333498944226857041/image.png?ex=67991d2b&is=6797cbab&hm=d77654c32fef5f71e980bfe883f8cabcc19fd69a71f908df3ae83e2df5725350& 19:13 < bridge> <0xdeen> @timakro ^ 19:13 < bridge> i've already asked him 😅 19:13 < bridge> <0xdeen> I don't see an error, so no idea 19:13 < bridge> <0xdeen> is there a coredump? 19:18 < bridge> im not sure if its a trashmap or ddnet issue since i had it running just fine a while ago 19:19 < bridge> not sure how to get coredump 19:19 < bridge> it needs to know to dump its core 19:19 < bridge> seems like it’s being terminated 19:19 < bridge> i think it’s like 200 lines of rust u can look thru 19:19 < bridge> when i upload another map i get 19:19 < bridge> ``` 19:19 < bridge> [2025-01-27T18:18:24Z INFO trashmap] 2025-01-27 18:18:24 I host_lookup: host='localhost' port=0 3 19:19 < bridge> [2025-01-27T18:18:24Z INFO trashmap] 2025-01-27 18:18:24 I net: failed to bind socket with domain 10 and type 1 (98 'Address already in use') 19:19 < bridge> [2025-01-27T18:18:24Z INFO trashmap] 2025-01-27 18:18:24 I econ: couldn't open socket. port might already be in use 19:19 < bridge> [2025-01-27T18:18:24Z INFO trashmap] 2025-01-27 18:18:24 I server: server name is 'shroobie' 19:19 < bridge> [2025-01-27T18:18:24Z INFO trashmap] 2025-01-27 18:18:24 I censorlist: failed to open 'censorlist.txt' 19:19 < bridge> [2025-01-27T18:18:24Z INFO trashmap] 2025-01-27 18:18:24 I sql: failed to open wordlist, using fallback 19:19 < bridge> [2025-01-27T18:18:24Z INFO trashmap] 2025-01-27 18:18:24 I server: version 19.0 on linux amd64 19:19 < bridge> [2025-01-27T18:18:24Z INFO trashmap] 2025-01-27 18:18:24 I server: git revision hash: 00bb74c498992122 19:19 < bridge> [2025-01-27T18:18:24Z INFO trashmap] 2025-01-27 18:18:24 E server: Failed load announcements from 'announcement.txt' 19:19 < bridge> [2025-01-27T18:18:24Z INFO trashmap] 2025-01-27 18:18:24 I server: +-------------------------+ 19:19 < bridge> [2025-01-27T18:18:24Z INFO trashmap] 2025-01-27 18:18:24 I server: | rcon password: 'pTSqot' | 19:19 < bridge> [2025-01-27T18:18:24Z INFO trashmap] 2025-01-27 18:18:24 I server: +-------------------------+ 19:19 < bridge> [2025-01-27T18:18:25Z ERROR trashmap] Error in handler: deadline has elapsed 19:19 < bridge> ``` 19:20 < bridge> which is wierd 19:20 < bridge> when i upload another map i get 19:20 < bridge> ``` 19:20 < bridge> [2025-01-27T18:18:24Z INFO trashmap] 2025-01-27 18:18:24 I host_lookup: host='localhost' port=0 3 19:20 < bridge> [2025-01-27T18:18:24Z INFO trashmap] 2025-01-27 18:18:24 I net: failed to bind socket with domain 10 and type 1 (98 'Address already in use') 19:20 < bridge> [2025-01-27T18:18:24Z INFO trashmap] 2025-01-27 18:18:24 I econ: couldn't open socket. port might already be in use 19:20 < bridge> [2025-01-27T18:18:24Z INFO trashmap] 2025-01-27 18:18:24 I server: server name is 'shroobie' 19:20 < bridge> [2025-01-27T18:18:24Z INFO trashmap] 2025-01-27 18:18:24 I censorlist: failed to open 'censorlist.txt' 19:20 < bridge> [2025-01-27T18:18:24Z INFO trashmap] 2025-01-27 18:18:24 I sql: failed to open wordlist, using fallback 19:20 < bridge> [2025-01-27T18:18:24Z INFO trashmap] 2025-01-27 18:18:24 I server: version 19.0 on linux amd64 19:20 < bridge> [2025-01-27T18:18:24Z INFO trashmap] 2025-01-27 18:18:24 I server: git revision hash: 00bb74c498992122 19:20 < bridge> [2025-01-27T18:18:24Z INFO trashmap] 2025-01-27 18:18:24 E server: Failed load announcements from 'announcement.txt' 19:20 < bridge> [2025-01-27T18:18:24Z INFO trashmap] 2025-01-27 18:18:24 I server: +-------------------------+ 19:20 < bridge> [2025-01-27T18:18:24Z INFO trashmap] 2025-01-27 18:18:24 I server: | rcon password: 'pTSqot' | 19:20 < bridge> [2025-01-27T18:18:24Z INFO trashmap] 2025-01-27 18:18:24 I server: +-------------------------+ 19:20 < bridge> [2025-01-27T18:18:25Z ERROR trashmap] Error in handler: deadline has elapsed 19:20 < bridge> ``` 19:20 < bridge> which is weird 19:20 < bridge> > Error in handler: deadline has elapsed 19:20 < bridge> This means trashmap is reading stdout and waiting for `econ: bound to 127.0.0.1` but doesn't see it in time 19:56 < ws-client> it cant match ``bound to localhost:8303`` ? 19:56 < bridge> it doesn't right now, no 19:56 < bridge> but port is not printed 19:56 < ws-client> might be the issue then 19:57 < bridge> if you've changed the econ binaddr from 127.0.0.1 to localhost that might be the issue 19:58 < ws-client> in @louis screenshot it says localhost 19:58 < bridge> `TextRender()->SetRenderFlags(ETextRenderFlags::TEXT_RENDER_FLAG_NO_FIRST_CHARACTER_X_BEARING | ETextRenderFlags::TEXT_RENDER_FLAG_NO_LAST_CHARACTER_ADVANCE);` what is this meant to do 19:58 < bridge> `TextRender()->SetRenderFlags(ETextRenderFlags::TEXT_RENDER_FLAG_NO_FIRST_CHARACTER_X_BEARING | ETextRenderFlags::TEXT_RENDER_FLAG_NO_LAST_CHARACTER_ADVANCE);` what is this meant to do (in rendering directions in nameplate, i just left it in last time) 19:58 < bridge> no, i was running the k2dd fork of trashmap, in there it checks for localhost not 127.0.0.1 i believe 19:59 < bridge> i've tested both versions, i think my vps is just fucked somehow, i'll figure it out 20:00 < bridge> `TextRender()->SetRenderFlags(ETextRenderFlags::TEXT_RENDER_FLAG_NO_FIRST_CHARACTER_X_BEARING | ETextRenderFlags::TEXT_RENDER_FLAG_NO_LAST_CHARACTER_ADVANCE);` what is this meant to do (in rendering directions in nameplate, i just left it in last time) 20:00 < bridge> 20:00 < bridge> Wait how the frug does `This.Graphics()->TextureSet(g_pData->m_aImages[m_ImageId].m_Id);` not assert fail 20:01 < bridge> ``` 20:01 < bridge> Graphics()->TextureSet(g_pData->m_aImages[IMAGE_STRONGWEAK].m_Id); 20:01 < bridge> Graphics()->QuadsBegin(); 20:01 < bridge> ``` 20:01 < bridge> ehh??? 20:02 < bridge> ```cpp 20:02 < bridge> void CGraphics_Threaded::TextureSet(CTextureHandle TextureId) 20:02 < bridge> { 20:02 < bridge> dbg_assert(m_Drawing == 0, "called Graphics()->TextureSet within begin"); 20:02 < bridge> dbg_assert(!TextureId.IsValid() || m_vTextureIndices[TextureId.Id()] == -1, "Texture handle was not invalid, but also did not correlate to an existing texture."); 20:02 < bridge> m_State.m_Texture = TextureId.Id(); 20:02 < bridge> } 20:02 < bridge> ``` 20:02 < bridge> ``` 20:02 < bridge> void CGraphics_Threaded::QuadsBegin() 20:02 < bridge> { 20:02 < bridge> dbg_assert(m_Drawing == 0, "called Graphics()->QuadsBegin twice"); 20:02 < bridge> m_Drawing = DRAWING_QUADS; 20:02 < bridge> 20:02 < bridge> QuadsSetSubset(0, 0, 1, 1); 20:02 < bridge> QuadsSetRotation(0); 20:02 < bridge> SetColor(1, 1, 1, 1); 20:02 < bridge> } 20:02 < bridge> ``` 20:02 < bridge> Try to take screenshot with and without. Actually seems like those flags are only used for nameplates, so maybe we could get rid of them if they don't have a purpose anymore 20:03 < bridge> okey 20:09 < bridge> "WITHIN" 20:11 < bridge> with flags 20:11 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1333514760448114749/image.png?ex=67992be6&is=6797da66&hm=5b9f7e7010054cfa28854026daba64b8fd7a79e94174284fac34642d9dd6c9df& 20:12 < bridge> oh wait 20:12 < bridge> its not related to directions at all 20:12 < bridge> yeah it do nothing x-x 20:12 < bridge> It's only for text rendering 20:12 < bridge> Probably very small difference so you'd have to send two fullscreen screenshots to compare side-by-side 20:14 < bridge> `-pGlyph->m_OffsetX` to first char `-Advance + BearingX + CharWidth` 20:14 < bridge> oke doke 20:16 < bridge> `-pGlyph->m_OffsetX` to first char `-Advance + BearingX + CharWidth` to last char 20:19 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1333516833726402640/image.png?ex=67992dd4&is=6797dc54&hm=92ad6d88b51bc969c5fbb2eed29e7fbb87b5387356923aa7bcca9d314f79cb8d& 20:19 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1333516834049097849/image.png?ex=67992dd4&is=6797dc54&hm=f0cbd524114f9fbd093da55a293216406440d376aa2b5c43bbc746b9421fa1cf& 20:20 < bridge> ||the second one has flags removed|| 20:21 < bridge> I can't tell if there's a difference with the screenshots having different sizes and not the same contents 20:21 < bridge> fair 20:21 < bridge> uhh 20:21 < bridge> Try on a local server in exactly the same location 20:21 < bridge> And send uncropped screenshots 20:22 < bridge> https://github.com/ddnet/ddnet/commit/143985a68e774a03dcf9f8bcc52000a362ce42da 20:22 < bridge> it was added here 20:22 < bridge> for seemingly no reason 20:22 < bridge> That already contains the flags in the old version as well 20:23 < bridge> wdym 20:23 < bridge> oh crap 20:23 < bridge> it was moved 20:23 < bridge> lmao 20:25 < bridge> https://github.com/ddnet/ddnet/commit/619a33a7d53ea69a60c065c87d0ae2b65f4a8a09#diff-2df247c37322e22203c91873e17f82645ef6bc22437460f87160a31e310a2027R61 20:30 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1333519465530261556/image.png?ex=67993048&is=6797dec8&hm=669c7a91e97822bd5cf3316e47c253b194c93e22d841ac3f9db5c3463fc205f5& 20:30 < bridge> theyre the same picture 20:31 < bridge> @robyt3 20:31 < bridge> Can you send them separately? 20:32 < bridge> That way you can compare the position by switching between two tabs 20:32 < bridge> uhh ill cut it in h alf 20:32 < bridge> my prnt screen tool cant take a screenshot of 1 of my monitors at a time 20:33 < bridge> Maybe it only affects specific text or characters, or those flags become obsolete at some point 20:33 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1333520381306343464/image2x1.png?ex=67993122&is=6797dfa2&hm=fef867f1b2f0b15b6c0bf9cc80e087440e4feebc6a711ff4afb9a550be4f4a43& 20:33 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1333520400780624046/image1x1.png?ex=67993127&is=6797dfa7&hm=87b32d4fad785b3573ada303c79eb496b9f1dc4f97e1c4229a8dc70e78014f0c& 20:34 < bridge> minus the aniamtion and my mouse pos 20:34 < bridge> theyre the same image 20:34 < bridge> the text doesnt flicker at all 20:34 < bridge> Hmm, maybe causes problems with specific names, see https://github.com/ddnet/ddnet/pull/1420 20:34 < bridge> Hmm, maybe causes problems only with specific names, see https://github.com/ddnet/ddnet/pull/1420 20:35 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1333520725633405018/image.png?ex=67993174&is=6797dff4&hm=6069364e7f26105c3d429f982258e9adba7e3dc2412b2f41bb1153a763fd9732& 20:35 < bridge> 😭 20:35 < bridge> im using container width to center names 20:35 < bridge> thats how ure meant to do it right 20:35 < bridge> yeah, that's the most efficient way 20:36 < bridge> accurate? 20:36 < bridge> ¯\_(ツ)_/¯ 20:36 < bridge> It only lays out the text once and gets the size from that, so it shouldn't add any more error like the alternative (TextWidth to get the width, then layout again) 20:37 < bridge> Except due to pixel alignment maybe because text containers are layed out at position (0,0) but then rendered at the correct position 20:38 < bridge> does that make any difference 20:38 < bridge> sometimes thers flickering with names when moving 20:38 < bridge> theres flickering with names when moving 20:38 < bridge> yeah, that's the pixel alignment 20:39 < bridge> don't know if setting the flag for no pixel alignment would make it better or worse 20:39 < bridge> would it be worth with antialiasing 20:39 < bridge> mmk 20:39 < bridge> we need a different text rendering approach for that 20:39 < bridge> it doesnt obther me unless i stare at it 20:39 < bridge> why cant u disable pixel alignment always 20:40 < bridge> or rather what benefit does it give 20:40 < bridge> btw it's called `TEXT_RENDER_FLAG_NO_PIXEL_ALIGMENT` :kek: 20:40 < bridge> makes sense 20:40 < bridge> except the last word 🙂 20:41 < bridge> oh 20:41 < bridge> I wondered why I didn't find it with text search 20:41 < bridge> if u dont have antialiasing on then ... what happens 20:42 < bridge> I don't know, try it out. I suspect it will look off because letters have inconsistent spacing between each other 20:42 < bridge> kerning go brr 20:42 < bridge> antialising = nearest => 2x2 or more 20:42 < bridge> that might flicker /shrug 20:42 < bridge> wait why does ur name even change position 20:43 < bridge> shouldnt it always be centered 20:43 < bridge> yeah, but it wants to be aligned with a full pixel I guess 20:43 < bridge> but should it not pick the same one every time 20:44 < bridge> maybe for your own nameplate if it had special handling 20:44 < bridge> I guess it depends on the tee's position a bit 20:44 < bridge> camera = tee position 20:44 < bridge> floating pt error moving it about 0.5 mayb e 20:44 < bridge> no a - a == 0 even in floating point 20:45 < bridge> oh but (a - b) - a != -b 20:45 < bridge> looks... normal but no flickering 20:46 < bridge> no fsaa samples 20:46 < bridge> turned on 20:46 < bridge> but then why no flickering 20:46 < bridge> unless texture lookups are always aliased 20:47 < bridge> in which case you get no performance benefit from no pixel alignement or not 20:47 < bridge> since you are doing 4 lookups per pixel anyway 20:47 < bridge> or not idk how it works 20:47 < bridge> Pixel alignment is most useful on low resolutions as far as I understand it 20:47 < bridge> `a*1 + b*0 + c*0d+ d*0` 20:47 < bridge> `a*1 + b*0 + c*0d + d*0` 20:48 < bridge> guys i finished a map twice cuz the rank didnt save 20:48 < bridge> If you disable pixel alignment in general it looks really blurry 20:48 < bridge> and again it didnt got saved 20:48 < bridge> a full pixel flickering is worse than color flickering 20:48 < bridge> and the text is already blurry 20:48 < bridge> Wait for 24 hours, open admin mail if it's still not added then 20:49 < bridge> ok 20:49 < bridge> ty 20:49 < bridge> it apperas changing the resolution thru ddnet broke my monitor /: 20:49 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1333524242498584637/image.png?ex=679934bb&is=6797e33b&hm=b1f121176aee60a7ac3e0e5f769d4413a521eba1231b82cd1a7e4542d1da6f16& 20:49 < bridge> no status bar on 2nd monitor xd 20:49 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1333524314800001024/image.png?ex=679934cc&is=6797e34c&hm=18c88e13cf64fcd9675832bee7fb81bfeacdac3008b8e17861580fac5e2250f5& 20:52 < bridge> no alignment 20:52 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1333524933678076005/image.png?ex=6799355f&is=6797e3df&hm=64fbba5ff191db5330066bbc4237e0fd678777325b861481a0e2dd152e288ff8& 20:52 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1333524934592299129/image.png?ex=67993560&is=6797e3e0&hm=f5b8e430f47568aefadbe1b7d3dbea27bfa1db63a410b8968b3118f588068f7d& 20:52 < bridge> no alignment in second one 20:52 < bridge> the flickering is very noticeable 20:52 < bridge> i say atleast for this keep it on 21:29 < bridge> 😬 21:35 < bridge> yeah it does sometimes xd 21:47 < bridge> gosh my rustc is annoying - it builds fine, clippy doesnt find anything, it's included properly but yet this error doesnt go away. 21:47 < bridge> 21:47 < bridge> @avolicious i blame zed editor for that btw 21:47 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1333538959745089556/image.png?ex=6799426f&is=6797f0ef&hm=c6298d8af9446ca2148482953c1caf76c1eb78f5d2cf256b2b96cb4469ce19d3& 21:51 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1333539974276055050/image.png?ex=67994361&is=6797f1e1&hm=1c54e7c949901deb8e5279f81adda2f67fd1e9dd9ad91ac84c6939eee84ba62a& 21:52 < bridge> /: 21:52 < bridge> idk 21:52 < bridge> :deen_star: 21:53 < bridge> lel 21:53 < bridge> yay 21:53 < bridge> i dont get it :c 21:53 < bridge> i blame proc macros 21:53 < bridge> maybe that too 21:53 < bridge> try to restart the editor 21:53 < bridge> why dum dum red and bun bun blu 21:53 < bridge> fng 21:54 < bridge> proc macros is the best and the worst thing ever created 21:54 < bridge> - restart didnt help 21:54 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1333540623105658890/image.png?ex=679943fc&is=6797f27c&hm=c566e9c7e0af4754dc9277229af9d3e85bed2b69e23bdb11ac3e947f2e8de583& 21:54 < bridge> what iiiz thiiiiiiiiiiz 21:54 < bridge> but i hate writing them from scratch 21:54 < bridge> proc macros are all i ever wanted in any lang 21:54 < bridge> patch the compiler 21:54 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1333540686376599575/image.png?ex=6799440b&is=6797f28b&hm=c3d10b8f8d616e11e16419abccafde9672340c99447ccb7f85cbf53bc15208e0& 21:54 < bridge> wait whats this icon 21:54 < bridge> or is that text 21:54 < bridge> rip 21:54 < bridge> the heart? text 21:54 < bridge> proc macros are amazing but also ez abuse 21:54 < bridge> cargo clean 21:54 < bridge> iirc 21:54 < bridge> and restart 21:54 < bridge> anyway proc macros made serde 21:54 < bridge> serde is amazing magic 21:55 < bridge> tsumagi is wanting heart icons, do i change it everywhere else? 21:55 < bridge> proc macros made hiarc 21:55 < bridge> amazing magic 21:55 < bridge> github? 21:55 < bridge> i still couldnt figure out how to integrate into my teeworlds protocol library 21:55 < bridge> skill issue ikr 21:55 < bridge> https://github.com/ddnet/ddnet-rs 21:55 < bridge> not sure - any profit from that? 21:56 < bridge> consistency 21:56 < bridge> other than ig having it in .svg and having it look actually good 21:56 < bridge> other than ig having it an .svg and having it look actually good 21:56 < bridge> dont really have docs for it, but it allows to use Rc> without panics 21:56 < bridge> text heart is already svg 21:56 < bridge> no hiarc crate?= 21:56 < bridge> o 21:56 < bridge> in lib 21:56 < bridge> cuz fonts 21:56 < bridge> but in game its rendered at low quality 21:56 < bridge> maybe some day xd 21:56 < bridge> how tf did cargo clean `fix` that just now 21:56 < bridge> gosh i cant with these language tweaks 21:57 < bridge> it simply cleans all build stuff and regenerates it 21:57 < bridge> did u by chance change any proc macro code? 21:57 < bridge> sometimes it breaks by that 21:57 < bridge> ye 21:57 < bridge> ah i guess it was that then.. weird 21:58 < bridge> vscodium has a rebuild proc macros thing 21:58 < bridge> from rust analyzer 21:58 < bridge> dunno if u can call that too 21:58 < bridge> that fixes it too 21:58 < bridge> ok nvm they removed it 21:58 < bridge> lel 21:58 < bridge> xd 22:30 < bridge> Has anyone successfully built and used the Discord integration with MSYS2 on Windows? It builds and initializes correctly for me but it doesn't show the activity in Discord. Using the Steam version works. 22:35 < bridge> Sometimes it's discord being weird 22:35 < bridge> Discord has special detection for steam games in the steam folder 22:37 < bridge> Thanks, looks like it works if I replace the exe in the Steam folder 23:06 < bridge> seems like rus2 just crashed 23:07 < bridge> like straight up crashed and got forced to another map 23:29 < bridge> chiller level up 23:29 < bridge> faith +1