01:13 < bridge> Yes @milkeeycat that’s exactly how it works 01:15 < bridge> https://github.com/ChillerDragon/irc-websockets/blob/91135aaa4e2062dbfd1e85cb0113b1f3558feb27/src/irc.ts#L32 01:15 < bridge> 01:15 < bridge> This is the new message callback from the irc lib. The variable „client“ is a irc client 01:18 < bridge> Ryo watching coding videos! Busted! 01:22 < bridge> There is also crow 01:22 < bridge> 01:22 < bridge> https://youtu.be/aNEqC-U5tHM?si=JjCAVlFYejJJrjxV 08:17 < ws-client> thread safety is annoying 08:17 < ws-client> i should switch from bash scripting to C scripting so i can better shoot my self in the foot 08:18 < ws-client> it fakin copies all state on fork. So editing variables only affects the fork -.- how did C handle that again? 09:11 < bridge> chillerdragon thanks 🙂 09:13 < bridge> And matterbridge sends a msg in discord when it sees new msg in irc? 09:31 < bridge> Yep and vice versa 09:35 < bridge> Okaaay 10:09 < bridge> chillerdragon: look at this :poggers2: i dont know how any of this shit works but it does work xd 10:09 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1198555067230470224/image.png?ex=65bf5464&is=65acdf64&hm=c5319ec41a56ec07644fa3d0e73a97cbae57780e40362006faa766cdd5f1f078& 10:10 < bridge> watafak 10:12 < bridge> I didn’t know [^] can do multiple characters 10:13 < bridge> this also works xd 10:13 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1198555997430632508/image.png?ex=65bf5541&is=65ace041&hm=807204a1d78b3215878ac916eff2ee882bc92126684b93e45310b4010330359d& 10:13 < bridge> That’s what I thought 10:14 < bridge> Yea I really don’t think regex is the solution here 10:14 < bridge> how else 🤔 10:15 < bridge> Maybe spilt it into chunks or go character by character. And skip any kind of rich text when inside of a code snippet. There is more than links 10:17 < ws-client> See off topic Chanel 10:18 < bridge> I think using `Option<>`s is better. it gives you a panic when you try to use the thing and it's not there, instead of silently continuing 10:32 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1198560832632651886/ima_0c692ce.png?ex=65bf59c2&is=65ace4c2&hm=efe5a57b69bcbb6e24ed98ed840fadabc5ad46d76f5c5caeab8e3f0aeb5d9a87& 10:32 < bridge> Dude I’m mobile @milkeeycat 10:33 < bridge> this looks cursed :justatest: 10:35 < bridge> :tear: 10:37 < bridge> how i see ddnet src 10:37 < bridge> nice zindex 10:38 < bridge> where do CNetObj's get sent to the clients ? 10:40 < bridge> using snapshots 10:41 < bridge> `NETMSG_SNAP`, `NETMSG_SNAPSINGLE`, `NETMSG_SNAPEMPTY` 13:23 < ws-client> @heinrich5991 omagawd i finally found the wireshark filter i asked u about 13:23 < ws-client> u remember? then one without the noise 13:23 < ws-client> ``(((!(tw7.msg == "sys.input")) && !(tw7.msg == "sys.snap_single")) && !(tw7.msg == "sys.input_timing")) && !(tw7.msg == "sys.snap_empty")`` 13:24 < ws-client> compresses 1k packets of snap noise down to only a hand full of interesting packets 13:24 < ws-client> https://zillyhuhn.com/cs/.1705839845.png 13:27 < ws-client> its all done via ui clicking :D i always tried to click on the entire packet to do filters. But what really works in this case is opening the packet and only applying the specific tw msg as filter 13:27 < ws-client> https://zillyhuhn.com/cs/.1705839986.png 13:27 < ws-client> pre order my 80$ wireshark udemy course now 13:28 < ws-client> @davide you might like this too c: 13:29 < ws-client> wait it was davide + some numbers right? 13:29 < ws-client> ah watever 13:40 < bridge> snap noise? 13:42 < ws-client> https://zillyhuhn.com/cs/.1705840924.png 13:42 < ws-client> the server and client send a lot of packets all the time 13:42 < ws-client> input and snap 13:43 < ws-client> if you join a server and write hi in chat twice and then look at the traffic dump you have thousands of packets 13:43 < bridge> chiller whats ur fake discords link again 13:44 < ws-client> chat.zillyhuhn.com 13:48 < bridge> no it isnt 13:48 < bridge> u forgot the https 13:48 < ws-client> https://chat.zillyhuhn.com 13:48 < ws-client> u forgot the browser extension :p 13:48 < ws-client> ye my webserver is configured wrong 13:49 < bridge> the hell is a token 13:49 < bridge> i aint into bitcoin no thanks 13:49 < ws-client> nimrocks 13:49 < bridge> oh 13:51 < bridge> chillerdragon: look how cool is that :justatest: 13:51 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1198610825393483776/image.png?ex=65bf8851&is=65ad1351&hm=f06a9105dc855c6acfd5651980b7905afd97c60b4fcac6f6c6b5f008ad00c13b& 13:51 < ws-client> <:trollchungus:1010641652920098887> 13:51 < ws-client> yikes bloated regex im not too big of a fan i have to admit 13:52 < ws-client> why does 1 message with image in discord show up as 2 separate messages here 13:52 < ws-client> ? 13:52 < bridge> i dont even care if anyone would use it. it was personal at this point 13:53 < ws-client> @cyberamoung ah i added fake multi line here 13:53 < ws-client> it combines messages from the same author into one 13:53 < bridge> chillerdragon: he probably means this 13:53 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1198611443138973716/image.png?ex=65bf88e5&is=65ad13e5&hm=f6873d7699d96912a57fedbcfb761fe61c4534efcd518ea232b62caf369ef5c3& 13:54 < bridge> yes 13:54 < bridge> i sent it as 1 messag 13:54 < bridge> i sent it as 1 message 13:54 < ws-client> oh 13:54 < ws-client> maybe matterbridge did that 13:54 < ws-client> because discord attachement links are kinda long nowerdays 13:54 < ws-client> wait now its fixed 13:54 < ws-client> maybe it doesnt fit in one line 13:55 < ws-client> what the hell is going on lol 13:55 < ws-client> its some magic message merging happening on the front end here 13:56 < bridge> you know guys it looks like that "fantasy" box from spongebob 13:57 < bridge> https://tenor.com/view/spongebob-rainbow-imagination-box-gif-16337273 13:57 < ws-client> ye the tenor embeds are a work in progress ._. 13:57 < ws-client> mean people rude gif 13:58 < ws-client> chillerdragon when add channel description 13:58 < bridge> i'll find original video xd 13:58 < ws-client> soon(tm) 13:58 < ws-client> chiller can u ping me again in offtopic 14:00 < ws-client> a 14:00 < ws-client> what oops 14:45 < bridge> can someone make a feature that saves automatically when team members get timeouted? 14:45 < bridge> it would be really useful 14:46 < bridge> That's a good idea actually, an emergency save 16:58 < bridge> https://github.com/ddnet/ddnet/blob/94931fadc08740d8ad39fdf8fe60345bbd8ebd3d/src/game/server/entities/projectile.cpp#L302C1-L360C2 16:58 < bridge> 16:58 < bridge> i can't figure out how CNetObj's make snapshots for specific clients. where in this function tells to make snapshot for SnapingClient ???? 16:59 < bridge> i have been stuck at this shit, cant figure it out 17:00 < bridge> Wym? The variable SnappingClient tells you which client you are currently crafting a snapshot for 17:01 < bridge> but where in this function actually tells the server to create the snapshot ? 17:01 < bridge> Nowhere, the server is the one which calls this while making the snapshot 17:02 < bridge> When you do snapnewitem, it gets added to the snap for snappingclient 17:03 < bridge> i put this in CProjectile::Snap() function 17:04 < bridge> ```cpp 17:04 < bridge> if(SnapingCLient == 0) 17:04 < bridge> return; 17:04 < bridge> ``` 17:04 < bridge> and the snapshot will not created for just client 0 17:04 < bridge> If you put that at the very top, yes, client 0 will just never see any of the projectiles 18:16 < bridge> yo, if someone have java and uses linux. can u help me. copy this repo https://github.com/Javohir37/SnakeGame.git and try to run it by running `javac -d bin src/*.java && java -cp bin MainMenu` it works for my friend but not for me :pepeW: 18:32 < bridge> not on linux but this happens on windows if it helps you in any way lmao: 18:32 < bridge> 18:32 < bridge> ``` 18:32 < bridge> PS C:\Users\blaiz\Projects\SnakeGame> javac -d bin src/*.java 18:32 < bridge> PS C:\Users\blaiz\Projects\SnakeGame> java -cp bin MainMenu 18:32 < bridge> Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException: Cannot invoke "java.net.URL.toExternalForm()" because "location" is null 18:32 < bridge> at java.desktop/javax.swing.ImageIcon.(ImageIcon.java:232) 18:32 < bridge> at MainMenuPanel.(MainMenuPanel.java:107) 18:32 < bridge> at MainMenu.(MainMenu.java:38) 18:32 < bridge> at MainMenu.lambda$main$0(MainMenu.java:61) 18:32 < bridge> at java.desktop/java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:318) 18:32 < bridge> at java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:773) 18:32 < bridge> at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:720) 18:32 < bridge> at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:714) 18:32 < bridge> at java.base/java.security.AccessController.doPrivileged(AccessController.java:400) 18:32 < bridge> at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:87) 18:32 < bridge> at java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:742) 18:32 < bridge> at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:203) 18:32 < bridge> at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:124) 18:32 < bridge> at java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:113) 18:32 < bridge> at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:109) 18:32 < bridge> at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101) 18:32 < bridge> at java.desktop/java.awt.EventDispatchThread.run(EventDispatchThread.java:90) 18:32 < bridge> Exception in thread "Thread-0" java.lang.NullPointerException: Cannot invoke "javax.sound.sampled.Clip.stop()" because "" is null 18:32 < bridge> at GamePanel.lambda$music$0(GamePanel.java:138) 18:32 < bridge> at java.base/java.lang.Thread.run(Thread.java:1583) 18:33 < bridge> ``` 18:33 < bridge> not on linux but this happens on windows if it helps you in any way lmao: 18:33 < bridge> 18:33 < bridge> ```powershell 18:33 < bridge> PS C:\Users\blaiz\Projects\SnakeGame> javac -d bin src/*.java 18:33 < bridge> PS C:\Users\blaiz\Projects\SnakeGame> java -cp bin MainMenu 18:33 < bridge> Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException: Cannot invoke "java.net.URL.toExternalForm()" because "location" is null 18:33 < bridge> at java.desktop/javax.swing.ImageIcon.(ImageIcon.java:232) 18:33 < bridge> at MainMenuPanel.(MainMenuPanel.java:107) 18:33 < bridge> at MainMenu.(MainMenu.java:38) 18:33 < bridge> at MainMenu.lambda$main$0(MainMenu.java:61) 18:33 < bridge> at java.desktop/java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:318) 18:33 < bridge> at java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:773) 18:33 < bridge> at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:720) 18:33 < bridge> at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:714) 18:33 < bridge> at java.base/java.security.AccessController.doPrivileged(AccessController.java:400) 18:33 < bridge> at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:87) 18:33 < bridge> at java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:742) 18:33 < bridge> at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:203) 18:33 < bridge> at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:124) 18:33 < bridge> at java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:113) 18:33 < bridge> at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:109) 18:33 < bridge> at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101) 18:33 < bridge> at java.desktop/java.awt.EventDispatchThread.run(EventDispatchThread.java:90) 18:34 < bridge> the same error xd 18:34 < bridge> thx 18:35 < bridge> 2 nullpointerexceptions, so it shouldnt compile for anyone at that point lol 18:35 < bridge> it works in his ide 18:35 < bridge> what ide 18:36 < bridge> idk xd 18:36 < bridge> something for yava 18:37 < bridge> whatfak 18:37 < bridge> whatafak 18:38 < bridge> intellij 18:42 < bridge> its 2 nulls coz it cant file assets files 18:49 < bridge> `javac -d bin src/*.java && mkdir bin/assets && cp -r ./assets/* ./bin/assets && java -cp bin MainMenu` now you can play snake xd 18:50 < bridge> omg its awesome