00:10 < bridge> could u add some anti-jitter for when on top of/walking into lasers 00:38 < bridge> door prediction has been on the schedule for a while now 00:48 < bridge> how to create the ```c++ 00:48 < bridge> void CGameContext::CreatePlayerSpawn(vec2 Pos, int64_t Mask) 00:48 < bridge> ```` 00:48 < bridge> without sound ? 00:48 < bridge> how to create the ```c++ 00:48 < bridge> void CGameContext::CreatePlayerSpawn(vec2 Pos, int64_t Mask) 00:48 < bridge> ``` 00:48 < bridge> without sound ? 00:49 < bridge> (i want the particle effect) 07:48 < bridge> If sendsound isn't called in that function then it is client side 07:53 < bridge> ❤️ 07:54 < bridge> For some reason I see a rise in new devs coding own little mods. So cool :) 07:55 < bridge> cant, client creates sound when it receives this thing 08:25 < bridge> Why maximal speed in ddnet 75 block in second? 08:38 < bridge> ay 08:50 < bridge> That's 270km/h . Faster than most racing games 08:59 < bridge> https://tenor.com/view/pedro-monkey-puppet-meme-awkward-gif-15268759 08:59 < bridge> What, but they aren‘t played that much are they? 08:59 < bridge> I'm not sure, but its cool anyways 08:59 < bridge> Its growth in the community 09:00 < bridge> I played teeware, it‘s really fun. 09:04 < bridge> Yea, its cool 09:12 < bridge> Please give me a link to download teewars 1.0 13:03 < bridge> <<~{Barsik}~>> https://downloads.teeworlds.com/teewars/ 13:03 < bridge> <<~{Barsik}~>> https://downloads.teeworlds.com/old_releases/ 15:26 < bridge> is it safe to cast a `int x[32]` to `unsigned char *` ? 15:26 < bridge> yes 15:27 < bridge> everything is safe to cast to `unsigned char *` 15:27 < bridge> hmm i see 15:27 < bridge> and will the sizeof(x) work 15:27 < bridge> for that unsigned char*? 15:27 < bridge> `func(const unsigned char*pBuf, size_t BufLen)` 15:28 < bridge> `func((unsigned char *)x, sizeof(x))` 15:28 < bridge> ? 15:28 < bridge> xd 15:28 < bridge> my c++ is now rusty 15:28 < bridge> hehe pun intended 15:29 < bridge> If x is the original data type. It works 15:30 < bridge> The cast happens in place and not for the original variable 15:31 < bridge> x is a int[32] 15:31 < bridge> a array with a known size 15:31 < bridge> array decay sux 15:31 < bridge> std::array best 15:31 < bridge> its like c++ loves to lose info 15:31 < bridge> Then it will give u the size of the full array 15:32 < bridge> Same for std array 15:32 < bridge> meh my problem is that the print looks like overruns 15:32 < bridge> but in another place it doesnt happen xd 15:32 < bridge> In bytes 15:32 < bridge> Std::size for element count 15:33 < bridge> std::size fixed it 15:33 < bridge> sizeof is evil 15:34 < bridge> size of is still important tho 15:35 < bridge> Working with binary data etc 15:35 < bridge> yeye 15:35 < bridge> im just rly rusty 15:35 < bridge> i even use it in rust 15:35 < bridge> xd 15:35 < bridge> xd 15:35 < bridge> its so hard to use modern c++ in ddnet code 15:35 < bridge> cuz old code 15:36 < bridge> bjorne is wrong 15:36 < bridge> https://www.thecodedmessage.com/posts/stroustrup-response/ 15:36 < bridge> good read 15:36 < bridge> modern c++ core features, or modern c++ standard library? 15:36 < bridge> both i guess xd 15:36 < bridge> probs library 15:36 < bridge> bcs i really think the core features are cool, 15:36 < bridge> like variadic templates would be awesome in rust 15:36 < bridge> cuz idk the features 15:37 < bridge> its compile time safe too 15:37 < bridge> variadic is the infinite params right 15:37 < bridge> (type safe) 15:37 < bridge> i think thats haard 15:37 < bridge> yes but at compile time 15:37 < bridge> there is a rfc somewhere with comments 15:37 < bridge> not like var args 15:37 < bridge> u can probs emulate it with a macro tho 15:37 < bridge> yeah macros are basically infinite power 15:37 < bridge> https://www.memorysafety.org/blog/remy-rakic-compile-times/ 15:38 < bridge> but also lot of work, esp procedual ones 15:38 < bridge> int[32] parameter or int[32] something else? 15:38 < bridge> int[32] parameter is actually int* 15:38 < bridge> its from a struct 15:38 < bridge> i get from a pRawMsg 15:38 < bridge> then sizeof should work 15:39 < bridge> template 15:39 < bridge> void my_func((& myarray)[a]){} 15:39 < bridge> then u have the array as param 15:39 < bridge> @heinrich5991 well im using that size and multiplying it by 2 + 1 to print its hex value 15:39 < bridge> with std::size it worked 15:39 < bridge> xd 15:39 < bridge> im working on smth that will probs not be accepted 15:39 < bridge> but its fun 15:39 < bridge> been long i didnt do ddnet 15:39 < bridge> yeah std::array is maybe more intuitive generally spoken 15:40 < bridge> is there a type missing? 15:40 < bridge> .size() 15:40 < bridge> for the array 15:40 < bridge> yeah 15:41 < bridge> comes before (& 15:41 < bridge> int (& array)[a] 15:42 < bridge> what were u workin on again? 15:42 < bridge> fix skin master register xddd 15:42 < bridge> im tryna make a secure channel 15:42 < bridge> i doont like that rust code 15:42 < bridge> im not touching it 15:42 < bridge> xDDDD 15:43 < bridge> bcs of the includes? 15:43 < bridge> its a cumulative thing 15:43 < bridge> why doesn't rust-analyzer manages them btw? 15:43 < bridge> includes, style, old versions, warp 15:43 < bridge> it makes me itchy 15:43 < bridge> feels wrong to me 15:43 < bridge> rustfmt manages it 15:43 < bridge> i think vscode keeps the style used 15:44 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1071078701535596646/image.png 15:44 < bridge> i hecking love c++ 15:44 < bridge> i'd have thought rustfmt is part of rust-analyzer? at least for the vscode extension? 15:45 < bridge> no 15:45 < bridge> smth formats my code 15:45 < bridge> ^ 15:45 < bridge> rust-analyzer is like running cargo c 15:45 < bridge> if u right click format in vscode 15:45 < bridge> it calls rustfmt 15:45 < bridge> i told vscode to use rust-analyze but i guess its doing it internally 15:45 < bridge> xd 15:45 < bridge> yes 15:46 < bridge> 1. it needs auto remove of unused imports 15:46 < bridge> 15:46 < bridge> 2. there is no include all missing includes 15:46 < bridge> rust-analyzer is a LSP not a foormatter 15:46 < bridge> any ideas? 15:46 < bridge> cargo fix 15:46 < bridge> i find the vscode extension too bad 15:46 < bridge> 15:46 < bridge> it only runs on save 15:46 < bridge> didnt find an option to always work 15:47 < bridge> clangd is better default 15:47 < bridge> hmm i save 5 times per second so 15:47 < bridge> yes but it runs on save and is relatively slow 15:47 < bridge> clangd is incredibly fast 15:47 < bridge> i will give u that 15:47 < bridge> but i think its a much simpler work xd 15:47 < bridge> i'd prefer it makes smaller analyze steps 15:48 < bridge> btw if u made rust-analyzer use cargo clippy 15:48 < bridge> its a bit slower 15:48 < bridge> cuz more checks 15:48 < bridge> @Jupeyy_Keks wanna have fun in ur code?= 15:48 < bridge> ```rust 15:48 < bridge> #![warn( 15:49 < bridge> clippy::all, 15:49 < bridge> clippy::restriction, 15:49 < bridge> clippy::pedantic, 15:49 < bridge> clippy::nursery, 15:49 < bridge> clippy::cargo, 15:49 < bridge> )] 15:49 < bridge> ``` 15:49 < bridge> add this 15:49 < bridge> on ur lib 15:49 < bridge> at top 15:49 < bridge> i just use 15:49 < bridge> https://twitter.com/m_ou_se/status/1527209443309633536 15:49 < bridge> oh u found her 15:49 < bridge> the wizard xd 15:49 < bridge> yeah its really funny 15:50 < bridge> > How it works? Simple: It reads the compiler errors that happen in the future, parses the suggestions for missing imports, then travels back in time to include those in its expansion before the errors even happened. ⏪ ✨ 15:50 < bridge> > 15:50 < bridge> > (Without any unsafe code at all!) 15:50 < bridge> epic 15:51 < bridge> ``` 15:51 < bridge> 2023-02-03 15:51:14 I crypto: received client '0' public key '2500bbdb2033f8352aa56fd024746148a54b620a30a578cc6fdfedf355194900' 15:51 < bridge> 2023-02-03 15:51:14 I crypto: established a secure channel with client=0 15:51 < bridge> ``` 15:51 < bridge> good shit 15:51 < bridge> 30 mins to find i was using pMsg instead of Msg somewhere 15:55 < bridge> 15:55 < bridge> i'd really love to know which of my rust deps use a c compiler 15:55 < bridge> they will have a build.rs 15:55 < bridge> yeah, heinrich said, replace gcc with a dummy 15:55 < bridge> probs the easiest xD 15:56 < bridge> @Jupeyy_Keks btw do u knoow how to forward declare a define? 15:56 < bridge> or if its possible 15:57 < bridge> a define as like c macro? 15:57 < bridge> i want to "re export" a define from a include from a library, but not expose the include 15:57 < bridge> yeah im talking about c++ 15:57 < bridge> i mean like 15:57 < bridge> 15:57 < bridge> #define 15:57 < bridge> ye 15:57 < bridge> since i didnt know i just defined it too the value i know from the lib 15:57 < bridge> i mean u can always #undef any define 15:57 < bridge> and use static_assert oon the cpp file xd 15:58 < bridge> but it kind of didnt work 15:58 < bridge> when i tried 15:58 < bridge> the value is not updated 15:58 < bridge> i think cuz cpp files are last or smth 15:59 < bridge> `#define CRYPTO_SESSION_BYTES crypto_kx_SESSIONKEYBYTES` 15:59 < bridge> i want to do this define in a header, but not include the whole library 15:59 < bridge> xd 16:11 < bridge> then just do it 16:11 < bridge> defines are not source code 16:12 < bridge> dooing that will include the library header 16:12 < bridge> into my header 16:12 < bridge> which i avoid xd 16:12 < bridge> why 16:12 < bridge> so that all library functionality is contained within that cpp file 16:12 < bridge> you can just copy that line into your header file 16:12 < bridge> i did copy the value 16:12 < bridge> and then added a static_assert on the cpp file 16:12 < bridge> to maake sure its the saame 16:12 < bridge> but feels haacky 16:12 < bridge> check the link i sent xd 16:13 < bridge> which commit 16:13 < bridge> 16:13 < bridge> the define 16:13 < bridge> 16:13 < bridge> the assert 16:13 < bridge> ah i see 16:16 < bridge> i mean if the value never changes i guess this is good enough 16:17 < bridge> except including the header any other hack might be more messy 16:18 < bridge> now i need to find a nice way to wrap a msg into another that encrypts it 16:18 < bridge> or smth like that 16:21 < bridge> time to check python xd 16:22 < bridge> "do you want to install the configuration file from the package maintainers" 16:22 < bridge> 16:22 < bridge> grub config 16:22 < bridge> 16:22 < bridge> 16:22 < bridge> sweating hard xDD 16:22 < bridge> but i pressed yes. lets see what breaks 16:25 < bridge> xd 16:25 < bridge> what u dooin 16:25 < bridge> just did a apt upgrade 16:25 < bridge> but i dont remember wtf i changed in the grub config 16:29 < bridge> ok i need too do it decoupled 16:29 < bridge> and u can even do in place encryption and decryption 16:29 < bridge> this might be possible 16:29 < bridge> hacker time 17:36 < bridge> Isn't there a way to diff configs in whatever distro you use? 17:39 < bridge> yes but i was too lazy, now its too late xD 17:57 < bridge> zzz 17:57 < bridge> too much effort 17:58 < bridge> u can diff normally before that 17:58 < bridge> my head is spinning from looking at packers and unpackers 17:58 < bridge> and the sixup code mixed there 17:59 < bridge> fix it by removing sixup 17:59 < bridge> improvement feature 17:59 < bridge> i need to mutate the data of packets marked for encryption by adding a nonce, and then the encryption, which changes the size by adding a MAC at the start 17:59 < bridge> and then too decrypt the same 18:00 < bridge> i wonder if this would ever work xd 18:00 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1071112928998199339/image.png 18:01 < bridge> im 2 lazy too finish this 18:01 < bridge> back to playing ff 18:19 < bridge> @Ryozuki cors still doesnt work 🙃 18:19 < bridge> no u 18:19 < bridge> how do u do the calls 18:20 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1071117870760726639/image.png 18:21 < bridge> this time its ur fault 18:21 < bridge> curl woorks 18:21 < bridge> u should learn coors 18:22 < bridge> ```` 18:22 < bridge> < access-control-allow-origin: * 18:22 < bridge> < access-control-allow-headers: Authorization 18:22 < bridge> < access-control-expose-headers: Link 18:22 < bridge> < cache-control: max-age=31536000, public``` 18:22 < bridge> curl returns this 18:22 < bridge> @MilkeeyCat 18:22 < bridge> are u using fetch() 18:22 < bridge> oor another library 18:22 < bridge> fetch 18:22 < bridge> add mode: 'cors', // no-cors, *cors, same-origin 18:22 < bridge> to ur fetch 18:22 < bridge> https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API/Using_Fetch#supplying_request_options 18:23 < bridge> my keyboard is rly on its end 18:23 < bridge> it repeats so many keys 18:23 < bridge> @Learath2 @Jupeyy_Keks any good mechanical keyboard u know? 18:23 < bridge> i dont mind up to 200€ 18:24 < bridge> it responds with 200 but gives this 18:24 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1071118966824648744/image.png 18:25 < bridge> send me the url of the request 18:25 < bridge> soo i can test 18:25 < bridge> https://ddstats.org/ddnet-693575f.json?sql=SELECT+*%2C+SUM%28Points%29+FROM%0D%0A%28SELECT+race.Timestamp%2C+maps.Points+FROM+race+INNER+JOIN+maps+ON+maps.Map+%3D+race.Map+WHERE+race.Name+%3D+%22Lumpy+%E2%97%90%CF%89%E2%97%91%22+GROUP+BY+race.Map%29%0D%0AGROUP+BY+strftime%28%22%25Y%22%2C+Timestamp%29 18:26 < bridge> it works with curl 18:27 < bridge> depends 18:27 < bridge> for gaming: 18:27 < bridge> Corsair K70 with cherry mx speed 18:27 < bridge> 18:27 < bridge> best keyboard i used so far 18:27 < bridge> 18:27 < bridge> for general purose my logitec was better tho: it was more silent and less often missclicks 18:27 < bridge> 18:27 < bridge> the mx speed switches are insanely responsive, even at light touching 18:27 < bridge> i game and program 18:27 < bridge> xd 18:27 < bridge> ill check the corsair 18:28 < bridge> @Jupeyy_Keks holy 18:28 < bridge> thats one expensive keyboard 18:30 < bridge> 160€ 18:30 < bridge> uh 18:30 < bridge> i bought mine (without RGB) for 130€ i think 18:30 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1071120479827529768/image.png 18:30 < bridge> https://www.amazon.de/Corsair-Profile-Rapidfire-Mechanische-Tastatur/dp/B07HX65JHB/ref=sr_1_2?keywords=corsair+k70+speed&qid=1675445423&sprefix=%2Caps%2C68&sr=8-2 18:30 < bridge> buy from germany xd 18:31 < bridge> nonono 18:31 < bridge> i dont want a german keyboard 18:31 < bridge> xdd 18:32 < bridge> @Jupeyy_Keks https://www.amazon.es/Corsair-K95-RGB-Platinum-Retroiluminaci%C3%B3n/dp/B06XD7W3YZ/ 18:32 < bridge> what about this 18:32 < bridge> mx speed 18:32 < bridge> yeah maybe its the newer generation i dunno 18:32 < bridge> oohh 18:32 < bridge> it supports usb and bluetooth 18:32 < bridge> perfect cuz my mac doesnt have usbs 18:33 < bridge> xDD 18:35 < bridge> https://www.amazon.de/gp/product/B01E5LSCS6/ref=ppx_yo_dt_b_asin_title_o02_s00?ie=UTF8&psc=1 18:35 < bridge> 18:35 < bridge> this was the one i bought, for 116€ according to my buying history 18:35 < bridge> but i guess this would be even better since its newer? 😄 18:35 < bridge> it looks pretty good to me, not cheap 18:35 < bridge> logitech is good but always feels like the cheapest crap 18:36 < bridge> ye 18:36 < bridge> xd 18:37 < bridge> if you have * in access-control-allow-origin it means it will respond any origin 18:37 < bridge> right? 18:38 < bridge> should 18:39 < bridge> @MilkeeyCat ah maybe its cuz ur localhost 18:39 < bridge> sometimes its weird and localhost is not accepted 18:39 < bridge> fair enough 18:39 < bridge> https://bugs.chromium.org/p/chromium/issues/detail?id=67743 18:39 < bridge> Chrome does not support localhost for CORS requests (a bug opened in 2010, marked WontFix in 2014). 18:39 < bridge> @MilkeeyCat did u try with firefox 18:40 < bridge> https://chrome.google.com/webstore/detail/allow-cors-access-control/lhobafahddgcelffkeicbaginigeejlf 18:40 < bridge> or use this 18:40 < bridge> when developing 18:40 < bridge> when u deploy it to a domain it should work^tm 18:41 < bridge> but it should work with any other origins 18:41 < bridge> riight? 18:41 < bridge> when u use fetch i think the browser ultimately sets the oorigin 18:41 < bridge> but idk 18:41 < bridge> just open any website 18:42 < bridge> open dev tools and paste this ```fetch("https://ddstats.org/ddnet-693575f.json?sql=SELECT+*%2C+SUM%28Points%29+FROM%0D%0A%28SELECT+race.Timestamp%2C+maps.Points+FROM+race+INNER+JOIN+maps+ON+maps.Map+%3D+race.Map+WHERE+race.Name+%3D+%22Lumpy+%E2%97%90%CF%89%E2%97%91%22+GROUP+BY+race.Map%29%0D%0AGROUP+BY+strftime%28%22%25Y%22%2C+Timestamp%29")``` 18:44 < bridge> for firefox there is also an extension to force allow it 18:50 < bridge> cors unblocker 18:59 < bridge> I’ve been very happy with my leopold fc660m 18:59 < bridge> If it wasn’t insanely expensive I know a keyboard you’d love. UHK 60 v2 19:00 < bridge> Completely open source, including the hardware, you can even modify the firmware as you wish 19:04 < bridge> It didnt work in browser because server didnt send Access-Control-Allow-Origin header :0 im stoopid 19:06 < bridge> omg 19:07 < bridge> maybe my next 19:25 < bridge> But if so, it wont work on website even if i host it :thonk: 20:20 < bridge> <404wilson> the fuck 21:14 < bridge> @Ryozuki\: hey uhm could you unban me on the official ddnet discord, meek banned me cause he had a arguement with me in the dms 21:18 < bridge> not even I managed to get banned yetz 21:18 < bridge> not even I managed to get banned yet 21:18 < bridge> and people want me to shut up 21:19 < bridge> thats your own problem 21:19 < bridge> (@DefaultO) 21:19 < bridge> i got banned for nothing 21:19 < bridge> xd 21:19 < bridge> am I talking to the IRC guys using this channel? 21:21 < bridge> im not admin in discord 21:27 < bridge> you are a dev tho 21:27 < bridge> (@Ryozuki) 21:28 < bridge> doesn't change anything. he got no permission on the discord. all he can do is say a good word about you. 21:28 < bridge> oh bruh 21:28 < bridge> (@DefaultO) 21:30 < bridge> How would I make it so that a player(specifc) cannot be hooked by another? 21:30 < bridge> I don't know how to do it in Character core(it can be made in character entity?) 23:56 < bridge> check for it in the place where hooking another character happens, I guess 23:56 < bridge> probably somewhere in gamecore.cpp