00:23 < bridge> <_gwendal> fucking mutexs :ouch: 00:57 < bridge> well that’s not a C thing 00:57 < bridge> it’s a fundamental multithreading thing 00:57 < bridge> you can write code to avoid the use of locks/mutexes 01:01 < bridge> `rayon` makes that easy in rust 🙂 03:13 < bridge> That is also just one button click 04:28 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1240491143490441317/image.png?ex=6646c0e7&is=66456f67&hm=4abe7408bbfa637705ee8595558f31d67db393a37c574245427a32547a32fa2d& 04:29 < bridge> attempt #1 of a vae ddnet map generator 😭 04:30 < bridge> diffusion approach would probably be smarter 07:48 < bridge> look epic tho 07:48 < bridge> looks epic tho 09:14 < bridge> perhaps https://en.wikipedia.org/wiki/Variational_autoencoder 09:30 < bridge> What kinds of maps are you trying to make? 10:45 < bridge> it's a little annoying how common `curl | sh` installers have become instead of shipping a proper package. I keep having to audit scripts 10:49 < bridge> Packaging is pain, so people tend to ship their installers this way 😄 10:49 < bridge> It just works 10:49 < bridge> It just works (mostly) 10:50 < bridge> It works very well but it sends shivers down experienced peoples spines 😄 10:50 < bridge> I may have made a typo in the url, someone may have sent me a malicious url to the thing I'm downloading 10:51 < bridge> The thing might be sending a different script depending on the user agent, so if I fetch it with firefox I get a nice clean script, but when curl does it it's not clean 10:51 < bridge> Thats why some installers already provide: `curl -sL URL | sha256sum` 10:51 < bridge> they give you the proper instruction with the already filled in sha checksum. Or you can get it from the latest release 10:52 < bridge> that's not so important in my threat model. I'm going to run these people's software anyway 10:52 < bridge> I've actually not found a thing that didn't have an AUR package 10:52 < bridge> I've actually not found a thing that didn't have at least an AUR package 10:52 < bridge> I meant the malicious website I ended up on due to my mistake or a malicious link 10:53 < bridge> ah. but then a .tar.gz would not be better than the `curl | sh` 10:53 < bridge> I would rather they package normally like we've been doing for what now 3 decades? 10:54 < bridge> I always fetch the script, inspect it, then run it with sh myself 10:54 < bridge> what's "normally" here? 10:54 < bridge> if it's in the original repos, yea, I agree, that's better 10:54 < bridge> Go through the proper channels, put it in the repos 10:55 < bridge> everything else seems roughly equivalent to me 10:55 < bridge> (i.e. I don't find `curl | sh` to be worth complaining about more than providing a direct binary download) 10:56 < bridge> I guess the problem comes from the fact that people want to use debian but also want to use up-to-date software for some reasaon 11:09 < bridge> https://graydon2.dreamwidth.org/312681.html 11:10 < bridge> > rust's avoidance of shared mutable state has deep consequences; when we formally verify programs in Rust we can use FOL and avoid separation logic since the type system protects us from mutable aliasing, while this is not true in caml despite being 'functional' 11:10 < bridge> > — xavxav (@xldenis) May 14, 2024 11:12 < bridge> https://ntietz.com/blog/the-only-two-log-levels-you-need-are-info-and-error 12:29 < zuhaitz> Hi. 12:30 < zuhaitz> I have 101% CPU ussage in DDNET Steam, GNU Linux Ubuntu 24.04 (also happened in 22.04), GNOME Shell. Intel i7-10750H (12) @ 5.000GHz NVIDIA GeForce RTX 3060 Mobile 12:31 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1240612485791219712/1516234556.png?ex=664731ea&is=6645e06a&hm=5e7716817766cd13089896a31602d7b374d2041eeb28d22f1c20ea638846cc5d& 12:31 < bridge> @learath2 12:31 < bridge> I was just about to send you this yesterday, then I got into an argument with someone, then I forgor 12:31 < bridge> xd 12:31 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1240612656730079282/Screenshot_2024-04-27-11-42-47-959.png?ex=66473212&is=6645e092&hm=bee37102ff0514eb7cd0b8fd580cd1d9eaaf8ce385d0f0b8c5a2974e0d1336a3& 12:32 < bridge> That's literally how I imagine ryo 12:32 < bridge> lol no 12:32 < bridge> You don't understand ryo at all 12:32 < bridge> im a gym bro 12:32 < bridge> Yeah, he is big buff manly man, no programmer socks, no cat ears 12:33 < bridge> ok not that buff yet 12:33 < bridge> shh 12:33 < bridge> but getting there 12:33 < bridge> Would be funnier if he did both XD 12:33 < bridge> lmao 12:33 < bridge> Now that would be hilarious 12:33 < bridge> i would love some rust socks tho 12:33 < bridge> my birthday is on the 29th 12:33 < bridge> :justatest: 12:34 < bridge> Haha do cat ears and socks video on the Himalayas while playing tw and send it to chillerdragon for tw in 2024 12:34 < zuhaitz> I have 101% CPU ussage in DDNET Steam, GNU Linux Ubuntu 24.04 (also happened in 22.04), GNOME Shell. Intel i7-10750H (12) @ 5.000GHz NVIDIA GeForce RTX 3060 Mobile 12:34 < bridge> u know 101% means just 1 core is used 12:34 < bridge> Is it with the default settings? 12:34 < bridge> and why u spam this 12:35 < bridge> Limit your fps in the graphics settings. That should only affect gpu but still 12:35 < bridge> i also have 24000% cpu usage while compiling 12:35 < bridge> i also have 2400% cpu usage while compiling 12:35 < bridge> :justatest: 12:35 < bridge> ok maybe gnome cpu thing 100% means 100 xD 12:35 < bridge> j$(nproc) xd ofc you're gonna use everything 12:35 < bridge> htop goes over 100% for one core for me sometimes 12:36 < bridge> but probs not cuz ddnet doesnt use all cores 12:36 < bridge> When I'm compiling 12:36 < bridge> ofc 12:36 < bridge> I don't know how or why it gets that number 12:36 < bridge> boost 12:36 < bridge> I mean, in the display at the top with the usage for each core 12:36 < bridge> turbo maybe 12:36 < bridge> idk 12:42 < bridge> that is good, one core should be maxed out for max fps 12:47 < zuhaitz> I have 101% CPU ussage in DDNET Steam, GNU Linux Ubuntu 24.04 (also happened in 22.04), GNOME Shell. Intel i7-10750H (12) @ 5.000GHz NVIDIA GeForce RTX 3060 Mobile 12:47 <@heinrich5991> zuhaitz: please stop spamming 12:47 < zuhaitz> heinrich5991: spamming? 12:47 < bridge> and? this is good for ur performance if one core is maxed out 12:47 < zuhaitz> heinrich5991: bridge is writing 100 lines in a minute and I am spamming? xD 12:48 <@heinrich5991> zuhaitz: yes, you posted the same message three times already 12:48 < zuhaitz> heinrich5991: And bridge wrote 100 lines per minute. 12:48 <@heinrich5991> the bridge is bridging this channel to discord 12:48 < zuhaitz> I will ignore you, every community have toxic people inside. 12:48 < zuhaitz> 12:48 Ignoring ALL from heinrich5991 12:48 < zuhaitz> Done. 12:49 <+bridge> Dude Just Marked the Admin as toxic 12:49 <+bridge> Ggwp 12:50 <+bridge> Damn, I thought I fixed that. And it breaks again. Why? I even finished a solo map last night 12:51 <+bridge> Still crash without log 12:53 <+bridge> The record is still there but the client crash without any changed settings 12:53 <+bridge> https://cdn.discordapp.com/attachments/293493549758939136/1240618148323921960/image.png?ex=66473730&is=6645e5b0&hm=4b3f9f038b61c32d52cb91d935f72841735d356da07dc47c325d6d5858da5d7a& 12:55 <+bridge> bridge is spamming xddd 12:55 <+bridge> Nightly is not working, nor 17&18. But 15.4 is still working 12:56 <+bridge> This is so weird and I do not have any log to debug 12:59 <+bridge> lmao youtube 12:59 <+bridge> https://cdn.discordapp.com/attachments/293493549758939136/1240619526194724894/image.png?ex=66473878&is=6645e6f8&hm=ebad94d5c1c29a0cd0c69dada34d4390698b33b54ac9af86b57e65072bbc286f& 12:59 <+bridge> lmao on youtube 12:59 <+bridge> https://cdn.discordapp.com/attachments/293493549758939136/1240619526194724894/image.png?ex=66473878&is=6645e6f8&hm=ebad94d5c1c29a0cd0c69dada34d4390698b33b54ac9af86b57e65072bbc286f& 13:52 <+bridge> LOL 13:52 <+bridge> not the truenas thing, the guy ignoring heinrich 13:53 <+bridge> Can someone go to irc and tell him that the bridge was trying to help him 13:53 <+bridge> (I kicked them and set the channel +m, having no ability to communicate with them anymore) 13:53 <+bridge> (resulting in insults via DM, obviously) 14:07 <+bridge> 14:06 Ignoring ALL from heinrich5991 14:07 <+bridge> Done. 16:05 <+bridge> Does someone know if there is a way to keep seing someone's time after putting them into spectator? Withouth modifying client code. 16:05 <+bridge> 16:05 <+bridge> With normal behaviour the names go under the "spectator" category but I would like to avoid that, is it possible? 16:06 <+bridge> as player? 16:06 <+bridge> isnt there '/time ' 16:06 <+bridge> sry, I meant to see their times whent tabbing 16:07 <+bridge> what you basically want is to remove the "spectator" tab and just keep everyone listed in the scoreboard? - i dont see why not 16:07 <+bridge> what you basically want is to remove/disable the "spectator" tab and just keep everyone listed in the scoreboard? - i dont see why not 16:07 <+bridge> Ig yeah, can I do that server side? 16:08 <+bridge> For everyone else, you can 16:08 <+bridge> For the person in spec, you can't 16:09 <+bridge> you can use another client that has verbose spec tab 16:09 <+bridge> What does that mean? 16:09 <+bridge> That basically I can't see the time of someone who is spectating? 16:09 <+bridge> You can just snap the spec'd tee somewhere far far away 16:10 <+bridge> For everyone else, if you snap it as if they are still ingame, it should show up in scoreboard 16:10 <+bridge> But you cant do the same thing for the tee thats in spec himself. He has to be really in spec to have freeview 16:11 <+bridge> Atleast that's how I remember that piece of code 16:12 <+bridge> we should maybe implement a proper spec-while-playing mode 16:12 <+bridge> where we don't have to tell the client that they're spectating 16:12 <+bridge> Well we don't have a use for it but if you can imagine some uses for it we can consider it 16:12 <+bridge> but rather the client informs the server that it's currently interested in seeing the following x,y,width,height rect 16:13 <+bridge> better user experience by not requiring a roundtrip for starting the spec-while-playing 16:13 <+bridge> ("/pause") 16:13 <+bridge> Hm, is it not seamless now UX wise? It's just protocolwise a little hacky 16:14 <+bridge> But we definitely can streamline it, we define the protocol 16:18 <+bridge> not seamless currently 16:18 <+bridge> we wait for the server to tell us that we're spectating 16:19 <+bridge> Ah, that can arrive pretty slow depending on ping 16:19 <+bridge> Yeah, that might be a valuable thing to add 16:19 <+bridge> (and it would also make the protocol better ^^) 16:28 <+bridge> @heinrich5991 what are you up to nowadays btw? Do you work? 16:28 <+bridge> yes 16:29 <+bridge> the rest is probably "prefer not to state in a public channel" 16:29 <+bridge> Ah, cool. A friend asked me and I was like hm, I think he is still doing something academia 16:35 <+bridge> @learath2 does ur friend ask about us here 16:35 <+bridge> :KannaSip: 16:35 <+bridge> Not that one. Another one does ask me why on earth your company does anything related to compilers at all 😄 16:37 <+bridge> That one doesn't understand anything about what we do here either. It baffles him that we are spending time contributing to something that we refuse to monetize 16:44 <+bridge> Oh I found a cute rust crate https://crates.io/crates/o2o 16:45 <+bridge> opt-in structural typing? 16:48 <+bridge> I don't think I've heard of this term before "structural typing" 16:49 <+bridge> Ah, yep sounds like it 16:49 <+bridge> Yeah, at my new job I'm mapping lots of structs to eachother. I use lots of reflection for it. Was curious how one would solve a similar problem in Rust 16:51 <+bridge> what kind of job do you have? 17:02 <+bridge> just reinstall windows at this point, no way it's so broken 17:04 <+bridge> Backend engineering. I'm both helping design and implementing a new backend. We interact with a lot of external apis and we have internal ones, structs with many fields that need to be mapped to eachother 17:05 <+bridge> hi which lang do u use 17:05 <+bridge> Go. Can't use the original ones from the external apis because they need to be normalised (naming typing) and we don't want our internal api to rely on an externality 17:06 <+bridge> epyc 17:06 <+bridge> do u like it? 17:06 <+bridge> the language and the job 17:07 <+bridge> Mh, the language I'm kinda enjoying. I did miss having a nice to work with gc language. The job is a little mundane imo, nothing novel, just lots of plumbing work as I like to call it 17:07 <+bridge> are you at least rich now? 17:07 <+bridge> richer than rich 17:07 <+bridge> Go is very much C like but has the niceties of a modern language and a gc to help write decently performing code quickly 17:08 <+bridge> They pay me almost nothing as I'm technically an intern 😄 17:08 <+bridge> rip 17:08 <+bridge> Honestly they are getting an amazing deal. Below minimum wage intern doing the work of an entire developer 17:08 <+bridge> classic 17:09 <+bridge> Tbf I don't think they expect straight out of uni interns to be of any use normally. Which is what my cv looks like 17:10 <+bridge> but normally after uni u get paid properly 17:10 <+bridge> i've never heard of doing interns after uni 17:10 <+bridge> u do interns during uni already 17:10 <+bridge> was gonna say, you expect to be paid a "normal" salary atleast after uni 17:10 <+bridge> When you do none during uni like myself you have to settle for whatever 17:10 <+bridge> meh atleast you get experience and can build up your cv a bit 17:11 <+bridge> on my uni it was part of the modules already 17:11 <+bridge> u couldn't not do interns xd 17:11 <+bridge> Perhaps I could find something better if I looked more carefully. But finding someone to take a leap on you. With an empty cv is not that easy 17:11 <+bridge> At my uni it's either 2 electives or an internship. I did 2 electives 17:11 <+bridge> german uni go stronk 17:11 <+bridge> Yeah, tbh it doesn't matter.. just don't do an intern for 2 months+ 17:12 <+bridge> at some point they either hire u or you leave 17:12 <+bridge> or it's open source 😏 17:12 <+bridge> Yeah, I'm doing 3 months and they have already indicated that they might be interested in hiring me but idk. The job might be a little mundane for my taste 17:13 <+bridge> If they offer a stupid good salary, I'll take it but I doubt it. So I'll look for something else next 17:13 <+bridge> are they amazed of u? 17:13 <+bridge> my first employer for the internship was 17:13 <+bridge> as i built their entire app 17:14 <+bridge> which they failed to market 17:14 <+bridge> but i did my job 17:14 <+bridge> Idk, he did indicate that he expected me to not be capable at all 😄 17:14 <+bridge> they offered me part time 4h day for like 500 month iirc 17:14 <+bridge> now im at 2600 kek 17:16 <+bridge> from my experience, every place i ever applied to, immediatly offered to hire me simply because i seemed "interested in working with the company" 17:16 <+bridge> I've been eyeing think-cell to apply to. They seem to have a really interesting job and they are pretty much always hiring more C++ devs 17:16 <+bridge> from my experience, every place i ever applied to, immediatly offered to hire me simply because i seemed "interested in working with the company" - and its not like i'm that good at what i do - its just that i am trying to fit in :D 17:16 <+bridge> Their product itself seems meh, but the work they have to do and how low level they go is right up my alley 17:18 <+bridge> after 1 months latest you should ask for a job 17:18 <+bridge> 3 months is redicilous 17:18 <+bridge> u talked here every other day about capitalism is shit and now you let yourself to be abused so heavily 17:18 <+bridge> I'm a person of integrity. I said I'll do 3 months. I'll do 3 months 17:18 <+bridge> but they are not persons of integrity 17:18 <+bridge> you usually ask for the job the second they dont need a second guy overlooking what you do - the second you're capable of working alone you should be paid for what you give :D 17:18 <+bridge> they say they hire, they wont 17:18 <+bridge> It's not abuse as I see it though. I get a CV entry and some pocket money for work that lets me do lots of learning on the job 17:18 <+bridge> u have a finished uni cert 17:18 <+bridge> u should get at least 2.5k € netto 17:19 <+bridge> If they say they hire, they have to 17:19 <+bridge> only if it's on paper 17:20 <+bridge> There is one more aspect of this that I won't talk about. But they do have to hire me if they say they will 17:20 <+bridge> there are verbal contracts, but the second they give you an exact number of pay - you should request to get that on paper 17:20 <+bridge> i'd very seriously not trust that 17:20 <+bridge> u underestimate how greedy these ppl can be 17:21 <+bridge> sure there are also good ones 17:21 <+bridge> Heh, I wish it was that easy. I did think it was that easy 17:21 <+bridge> but some would take it very far 17:21 <+bridge> when i finished my apprenticeship as a **inhales** precision mechanic mechanical engineer i had an entry pay of 2.8K netto 17:21 <+bridge> when i finished my apprenticeship as a **inhales** precision mechanic mechanical engineer i had an entry pay of 2.8K netto, and the apprenticeship was disappointingly easy 17:22 <+bridge> when i finished my apprenticeship as a **inhales** precision mechanic in mechanical engineering i had an entry pay of 2.8K netto, and the apprenticeship was disappointingly easy 17:22 <+bridge> Anyway. I'm not exactly worried about finding something else. I just want to find something I enjoy a little more 17:22 <+bridge> well always depends on the current market. but as dev it should be rather ez 17:22 <+bridge> Until then I can do this internship and relax 17:22 <+bridge> sure 17:22 <+bridge> the good thing about interns is u can take them very unserious 17:22 <+bridge> if u dont plan to stay 17:22 <+bridge> or serious - depending on if you're interesting in staying 17:22 <+bridge> or serious - depending on if you're interested in staying 17:22 <+bridge> I don't really half ass anything tbf. It's a personality defect of mine 17:23 <+bridge> I'll rewrite it 8 times if need be. It'll be done properly or not done. It's not an amazing trait in a professional setting 17:25 <+bridge> It's also the reason the sixup patch still bothers me to this day 17:26 <+bridge> that is part of a different problem 17:26 <+bridge> supporting smth dead 17:26 <+bridge> yea sometimes that's very annoying. like if someone writes bad code and you know you could do it better but you're not *allowed* to or it would just confuse the other person and you don't have enough stamina to explain to them why it is bad what they are doing and how they can do it better. it's very frustrating 17:26 <+bridge> That aswell, but it was during that random burst of activity in vanilla, so I wasn't thinking of that back when I implemented it 17:27 <+bridge> The way we hooked in everywhere is definitely what annoyed me 😄 17:27 <+bridge> I did atleast get to properly decode the game messages, so I'm happy about that part 17:29 <+bridge> My very first commit was like 500 lines of just cleaning stuff up 😄 working in a dirty codebase also bothers me 17:36 <+bridge> i'm just using the entire ddnet map database 18:16 <+bridge> c++ is dirty thats why so many rust rewrite is exist /s :gigachad: 18:17 <+bridge> tbh companies want a balance of good code and get things done mindset I guess 18:18 <+bridge> so u cant always do it perfect due to time 18:27 <+bridge> Exactly, so I'm not a great candidate to be an employee 18:57 <+bridge> you can still be a public servant or a soldier 😛 18:57 <+bridge> the university degree just to end up like that 18:57 <+bridge> brutal 18:57 <+bridge> and I don't want the university that door is closed to me always 18:58 <+bridge> brutal 18:58 <+bridge> and if don't want the university that door is closed to me always 21:07 <+bridge> ``` 21:07 <+bridge> warning: `C:\Users\Anwender\.cargo\config` is deprecated in favor of `config.toml` 21:07 <+bridge> note: if you need to support cargo 1.38 or earlier, you can symlink `config` to `config.toml` 21:07 <+bridge> warning: `C:\Users\Anwender\.cargo\config` is deprecated in favor of `config.toml` 21:07 <+bridge> note: if you need to support cargo 1.38 or earlier, you can symlink `config` to `config.toml` 21:07 <+bridge> ``` 21:07 <+bridge> 21:07 <+bridge> rust nightly scary 21:26 <+bridge> Hi Anwender 21:26 <+bridge> how r u 21:30 <+bridge> hi answender 22:20 <+bridge> why when i use LinesDraw for draw a line in my code, just i can saw the line if i dont have entities 22:20 <+bridge> help 22:21 <+bridge> why when i use LinesDraw for draw a line in my code, just i can saw the line if i dont have turned entities 22:21 <+bridge> what method to make them? 22:27 <+bridge> did u forget to map screen properly? 22:27 <+bridge> 22:27 <+bridge> also screenshots would help 22:28 <+bridge> hm? 22:28 <+bridge> im quite a novice the architecture is VAE based 22:28 <+bridge> Mapscreentoinferface? 22:28 <+bridge> this? https://en.wikipedia.org/wiki/Variational_autoencoder 22:28 <+bridge> pretty basic vae with conv and convtranspose layers 22:28 <+bridge> Mapscreentointerface? 22:28 <+bridge> yes 22:28 <+bridge> yes 22:28 <+bridge> yes 22:28 <+bridge> i have it 22:29 <+bridge> quite poor performance with basic architecture, i might work a bit on this over summer 22:29 <+bridge> and maybe try different methods (looking at a gan mainly) 22:30 <+bridge> is diffusion too expensive to train? 22:30 <+bridge> could try that too but i'm not too knowledgeable 22:31 <+bridge> the data isn't huge so idt compute would be much of an issue 22:31 <+bridge> yeah 22:31 <+bridge> honestly using heinrich map database is probably a better idea 22:31 <+bridge> I would think diffusion would be a good choice 22:31 <+bridge> since you can get complex structure 22:32 <+bridge> can u show a screenshot of the line that works? 22:32 <+bridge> yeah i was thinking that earlier as well. i'll probably give it a shot 22:32 <+bridge> probably you don't texture clear 22:33 <+bridge> i have 22:33 <+bridge> i use this ```cpp 22:33 <+bridge> void Avoid::DrawLine(vec2 pos1, vec2 pos2, ColorRGBA color) 22:33 <+bridge> { 22:33 <+bridge> Graphics()->TextureClear(); 22:33 <+bridge> RenderTools()->MapScreenToInterface(m_pClient->m_Camera.m_Center.x, m_pClient->m_Camera.m_Center.y,m_pClient->m_Camera.m_Zoom); 22:33 <+bridge> Graphics()->LinesBegin(); 22:33 <+bridge> const IGraphics::CLineItem LineItem(pos1.x, pos1.y, pos2.x, pos2.y); 22:33 <+bridge> Graphics()->SetColor(color); 22:33 <+bridge> Graphics()->LinesDraw(&LineItem, 1); 22:33 <+bridge> Graphics()->LinesEnd(); 22:33 <+bridge> }``` 22:33 <+bridge> idk 22:34 <+bridge> i just can see the line if i use cl_overlay_entities 100 22:34 <+bridge> screenshot 22:35 <+bridge> https://cdn.discordapp.com/attachments/293493549758939136/1240764626023612508/screenshot_2024-05-16_16-35-13.png?ex=6647bf9b&is=66466e1b&hm=f34a40520810dfb87dde7e7a929ade0dfd5f474024f08ac76fe9e5ee49e22b44& 22:35 <+bridge> `MapScreenToInterface` seems to be for GUI code tho 22:37 <+bridge> 22:37 <+bridge> `MapScreenToGroup` would be for ingame 22:37 <+bridge> ah 22:37 <+bridge> and one where it's working? 22:37 <+bridge> i want to see how it looks like potentially 22:37 <+bridge> ah 22:37 <+bridge> https://cdn.discordapp.com/attachments/293493549758939136/1240765068296196258/screenshot_2024-05-16_16-37-17.png?ex=6647c004&is=66466e84&hm=45a4991a8e23721bb12d617c011509b18e31d810cce3d29128a41871f78447ba& 22:38 <+bridge> do you call your code in players.cpp? 22:38 <+bridge> a 22:40 <+bridge> nop xD 22:40 <+bridge> i think ur stuff is rendered 22:40 <+bridge> but behind the background 22:40 <+bridge> my guess 22:40 <+bridge> eyyy 22:40 <+bridge> now works 22:40 <+bridge> thxxx 22:40 <+bridge> https://cdn.discordapp.com/attachments/293493549758939136/1240765636599222312/screenshot_2024-05-16_16-39-30.png?ex=6647c08c&is=66466f0c&hm=d46fa8f08c561b54022176a89766b4a85ce67229f8c1b0c73cd76e1770a2f317& 22:41 <+bridge> :think_bot: 22:47 <+bridge> hahaha 22:52 <+bridge> @jupeyy_keks casually helping making bots lmao 22:53 <+bridge> let's guess what the `Avoid` class could be doing :troll: 22:54 <+bridge> well the tee hitbox is defs no quad :lol: 22:54 <+bridge> maybe i should stop helping 22:54 <+bridge> 🤣 23:02 <+bridge> :kek: :kek: :kek: 23:05 <+bridge> xD 23:13 <+bridge> good afternoon 23:18 <+bridge> yoo 23:38 <+bridge> Working on something useful 🙂 23:38 <+bridge> https://cdn.discordapp.com/attachments/293493549758939136/1240780341908869140/SimpleDDNetAutomapper.PNG?ex=6647ce3e&is=66467cbe&hm=797f0d6ffb90ac689e0edd13e0a579d427eb62a87ff52c24ca145ba3f7ab2387& 23:40 <+bridge> seems to be really useful :poggers: