21:52 < bridge> 2024-04-08 21:47:26 I econ: couldn't open socket. port might already be in use 21:52 < bridge> ``` 21:52 < bridge> 21:52 < bridge> Any ideas? Could i be missing dependencies? 22:10 < bridge> can u give all of them ai and force them to play ctf 200v200 22:15 < bridge> dunno it fails on one of them. i can't be a hoster issue right? normal server works? 22:15 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1226988875461951488/image.png?ex=6626c570&is=66145070&hm=7a7240214f9a59a3fd7cdda659cb10ea44f99dc02f0466a905affde822c0695c& 22:15 < bridge> it fails on one of them. i can't be a hoster issue right? normal server works? 22:15 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1226988875461951488/image.png?ex=6626c570&is=66145070&hm=7a7240214f9a59a3fd7cdda659cb10ea44f99dc02f0466a905affde822c0695c& 22:16 < bridge> it fails on one of them. it can't be a hoster issue right? normal server works? 22:16 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1226988875461951488/image.png?ex=6626c570&is=66145070&hm=7a7240214f9a59a3fd7cdda659cb10ea44f99dc02f0466a905affde822c0695c& 22:20 < bridge> ah sorry forgot to mention: yes, the gameserver itself runs as it should 22:21 < bridge> are these dependencies just required for development? https://github.com/ddnet/ddnet?tab=readme-ov-file#dependencies-on-linux--macos 22:23 < bridge> yea 22:25 < bridge> you can try but that shouldn't be the issue i think 23:04 < bridge> @teero777 XDDDDDDDDD 23:05 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1227001251955474562/image.png?ex=6626d0f7&is=66145bf7&hm=64dba90ddea80a371f99cf69a0a30f8167e18004c8b64f4e91ef93cc7e524518& 23:05 < bridge> optimized it to O(1) 23:05 < bridge> it can now handle 1k tees 23:05 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1227001361099391128/image.png?ex=6626d111&is=66145c11&hm=dab1d01d3c9b3fe9d67fda6b1cfb7fba38413eb3aa4d7fbb6dc1f62c22337323& 23:05 < bridge> that's so funny lmao 23:05 < bridge> i think it works even without breaking physics 23:06 < bridge> @zwelf2 we should test that with your physics 😄 23:20 < bridge> playing 2000p splitscreen 23:20 < bridge> im in 23:20 < bridge> modern pc are really fast 23:21 < bridge> i mean it iterates over so much shit ~2000 times every frame 23:21 < bridge> it checks if the input changed for all these tees 23:21 < bridge> bcs they are real players xd 23:21 < bridge> creates the render calls for all 23:21 < bridge> bcs i have no frustum culling yet 23:21 < bridge> prediction code every frame 23:29 < bridge> how are u doing this 23:29 < bridge> looks awesome 23:34 < bridge> custom client + server 23:34 < bridge> Send 23:36 < bridge> soon™️ xdd 23:36 < bridge> it's sadly still far from finished :/ 23:38 < bridge> so what 23:38 < bridge> unless it deletes my entire disk idgaf 23:38 < bridge> yeah it's virus 23:38 < bridge> sad 23:38 < bridge> average custom client moment 23:48 < bridge> @jupeyy_keks make Sure to Tag me when you Release a pre-release :kek: 00:08 < jtbx> hi all, I'm trying to run the ddnet client but it's failing with "unable to create window: Installed Vulkan doesn't implement the VK_KHR_surface extension". apparently this means vulkan drivers can't be found, I'll look into this later but for now is there a way to disable vulkan at runtime? 00:08 < jtbx> is there some sort of environment variable or command line argument I can use? 00:13 < bridge> cmake .. -DVULKAN=OFF 00:13 < bridge> `cmake .. -DVULKAN=OFF` 00:14 < jtbx> yeah I'm doing that now thanks 00:15 < bridge> You don’t need to compile it out. You can switch to opengl at runtime too. Just do `./DDNet “gfx_backend opengl”` 06:52 * Kourosh_ slaps ChillerDragon around a bit with a large fishbot 06:52 * Kourosh_ slaps ChillerDragon around a bit with a large fishbot 06:52 * Moein slaps ChillerDragon around a bit with a large fishbot 06:53 * Kourosh_ slaps ChillerDragon around a bit with a large fishbot 06:53 * Kourosh_ slaps ChillerDragon around a bit with a large fishbot 06:53 * Kourosh_ slaps ChillerDragon around a bit with a large fishbot 06:53 * Kourosh_ slaps ChillerDragon around a bit with a large fishbot 06:53 < ws-client> i don't think there are any servers anymore 06:53 < ws-client> when did u start playing tw @milkeeycat ? 06:53 < Kourosh_> ChillerDragon: You are definitely an idiot 06:54 < bridge> First Finish 06:54 < bridge> 08.09.2020 06:54 < ws-client> eww ddracer 06:54 < bridge> Me new 06:54 < ws-client> yea likely u never had the chance to play basketball 06:54 < bridge> I wish i found ddnet earlier 06:54 < bridge> It had some cool ass vibe before 06:55 < ws-client> don't forget the time before ddnet hehe 06:55 < bridge> (saw it from aoe vids) 06:55 < ws-client> i used some goofy ddrace client (not ddnet) on my old macbook :D 06:55 < bridge> Average chillerdragon moment 06:56 < Moein> anyone there 06:56 < Moein> ? 06:56 < ws-client> hi 06:56 < ws-client> we are still waiting for your response 06:56 < Moein> from where can I obtain fng scores at the end of each round? 06:56 < ws-client> from ewans question 06:56 < ws-client> which code base are you currently working in 06:57 < Moein> nothing yet, we want to chose 06:57 < Moein> please guide us 06:57 < Moein> :') 06:57 < ws-client> i think jopstis fng is best 06:57 < ws-client> but not too sure 06:58 < Moein> where is the repo? 06:58 < ws-client> you want 0.6 or 0.7 or both? 06:58 < ws-client> https://github.com/Jupeyy/teeworlds-fng2-mod 06:58 < Moein> and do you know my question's answer? 06:58 < bridge> When 1.0 06:58 < ws-client> depends on the code base 07:00 < Moein> Suppose that this is our code base https://github.com/Jupeyy/teeworlds-fng2-mod 07:01 < ws-client> https://github.com/Jupeyy/teeworlds-fng2-mod/blob/793d30e29d638e69315a78d1b47e898fea8d735d/src/game/server/gamecontroller.cpp#L207-L215 07:01 < ws-client> for example here 07:01 < ws-client> or here 07:01 < ws-client> https://github.com/Jupeyy/teeworlds-fng2-mod/blob/793d30e29d638e69315a78d1b47e898fea8d735d/src/game/server/gamemodes/fng2.cpp#L329-L333 07:02 < bridge> thanks chiller 07:02 < bridge> i forgot and then played some gores 07:03 < Moein> thank you 07:03 < Moein> ChillerDragon 07:03 < Moein> Mighty God Bless You 07:03 < Moein> dude 08:47 < ws-client> omg pyson is the worst 08:47 < ws-client> it took me 5mins to add multi processing to the bash script and i spent hours on porting the same code to python 08:48 < ws-client> its literally one character in bash to go blazingly fast on all cpu cores 08:49 < ws-client> at least i managed to max out all cpu cores now... but its probably spent in pyson land trying to compute for loops :D also wtf my progress counter is so drunk 08:49 < ws-client> https://zillyhuhn.com/cs/.1712645224.png 08:49 < ws-client> @heinrich5991 pain 08:49 < ws-client> i am pretty sure the shell script would have been faster, easier to maintain, more portable and duh it was already finished and working 09:24 < bridge> what are you doing? 09:25 < bridge> btw can I have a chillertube acc? 09:32 < bridge> will the world ever know who jia tan is 09:49 < bridge> I think He is trying to fix #8151 #8154 and #8141 09:49 < bridge> https://github.com/ddnet/ddnet/pull/8151 09:49 < bridge> https://github.com/ddnet/ddnet/pull/8154 09:49 < bridge> https://github.com/ddnet/ddnet/pull/8141 12:14 < bridge> True. I'm gonna quit school now 12:14 < bridge> Allah willing they are now content with the naming and style and we won't get any more of these massive commits that add nothing but merge conflicts 12:14 < bridge> xd 12:15 < bridge> Imagine introducing merge conflicts just to make code uglier "GpuId" 12:15 < bridge> smh 12:16 < bridge> #6775 got completely borked by recent commits of chiller 12:16 < bridge> https://github.com/ddnet/ddnet/pull/6775 12:17 < bridge> Yea it looks ugly asf but ig it's theoretically correct but who cares xd 12:19 < bridge> going home 12:19 < bridge> You may think I'm insane but IMO coding isn't just theory, I feel it has a smidge of art within and these rigid things are ruining that aspect for me 12:19 < bridge> Sure functionality above all but there is just something about beautiful code that hits the spot for me 12:20 < bridge> you are always insane 12:21 < bridge> It's like telling dali his proportions are off 12:25 < bridge> Sometimes optimised code looks so beautiful I get tears in my eyes 12:25 < bridge> I'm serious 12:26 < bridge> I like the way you think 12:26 < bridge> I like it tightly packed :D 12:27 < bridge> Always one cr after closing brackets 12:28 < bridge> beauty 12:28 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1227203438102974484/GKuUhmgWRQtAKejL7_neYNRnu-Rpj-XBcp6Lc2nzZEk.png?ex=66278d43&is=66151843&hm=e0badda85c2a8c035e1b7e2bbe6caee5332f9c872b8370b74c340f1077c799e9& 12:28 < bridge> it is art 12:28 < bridge> rust is art 12:28 < bridge> See, this brings so much displeasure, if a formatting tool told me this is the best way, I would just not use the formatting tool 12:29 < bridge> Please always do if(!c) return; 12:29 < bridge> Just opening this file would ruin my morning 12:29 < bridge> Sometimes clang format does shit 12:29 < bridge> Exactly, the guard pattern is the best, no matter what CS purists say about multiple exit points from functions being bad 12:31 < bridge> Like sometimes when I have a lot of vars for the same topic and they have default values Indent the = signs for better readability 12:32 < bridge> Like sometimes when I have a lot of vars for the same topic and they have default values I Indent the = signs for better readability 12:32 < bridge> What do you think about multilevel inline if statements? 12:33 < bridge> Very dirty imo 12:34 < bridge> multilevel inline if? like the condition spanning multiple lines? 12:35 < bridge> I mean smth like `int a = b >= 63 ? 0 : (c <= 0 ? 31 : 0)` 12:36 < bridge> Ah, ternaries. I don't like it if there is more than 2 and there aren't parens 12:36 < bridge> And where is the logic of attaching a hook in scripts? 12:37 < bridge> what? 12:37 < bridge> he asked where is the logic of attaching a hook in scripts? 12:38 < bridge> I think he's lost 12:38 < bridge> :headbot: 12:39 < bridge> Imo with long variable names it can get really ugly, especially when having big formulas 12:39 < bridge> I mean where is the code associated with the hook 12:39 < bridge> I'm lost. 12:39 < bridge> Ah that's what you mean 12:39 < bridge> gamecore.cpp is where most of it is at 12:40 < bridge> Check in gamecore.cpp 12:40 < bridge> TILE_TELEINHOOK What is TELE? 12:41 < bridge> There are teleporter tiles that teleport the hook to a different position upon hooking them 12:42 < bridge> They are orange 12:49 < bridge> thx 12:55 < bridge> edlang now uses llvm 18 14:28 < bridge> https://man7.org/linux/man-pages/man7/vdso.7.html 14:28 < bridge> @learath2 14:29 < bridge> https://thecoder08.github.io/hello-world.html 15:38 < ws-client> @teero777 @learath2 ye that pr was from heinrich but all merge conflicts should be solvable with one command. I did not run into any issues I had to fix manually while merging forks and prs. 16:14 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1227260433166110750/5XGewbBi8uo.jpg?ex=6627c258&is=66154d58&hm=4249447e1c9b5b9ae770b418288cd51ab4756e94415489207c161ddbc4e7a8d6& 16:52 < melon> test test 1 2 3 16:59 < bridge> 321? 17:07 < melon> test completed - thank you. 17:24 < bridge> I knew this thing existed but never really read into the details. I've added it to my archive of knowledge 17:26 < bridge> Fuck analog clocks all my homies hate analog clocks 17:26 < bridge> Who actually finds it easier to read the time from that vs 4 numbers 17:27 < bridge> they are cool 17:27 < bridge> cry me a river bitch 17:27 < bridge> ok no insults oops 17:27 < bridge> Be glad heinrich is away 17:28 < bridge> Looking at the hour and then doing the mental calculation 5*minute hand position + 0-4 is annoying 17:28 < bridge> I don't want to do math to read it 17:29 < bridge> ye 17:29 < bridge> ``` 17:29 < bridge> Making system calls can be slow. In x86 32-bit systems, you can 17:29 < bridge> trigger a software interrupt (int $0x80) to tell the kernel you 17:29 < bridge> wish to make a system call. However, this instruction is 17:29 < bridge> expensive: it goes through the full interrupt-handling paths in 17:29 < bridge> the processor's microcode as well as in the kernel. Newer 17:29 < bridge> processors have faster (but backward incompatible) instructions 17:29 < bridge> to initiate system calls. Rather than require the C library to 17:29 < bridge> figure out if this functionality is available at run time, the C 17:29 < bridge> library can use functions provided by the kernel in the vDSO. 17:29 < bridge> 17:29 < bridge> Note that the terminology can be confusing. On x86 systems, the 17:29 < bridge> vDSO function used to determine the preferred method of making a 17:29 < bridge> system call is named "__kernel_vsyscall", but on x86-64, the term 17:29 < bridge> "vsyscall" also refers to an obsolete way to ask the kernel what 17:29 < bridge> time it is or what CPU the caller is on. 17:29 < bridge> 17:29 < bridge> One frequently used system call is gettimeofday(2). This system 17:29 < bridge> call is called both directly by user-space applications as well 17:29 < bridge> as indirectly by the C library. Think timestamps or timing loops 17:29 < bridge> or polling—all of these frequently need to know what time it is 17:29 < bridge> right now. This information is also not secret—any application 17:29 < bridge> in any privilege mode (root or any unprivileged user) will get 17:29 < bridge> the same answer. Thus the kernel arranges for the information 17:29 < bridge> required to answer this question to be placed in memory the 17:29 < bridge> process can access. Now a call to gettimeofday(2) changes from a 17:29 < bridge> system call to a normal function call and a few memory accesses. 17:29 < bridge> ``` 17:29 < bridge> interesting 17:29 < bridge> You don't do the calculation while reading it. Just by looking at it you instantly know 17:29 < bridge> I can't do that 17:30 < bridge> You can, just need to do it more 17:30 < bridge> also i like the ticking sound 17:30 < bridge> It's not instant for me, reading numbers is 17:30 < bridge> Start by memorizing the landmarks, 0 up top, 15 to the right, 30 to bottom, 45 to left 17:31 < bridge> minutes do kinda suck tho i agree 17:31 < bridge> Fuck analog clocks all my homies hate analog clocks 17:31 < bridge> Who actually finds it easier to read the time from that vs 4 digits 17:31 < bridge> Then it's just a matter of how far to the left or right of the landmarks the minute hand is 17:31 < bridge> Already more effort than reading two numbers 17:31 < bridge> Ofc it is, there is a reason we made digital clocks 17:31 < bridge> With that attitude yeah, I can see you never being able to do it 17:33 < bridge> I can do it 17:33 < bridge> I just don't want to 17:33 < bridge> Anyway probably not a relevant debate here lol 17:33 < bridge> You obviously can't, as if you could then you wouldn't need to do any math 17:33 < bridge> analog is cooler. 17:33 < bridge> Otherwise we wouldn't have overpriced analog watches :greenthing: 17:36 < bridge> i doubt ppl buy 50k watches to know the time 17:36 < bridge> expensive watches are more status symbols than anything 17:46 < bridge> who is the network pro in ddnet source? 17:54 < bridge> https://dontasktoask.com/ 18:07 < bridge> there is no question.. its more like a poll 😄 18:08 < bridge> but little ghost voices have told me that you should be reached for network topics 18:40 < bridge> Heinrich is probably the most familiar with the network code as he has been working on a rewrite of it for a while 21:26 < bridge> https://youtu.be/r3bEjsv9JFw?si=5GS-BOiGheIyjv7q 21:26 < bridge> https://youtu.be/r3bEjsv9JFw?si=5GS-BOiGheIyjv7q 21:29 < bridge> Send it a couple more times 21:37 < bridge> https://youtu.be/r3bEjsv9JFw?si=5GS-BOiGheIyjv7q 21:53 < bridge> oi 21:53 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1227345684336873482/image.png?ex=662811be&is=66159cbe&hm=5b8fb0ee0aa7525cea4b624b64a27340677289c1fe7bbda437d0f3ec2bcf2b6d& 21:53 < bridge> rust devs to the rescue 21:53 < bridge> is this my code's problem or... no? 21:55 < bridge> Hey guys. I’m pretty new to that stuff so yeah 😅 Where in the code are player inputs handled ? Like fire jump movement 21:56 < bridge> Is it controls.cpp? 22:08 < bridge> setting `ulimit` helps 23:23 < bridge> wtf 23:24 < bridge> u cant practice mode in tutorial 23:54 < bridge> maybe you are on the tutorial server? 23:54 < bridge> i think you can if you load the map on a normal novice server 23:54 < bridge> i think you can if you load the map on a normal server