00:12 < bridge> #embed is awesome 01:12 < bridge> #include 01:12 < bridge> #include 01:12 < bridge> #include 01:12 < bridge> #include "engine/external/json-parser/json.h" 01:12 < bridge> #include "engine/shared/json.h" 01:12 < bridge> #include 01:12 < bridge> 01:12 < bridge> error because gameclient and curl are in conflit or something like, can i use http library in the project to do a Sync request? 01:26 < bridge> you can't really do a sync request from that code 01:26 < bridge> it'd mean the client freezes until then 02:25 < bridge> ``` 02:25 < bridge> 2023-05-14 00:24:35 I assert: /ddnet-source/src/engine/server/register.cpp(517): curl version < 7.77.0 does not support registering via both IPv4 and IPv6, set `sv_register ipv6` or `sv_register ipv4` 02:25 < bridge> Illegal instruction 02:25 < bridge> ``` 02:25 < bridge> what's that 02:25 < bridge> funny curl doesn't allow that since 08:24 <+ChillerDragon> hm how do computers work i get a weird glitchy vertical line while playing teeworlds or any game in windowed or fullscreen for that matter. No cpu core uses more than 10% the ddnet client process is as 14% my gpu is at 70% peek and uses 4% mem for the ddnet client 08:25 <+ChillerDragon> is this possibly a issue with my screen and not with my hardware being slow? 08:25 <+ChillerDragon> i have 400 fps and it feels smooth but i get this glitchy line which i always thought means the gpu can not keep up 08:27 <+ChillerDragon> eh horizontal line i mean 08:28 <+ChillerDragon> its been running smooth with this setup for years im not sure what to replace i tried downgrading to linux-lts and nvidia-lts that did not help im thinking about buying a new screen but maybe im stupid xd 08:30 <+ChillerDragon> i would be more confident its just the screen if vim didnt start to take 3s to write a file 08:32 < bridge> You mean tearing? 08:35 <+ChillerDragon> lmme duckduckgo that 08:36 <+ChillerDragon> yes looks good 08:36 <+ChillerDragon> but i turned on vsync in tw and it didnt help 08:38 < bridge> Then your driver refuses to allow vsync for some reason 08:38 <+ChillerDragon> fak this driver guy 08:38 < bridge> Without vsync the fix is. Buy higher refresh rate monitor xd 08:38 <+ChillerDragon> i have the pay2win nvidia propriatary malware og driver 08:39 <+ChillerDragon> ok i will buy a monitor 08:39 <+ChillerDragon> weird that this monitor worked fine for almost a decade 08:39 < bridge> Maybe u changed gnome compositor settings? 08:39 <+ChillerDragon> maybe the update did 08:39 <+ChillerDragon> what is compositor 08:39 < bridge> The monitor is not broken 08:39 < bridge> U probably always played with vsync 08:39 <+ChillerDragon> he broke of old age? 08:40 <+ChillerDragon> ok thanks jupsti babe i will buy new monitor that cost more than my graphiccard 08:40 < bridge> Compositor is basically the thing that makes ur windows look like windows xd 08:40 <+ChillerDragon> good financial advice once again 08:40 <+ChillerDragon> i have linux 08:40 <+ChillerDragon> no windows 08:40 <+ChillerDragon> xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxD 08:40 < bridge> Trollodragores 08:41 <+ChillerDragon> ye my windows are broken for sure too 08:41 <+ChillerDragon> https://zillyhuhn.com/cs/.1684046489.png 08:41 <+ChillerDragon> see my vscode windowing all over the place xd 08:42 <+ChillerDragon> and there is no way to make it stop neither reboot resize or reopen 08:42 <+ChillerDragon> but its electron so hey gnome might not be responsible 08:42 < bridge> U use Arch right? 08:42 <+ChillerDragon> yes BTW 08:43 < bridge> Well no hate against it. But ofc u are always a beta tester with it 08:43 <+ChillerDragon> wowo 08:43 <+ChillerDragon> arch shaming 08:43 <+ChillerDragon> yea ik thats why this window also doesnt really bother me 08:43 <+ChillerDragon> but the glitchy does and i assume those important things always relate to the driver and kernel 08:44 <+ChillerDragon> and arch offers the easy switch to the lts driver and kernel which makes you travel back in time 08:44 <+ChillerDragon> but this did not help this time .-. 09:17 < bridge> when u use vk backend & enable vsync, does it mention in F1 console or terminal that it could not enable FIFO mode? 09:17 < bridge> chillerdragon: ^ 09:27 <+ChillerDragon> no 09:27 < bridge> thats weird xd 09:27 <+ChillerDragon> wait its because its working 09:28 < bridge> 🤔 09:28 <+ChillerDragon> ok but thats even worse 09:29 <+ChillerDragon> i play better when i had 8 beers than w vsyncx 09:29 <+ChillerDragon> but it did seem to have fixed the tearing 09:29 < bridge> ok 09:29 <+ChillerDragon> so buying a new screen it is jupsti? 09:30 < bridge> i give u best hack 09:30 < bridge> wait 09:30 <+ChillerDragon> maybe vsync is only broken for opengl or after reboot it worked now idk 09:31 < bridge> in vulkan_backend.cpp search the function GetPresentationMode 09:31 < bridge> before 09:31 < bridge> VKIOMode = g_Config.m_GfxVsync ? VK_PRESENT_MODE_FIFO_KHR : VK_PRESENT_MODE_IMMEDIATE_KHR; 09:31 < bridge> add 09:31 < bridge> VKIOMode = VK_PRESENT_MODE_MAILBOX_KHR; 09:31 < bridge> return; 09:31 <+ChillerDragon> watf 09:31 <+ChillerDragon> hak 09:32 < bridge> but pssst 09:33 <+ChillerDragon> so replace the line i guess 09:33 < bridge> doesnt matter 09:33 <+ChillerDragon> yeye 09:33 <+ChillerDragon> hmm not the best hack 09:33 <+ChillerDragon> still sluggish 09:34 < bridge> it should prevent tearing 09:34 < bridge> while allowing 400fps 09:34 <+ChillerDragon> ah so vsync off 09:34 < bridge> its basically what wayland does 09:34 < bridge> oh yes 09:34 < bridge> well it should be off normally lol 09:34 <+ChillerDragon> hmm 09:34 <+ChillerDragon> vsync off still caps me at 60 09:34 < bridge> nani 09:35 <+ChillerDragon> https://zillyhuhn.com/cs/.1684049711.png 09:35 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1107209595232997477/image.png 09:35 < bridge> u forgot the return 09:35 <+ChillerDragon> a 09:36 <+ChillerDragon> true? 09:36 <+ChillerDragon> ah ye u sent scren 09:37 <+ChillerDragon> holy shit 09:37 <+ChillerDragon> tthast works 09:37 <+ChillerDragon> why is it not a cfg? 09:38 < bridge> bcs it only works with vulkan 09:38 < bridge> and i am too lazy to add bloat 09:38 <+ChillerDragon> i see 09:38 < bridge> the vsync option should be a dropdown 09:38 <+ChillerDragon> gaming with custom patch it is 09:38 <+ChillerDragon> thanks juspti the gfx guru 09:39 <+ChillerDragon> ok still a bit wonkey 09:39 < bridge> yes 09:39 <+ChillerDragon> i think ill just buy the new screen 09:39 < bridge> it still adds latency 09:40 < bridge> have u tried to use unlimited fps 09:40 < bridge> it doesnt prevent it 09:40 < bridge> but makes it a tiny bit better 09:40 <+ChillerDragon> wot 09:40 < bridge> important also 09:40 < bridge> cl_refresh_rate 0 09:41 <+ChillerDragon> 480 xd 09:41 <+ChillerDragon> wowo 600 fps 09:41 <+ChillerDragon> but tearing back 09:41 <+ChillerDragon> i think i added the 480 limit once to fix tearing 09:42 < bridge> ah yeah u play on 4k screen right? 09:42 <+ChillerDragon> poor mans vsync 09:42 <+ChillerDragon> yes 09:42 < bridge> then rip 09:42 < bridge> 4k and 60fps lmao 09:42 <+ChillerDragon> ikr 09:42 <+ChillerDragon> i gotta buy 4k 144hz 09:42 < bridge> that must be horror gaming combo 09:42 < bridge> more like 4k 240hz 09:42 <+ChillerDragon> its been smooth so far actually 09:42 <+ChillerDragon> i can not affort 4k 240hz 28" 09:42 <+ChillerDragon> afford* 09:42 < bridge> yes u can 09:42 <+ChillerDragon> ok finanical advisor if u say so 09:43 < bridge> xd 09:43 < bridge> 1125 € 09:43 < bridge> that's free af 09:43 <+ChillerDragon> uff 09:43 <+ChillerDragon> i was more thinking 700 09:43 < bridge> but 32'' 09:43 <+ChillerDragon> 32 hmm 09:43 <+ChillerDragon> im used to 28 09:44 <+ChillerDragon> send link 09:44 <+ChillerDragon> i was thinking this https://www.amazon.de/Gigabyte-Monitore-Monitor-M28U-EK-3840X2160/dp/B09778LZGQ 09:44 < bridge> https://www.amazon.de/Samsung-S32BG850NU-UHD-Aufl%C3%B6sung-Reaktionszeit-Bildwiederholrate/dp/B09YV3LYTM/ 09:45 < bridge> urs 144hz, not future proof 09:45 < bridge> invest into my future 09:45 <+ChillerDragon> e wot 09:45 < bridge> if u buy expensive now, i can buy cheap in 3 years 09:45 <+ChillerDragon> 144hz is fine for my eyes 09:45 <+ChillerDragon> i used 60hz forever 09:45 <+ChillerDragon> and it good gaming xd 09:45 < bridge> its much better 09:45 < bridge> but will still see tearing, just less annoying 09:45 <+ChillerDragon> also the screen u sent is broken 09:45 <+ChillerDragon> it has a dent 09:46 < bridge> with 240hz its almost gone 09:46 < bridge> better would be 480hz 09:46 < bridge> invest into 480hz 09:46 <+ChillerDragon> me buying expensive high end stuff makes it cheaper for u in the future? 09:46 <+ChillerDragon> if you say so mr financial pro 09:46 < bridge> yeah the market will shift to it eventually then 09:47 < bridge> if everyone would buy 8k tv, they would get mainstream 09:47 < bridge> but nobody wants it 09:47 <+ChillerDragon> yea but curved is cursed 09:47 < bridge> xd 09:47 < bridge> never used one 09:47 < bridge> bcs i fear the curse 09:47 <+ChillerDragon> i would try emacs before i try curved screen 09:47 < bridge> but for me 27'' it is 09:47 <+ChillerDragon> i gotta get 28" so i can zooz better in fng 09:48 < bridge> u can simply go towards the screen with ur eyes 09:48 < bridge> lifehack 09:48 <+ChillerDragon> hm 09:48 <+ChillerDragon> vr 09:49 <+ChillerDragon> anyone ever tried tw vr gaming? xd 09:50 < bridge> https://www.amazon.de/ASUS-PG27AQN-27-Zoll-esports-Monitor/dp/B0BL82FYV4/ 09:50 < bridge> 09:50 < bridge> my next monitor 09:50 < bridge> 360hz IPS panel 09:50 < bridge> nice 09:50 <+ChillerDragon> uff the price bro 09:50 < bridge> no, i dont have vr setup 09:50 < bridge> u gotta invest, and feel stupid after 2 years 09:50 < bridge> else nothing changes 09:50 <+ChillerDragon> xd 09:51 <+ChillerDragon> progressive screen pioneer 09:51 <+ChillerDragon> its not even 4k .-. 09:51 < bridge> i dont need 4k anyway 09:51 <+ChillerDragon> which helps with fps 09:51 <+ChillerDragon> but still 09:52 < bridge> i dont sit 1 centimeter away from my screen 09:52 <+ChillerDragon> u just said 09:52 < bridge> i prefer more hertz 😄 09:52 <+ChillerDragon> i am big zoozer 09:52 < bridge> yes u need 4k 09:52 < bridge> u need 16k tbh 09:52 <+ChillerDragon> i loose all my fps anyways with -30 zoom on Back in Time 3 09:52 < bridge> then all the 4k tee skins finally have a purpose 09:52 <+ChillerDragon> ye tru 09:53 <+ChillerDragon> but i zoom out 09:53 <+ChillerDragon> not in 09:53 <+ChillerDragon> so i basically could downscale 09:53 < bridge> i should write a compute shader to speedup zooming out rendering 09:53 < bridge> but so much work <.< 09:54 <+ChillerDragon> you mean more fps while zoomed out due to saving on rendering pixels that dont fit on the screen anyways? 09:54 <+ChillerDragon> that be soo amazing 09:54 <+ChillerDragon> i buy u a beer if u do 09:55 < bridge> yeah basically like that, but it would involve writing a custom rasterizer, or ray tracer (not like 3d thing), optimized for 2d 09:55 <+ChillerDragon> very pog 09:55 < bridge> add 20k lines of code, no problem xd 09:55 <+ChillerDragon> i noticed the ddrace pro scene slowly picked up zooming 09:56 <+ChillerDragon> playing with 3 times zoomed out on average and replacing pause with zoom on scroll is such a game changer 09:56 <+ChillerDragon> idk how people ever hammerfly through huuughe parts 09:56 <+ChillerDragon> w out zoom 09:57 < bridge> game sense 09:57 <+ChillerDragon> i can fall 10k tiles get a hammerhit done at the bottom 10/10 09:59 <+ChillerDragon> also when tees fall next to you from far above with zoom you can easily predict a hook on most falling speeds where regular zoominners wouldnt even manage to react at all let alone hit the hook 10:00 <+ChillerDragon> but yea you need the hardware for it 10:01 <+ChillerDragon> you can always try zooming in you will realize how much harder the game gets and thats comparable to how much easier it gets when zoomed out 10:11 <+ChillerDragon> are ger2 servers not in http master? 10:11 <+ChillerDragon> ``curl -s https://master1.ddnet.org/ddnet/15/servers.json | jq . | grep ger2`` 10:11 <+ChillerDragon> https://zillyhuhn.com/cs/.1684051889.png 10:12 <+ChillerDragon> some people reported they were not able to find the full multeasymap server 10:14 <+ChillerDragon> https://zillyhuhn.com/cs/.1684052038.png 10:14 <+ChillerDragon> ah no im stoopid xd 10:31 < bridge> https://www.reddit.com/r/ProgrammerHumor/comments/13gt6co/standagainstfloats/ 10:31 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1107223560528867368/rlcj5w7gjpza1.png 10:32 < bridge> time for analog computers xd 10:32 < bridge> then AI would be so much better 😄 10:32 < bridge> just woke up 10:33 < bridge> time to code ddnet again 10:33 < bridge> what did i miss 10:33 < bridge> what r u gonna add into ddnet 10:33 < bridge> or is it the same PR 10:33 < bridge> chiller and me discussed our plan to conquer the world 10:33 < bridge> idk im gonna look 10:33 < bridge> and im gonna merge https://github.com/ddnet/ddnet/pull/6560 10:33 < bridge> cuz learath didnt review when he said 10:33 < bridge> im gonna test it first tho xd 10:42 < bridge> oh nice 10:42 < bridge> this fixes the color laser for draggers 10:43 < bridge> !!! Enjoy the most profitable financial market (crypto market ) as you get 100% profit...and you can also make up to $100k or more in 3days send me a private message and ask me HOW on TGhttps://t.me/VincentKadar 10:44 < bridge> !!! Enjoy the most profitable financial market (crypto market ) as you get 100% profit...and you can also make up to $100k or more in 3days send me a private message and ask me HOW on TGhttps://t.me/VincentKadar 11:11 < bridge> Excellent meme, completely correct 11:12 < bridge> I did take a look, I just didn't merge it, thought you wanted to 11:12 < bridge> ah, but u didnt state anywhere u did review it xd 11:12 < bridge> xD 11:12 < bridge> learath busy man bro 11:12 < bridge> yeah 11:12 < bridge> and im taking over ddnet 11:12 < bridge> he has to fight the eternal darkness 11:13 < bridge> and no one cant stop me 11:13 < bridge> Yeah, extremely busy doing things I absolutely detest. So happy to be part of the living 11:13 < bridge> join the undead 11:17 < bridge> bloat merges 11:25 < bridge> @Ryozuki would u say hiding a bug is better than panic? 11:25 < bridge> hiding = do not crash 11:25 < bridge> u mean the pr i merged? 11:25 < bridge> i would say having no ub is better than anythign else 11:25 < bridge> then we can think about that 11:26 < bridge> then we could use dbg_asserts 11:26 < bridge> make pr 11:26 < bridge> instead of hiding the bug 11:26 < bridge> as some c grandpa once said, talk with code not words 11:26 < bridge> or smth like that idk 11:26 < bridge> well seems like all devs here disagree with me anyway 11:26 < bridge> :gigachad: 11:26 < bridge> i dont agree or disagree 11:27 < bridge> im just on a holy crusade against ub 11:27 < bridge> @Jupeyy_Keks review my pr and approve it https://github.com/ddnet/ddnet/pull/6585 11:27 < bridge> then i make a pr with ur assert 11:27 < bridge> if u tell me what uwant 11:28 < bridge> it changes server code 11:28 < bridge> that is like selfkilling 11:28 < bridge> i tested it ^tm 11:30 < bridge> later tonight after learath reviewed it 11:30 < bridge> [ PASSED ] 200 tests. 11:30 < bridge> [ FAILED ] 1 test, listed below: 11:30 < bridge> [ FAILED ] Sql/SingleScore.LoadPlayerData/SQLite, where GetParam() = 0x556ce7ecc060 11:30 < bridge> 11:30 < bridge> 1 FAILED TEST 11:30 < bridge> f 11:30 < bridge> xd 11:32 < bridge> dude this test framework sucks 11:32 < bridge> it doesnt tell me the expected value 11:32 < bridge> say it 11:32 < bridge> rust is better 11:33 < bridge> 😎 11:33 < bridge> Expected equality of these values: 11:33 < bridge> m_pPlayerResult->m_Data.m_Info.m_Time 11:33 < bridge> Which is: -1 11:33 < bridge> 0.0 11:33 < bridge> Which is: 0 11:33 < bridge> [ FAILED ] Sql/SingleScore.LoadPlayerData/SQLite, where GetParam() = 0x5608e0708060 (0 ms) 11:33 < bridge> found 11:33 < bridge> makes sense 11:33 < bridge> cuz it changed i guess 11:36 < bridge> fixed 11:36 < bridge> so never 11:37 < bridge> iks de 11:43 < bridge> What are we disagreeing on? 11:45 < bridge> Is this a followup or does it replace #5960 completely? 11:45 < bridge> https://github.com/ddnet/ddnet/pull/5960 11:45 < bridge> #6497 11:45 < bridge> followup, i just fixed conflicts and the test 11:45 < bridge> https://github.com/ddnet/ddnet/pull/6497 11:46 < bridge> I thought we resolved that conflict. You can refuse to launch without a data dir imo but you shouldn't invoke UB while doing so 11:47 < bridge> well they add this weird patch to allow headless client work without data dir 11:47 <+ChillerDragon> headless pog 11:47 < bridge> xd 11:47 < bridge> It also fixes the issues if your normal client is missing some files 11:47 < bridge> it should hang the client if you are missing a language index 11:48 < bridge> @Learath2 do u want me to take over https://github.com/ddnet/ddnet/pull/5558 11:48 < bridge> anyway, to me this is a if(... == nullptr) patch 11:48 < bridge> 11:48 < bridge> and they are usually a sign of bad design to me 11:48 < bridge> 11:48 < bridge> you can ofc disagree 11:48 < bridge> it shouldn't hang the client if you are missing a language index 11:48 < bridge> take over as in fix conflicts xd 11:49 < bridge> i mean ddnet isnt the pinacle of design anyways 11:49 < bridge> it uses c++ to begin with 11:49 < bridge> :justatest: 11:49 < bridge> xD 11:49 < bridge> i agree, but its more effort to revert such stuff than to design it from the start 11:50 < bridge> write cpp2rust converter and run :justatest: 11:50 < bridge> just make a pr and handle it however u want, but no ub 11:50 < bridge> some day in 3000 years i release ddnet-best-vk-edition 11:50 < bridge> and then i can die 11:51 < bridge> Mh. I forgot about that one. I'll finish it up 11:51 < bridge> good good 11:51 < bridge> get to work slave 11:51 < bridge> Might aswell do something I enjoy for once 11:51 < bridge> nice 11:52 < bridge> https://github.com/ddnet/ddnet/pull/5737 11:52 < bridge> this is such a big pr 11:52 < bridge> and no conflicts 11:52 < bridge> but im 2 lazy to review it 11:52 < bridge> Yeah I 1 million % disagree. Who hates null guards even wtf 11:52 < bridge> i dont know editor much anyway 11:53 < bridge> You should contact Chairn and ask for him to help you get a job in the academia 11:54 < bridge> yeah who doesnt likes to spam a if(... == nullptr) to every single code line in existence just bcs someone from 1000 years agos decided it can be null 11:54 < bridge> yeah 11:54 < bridge> even in rust i try not to use too many Option 11:54 < bridge> i am not saying it never makes sense ofc 11:54 < bridge> to a reasonable degree 11:54 < bridge> but in c++ its too dangerous 11:54 < bridge> a option is safe 11:55 < bridge> yeah but passing it around everywhere just sucks xD 11:55 < bridge> Anyway, if you don't like the null guard there, move it up the callstack. When you don't find a data dir print an error and quit 11:55 < bridge> Or assert 11:55 < bridge> and unwrapping a option is a panic, a null deref a segfault 11:55 < bridge> yes, totally fine with that 11:55 < bridge> there it makes sense 11:56 < bridge> yeah we know how awesomely awesome awesome-rust is, not awesomely enough it still doesn't make awesome fixes more awesome 11:56 < bridge> ok 11:56 < bridge> awesome 11:57 < bridge> awesome 11:57 < bridge> a awesome fix is awesome by def tho 11:59 < bridge> @marmare_314 Do you have time to update https://github.com/ddnet/ddnet/pull/6546 ? 12:01 < bridge> Can one of you rust enthusiasts work on https://github.com/ddnet/ddnet/pull/6279 ? 12:02 < bridge> at work i just use https://github.com/taiki-e/cargo-llvm-cov 12:11 < bridge> ChillerDragon: zoom on mousewheel is goated. 12:14 <+ChillerDragon> nono have you tried? 12:14 <+ChillerDragon> i scroll on mousewheel and zoom on shift+mousewheel its really pog 12:14 <+ChillerDragon> ah i mean i change weapons on regular mousehweel 12:16 <+ChillerDragon> so you can see me doing a emote when i zoom out its very sophisticated 12:20 < bridge> OH 12:20 < bridge> @Robyt3 i think i found out why 12:20 < bridge> its a bug in rust i think 12:20 < bridge> https://github.com/rust-lang/rust/issues/95825 12:20 < bridge> the ci fails on the doc tests 12:21 < bridge> ok nvm 12:21 < bridge> im blind and cant read 12:21 < bridge> it doesnt fail on the doc test 12:21 < bridge> xd 12:21 < bridge> /usr/bin/ld: /home/runner/work/ddnet/ddnet/headless/debug/deps/libddnet_test-5eaca437e040b524.rlib(linereader.cpp.o):(.data.rel+0x20): undefined reference to `__gcov_merge_add' 12:22 < bridge> this looks like a cpp error not rust tho 12:22 <+ChillerDragon> rust fan manages to blame rust bug on c++ 12:25 < bridge> It was caused by adding rust to the build though 12:25 < bridge> i think its missing -lgcov 12:25 < bridge> in the rustflags 12:25 < bridge> ill try 12:25 < bridge> > because the cmake-init-env overwrites outside env variables 12:32 < bridge> @Robyt3 lol asan triggered on ci 12:32 < bridge> https://github.com/ddnet/ddnet/actions/runs/4971879116/jobs/8896710547?pr=6586 12:32 < bridge> is this cuz the branch is old? 12:33 < bridge> lol is this not rebased on master? 12:33 < bridge> this also randomly happened in https://github.com/ddnet/ddnet/pull/6565 12:34 < bridge> i rebased now, without conflicts 12:34 < bridge> ok, so it wasn't my PR making the bug happen more frequently 12:35 < bridge> @Robyt3 if u can take a look at https://github.com/ddnet/ddnet/pull/6585 12:35 < bridge> @fokkonaut this interests u doesnt it 12:36 < bridge> yes 12:37 < bridge> I still need it xd 12:38 < bridge> review it again 12:45 < bridge> @Ryozuki do u want to fix smth? 12:45 < bridge> fix what? 12:45 < bridge> do you need a task? 12:45 < bridge> im trying to fix the ci coverage rn 12:46 < bridge> but if u know something ez tell 12:46 < bridge> its very complex 12:46 < bridge> then no 12:46 < bridge> sad 12:46 < bridge> what is it tho 12:47 < bridge> make mouse movement more accurate 12:47 < bridge> 12:47 < bridge> floats are a problem, e.g. if u have high FPS and add small values to a float it increases the chance of inaccuracy a lot 12:48 < bridge> also find out how on different operating systems the relative mouse movement reporting changes based on resolution and DPI 12:48 < bridge> SDL documentation is shit like always 12:48 < bridge> so we should document ourself 12:48 < bridge> I think a newer SDL version makes some improvements for more accurate mouse movement 12:48 < bridge> well even ms documentation isnt satisfying to me tbh 12:48 < bridge> https://learn.microsoft.com/en-us/windows/win32/api/winuser/ns-winuser-rawmouse 12:49 < bridge> its not clear how i should image the relative mouse movement exactly based on the mouse DPI settings 12:51 < bridge> i mean a mouse with polling rate of 8000 hertz should probably report very slight movements 12:51 < bridge> 12:51 < bridge> how do you even display that in a integer? 12:51 < bridge> 12:51 < bridge> i doubt they thought about 2023 when they designed the API xd 12:52 < bridge> In SDL3: "Mouse events use floating point values for mouse coordinates and relative motion values. You can get sub-pixel motion depending on the platform and display scaling." 12:52 < bridge> ah nice 12:52 < bridge> but why float 12:52 < bridge> why not double 12:52 < bridge> cant trust floats xd 12:52 < bridge> or fixed point floats, even better 12:53 < bridge> floats should be enough for pixel values 12:53 < bridge> how accurate can you even move a mouse? 12:53 < bridge> not even perfection is good enough for ddnet 12:54 < bridge> i dunno, but the sensors have like 23k dpi, and 8000 hertz 12:54 < bridge> i guess its pretty accurate, and i dont trust floats 12:54 < bridge> https://tenor.com/view/what-do-they-mean-random-numbers-gif-10654449 12:55 < bridge> i mean wtf even is sub-pixel in this regard? 12:55 < bridge> do they use the window screen size or what? 12:55 < bridge> i'd have thought relative mouse movement is unrelated to that 12:56 < bridge> meh 12:56 < bridge> it failed again 12:56 < bridge> out of ideas 12:57 < bridge> sad, but thanks for trying 12:57 < bridge> @Jupeyy_Keks Any idea how we get this assertion now? https://github.com/ddnet/ddnet/issues/5143#issuecomment-1546735484 12:58 < bridge> `Found non empty text container with index 681 with 6 quads 'Team 0'` 12:58 < bridge> Doesn't look like a `DeleteTextContainer` is missing 12:59 < bridge> ah nice, do you know when we even display Team 0 12:59 < bridge> scoreboard? 12:59 < bridge> nah 13:00 < bridge> where tf do we display team 0 xD 13:00 < bridge> kill message 13:00 < bridge> i never read this in my entire life in the client (except chat) XD 13:00 < bridge> is LDFLAGS and LFLAGS different? 13:00 < bridge> it's new from the team kill messages 13:00 < bridge> LFLAGS ? never heard 13:00 < bridge> but it uses the existing kill message code, so it should delete the containers 13:00 < bridge> > no, LFLAGS are additional flags for lex (as in lex & yacc). LDFLAGS is 13:00 < bridge> > used when calling the linker. They are both used for implicit rules. 13:01 < bridge> LFLAGS 13:01 < bridge> 13:01 < bridge> Extra flags to give to Lex. 13:01 < bridge> lol 13:01 < bridge> ok then we somehow clear kill msgs 13:01 < bridge> 13:01 < bridge> i guess 13:01 < bridge> without noticing 13:01 < bridge> in worst case memory overflow, sadly kaffeine who could reprod didnt find more 13:02 < bridge> u rewrite ddnet in latex? nice 13:02 < bridge> no 13:02 < bridge> u know what a lexer is right 13:02 < bridge> oh yeah misread xd 13:03 < bridge> lmao, good brain 13:03 < bridge> need more gehirnjogging 13:04 < bridge> what 13:04 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1107262243772575804/message.txt 13:04 < bridge> lmao 13:05 < bridge> https://futurefive.co.nz/uploads/story/2020/01/21/Braintrain.webp 13:05 < bridge> this 13:05 < bridge> xd 13:05 < bridge> in english its called brain age 13:05 < bridge> it was pretty popular in germany xd 13:05 < bridge> `Team %d` is also used in the scoreboard, but only with `TextEx` 13:05 < bridge> i suspect textex anyway 13:06 < bridge> but do we ever print out team 0? 13:06 < bridge> ah, we don't 13:06 < bridge> so it has to be the kill message text 13:07 < bridge> I enjoyed the tas at agdq, is gud https://www.youtube.com/watch?v=mSFHKAvTGNk&t=1000s 13:08 < bridge> my only thesis on this is: 13:08 < bridge> we run out of cmd space in graphics_threaded while being tabbed out, when background rendering is disabled 13:08 < bridge> 13:08 < bridge> but 1. that shouldn't happen very quickly 13:08 < bridge> 2. i didnt find anything 13:08 < bridge> i could try to reduce the buffer size to check if i can reprod 13:08 < bridge> yeah true, saw that before, really awesome 😄 13:16 < bridge> mh seems like the running out of cmd is relatively safe as expected 13:17 < bridge> where exactly in the kill messages do we print the t0? 13:17 < bridge> 13:17 < bridge> do i need to update my server for that? 13:17 < bridge> i only see my tee and name 13:18 < bridge> it's easiest to just add some server code to keep sending team kill messages 13:18 < bridge> you need to be in a team with at least another tee I think 13:19 < bridge> and how do u do that in team 0 😂 13:19 < bridge> hmmmmmm 13:28 < bridge> asan 13:30 < bridge> wtf, why is it happening so often now 13:45 < bridge> maybe u changed the code layout so its more often triggered^^ 13:52 < bridge> @Ryozuki Can you merge it anyway, so the usage of `os_version_str` is correct again? I'll work on a fix for the ASAN issue next. 13:53 < bridge> ye 13:55 < bridge> @Robyt3 i have an idea 13:55 < bridge> is the crashlog from you? 13:55 < bridge> it's from teini94 13:56 < bridge> can u ask him if he toggles nameplates visisbility or similar 13:57 < bridge> @teini94 ^ can you check this, about the recent crash popup and the `Found non empty text container with index 681 with 6 quads 'Team 0'` error 13:59 < bridge> And if not. Do u still have the broken Auto demo 14:39 < bridge> @Ryozuki thanks for wasting your time on cpp just to make ddnet great, what a sacrifise 15:04 < bridge> big sacrifice 15:48 < bridge> When rework the collisions? hurts to look at 15:48 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1107303491652812870/image.png 15:49 < bridge> When rework the collisions? hurts to look at (jk) 15:49 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1107303491652812870/image.png 15:49 < bridge> gonna do my own collision check on my system, hopefully it doesn't require me to write 30+ codes for it 16:17 <+ChillerDragon> omg i just did a typo in my email xd when signing up for a web account i now registered that typoed email lmao anyone else got typo versions of the email registered just in case? xd 16:19 < bridge> no xd 16:21 <+ChillerDragon> ryo you need that your gamertag and irl name is a single typo no way ppl get that right the first time 16:22 <+ChillerDragon> royzuki@yahoo.com 16:23 <+ChillerDragon> gotta singup heinrich5990@gmail.com and tell deen i forgot ssh password 17:36 < bridge> :kek: 17:44 <+ChillerDragon> @heinrich5991 monthly request to get snap into dissector but this time i actually it only ending up in the json any chance you could rename the kind from data to something custom like snap_data? https://github.com/heinrich5991/libtw2/blob/89ec0167e7ad1c6fa60d96788d2005a04aee43d4/gamenet/generate/spec/teeworlds-0.7.5.json#L957 17:44 <+ChillerDragon> need* 17:45 <+ChillerDragon> years of irc i and i still proof read my messages after sending them gg 17:46 < bridge> im reviving edlang again 17:46 < bridge> now im using logos as the lexer 17:46 <+ChillerDragon> next use lexer as the logo 17:46 < bridge> ``` 17:46 < bridge> fn main(x: i64) -> i64 { 17:46 < bridge> let x = 2 + 3; 17:46 < bridge> return x; 17:46 < bridge> } 17:46 < bridge> ``` 17:46 < bridge> 17:46 < bridge> to 17:46 < bridge> ```llvm 17:46 < bridge> ; ModuleID = 'simple.ed' 17:46 < bridge> source_filename = "simple.ed" 17:46 < bridge> 17:46 < bridge> define i64 @main(i64 %0) { 17:46 < bridge> entry: 17:46 < bridge> ret i32 5 17:46 < bridge> } 17:46 < bridge> ``` 17:46 < bridge> ok i32 is wrong kek 17:47 < bridge> imagine having type resolution 17:47 < bridge> anyway 18:21 < bridge> my default zoom level is 7 so zoomed out 3 times 18:22 < bridge> i know some players uses 5 zoom out, but i cant see tees besides me if i do that 18:26 < bridge> here is the demo, doesn't crash for me though 18:26 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1107343168753635479/text_container_empty_Team_0.demo 18:26 < bridge> ah the voice of reason, you post source 🙂 18:26 < bridge> here is the demo, doesn't crash for me though. he uses a nameplate bind 18:26 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1107343168753635479/text_container_empty_Team_0.demo 18:26 < bridge> what do you think analog data types are closer to? 18:27 < bridge> most efficient ai designs are already analog 18:27 < bridge> physics 18:28 < bridge> bcs our brain works like that 18:29 < bridge> you're replying to yourself, uh? 18:30 < bridge> yeah the crash is not in ofc, if someone gets it, he should press his nvidia replay bind lmao 18:30 < bridge> 18:30 < bridge> mhh i wonder wtf could have print t0 18:31 < bridge> have you ever heard of `x == x+1` returning `true` 😄 ? 18:33 < bridge> sry my brain is not suited to understand how your 300 IQ questions are in relation to what i wrote 18:33 < bridge> closer to in terms of digital data types 18:34 < bridge> i was doubly referencing brains and analog designs outperforming digital designs 18:34 < bridge> linked to the float being inaccurate 18:34 < bridge> single precision is around 7 digits exact 18:34 < bridge> well i guess floats have all kind weirdness ^^ 18:35 < bridge> double precision has 15 exact digits, iirc 18:35 < bridge> I wanted to add to my statement, but didn't want to edit it since it looks weird on irc 18:36 < bridge> as soon as floats are not in [-1, 1] they start to suck 18:36 < bridge> ok no, they always suck 18:36 < bridge> i take that back 18:38 < bridge> https://tenor.com/view/click-enter-gif-19678832 18:38 < bridge> @Reteah 18:38 < bridge> lemme write it in vim and I'll copy pasta 18:45 < bridge> I had a InTeReSTIng (interesting) idea for a 3D game, which maybe also be applicable to 2D (mainly to tw). 18:45 < bridge> For 3D: 18:45 < bridge> You would see 3 viewports One for each hand (2 hands) and one for the head. You would play with 2 mice one mouse for each hand. Each mouse would control one "hand" camera and the "head" camera would change direction slowly to the most uptodate hand camera. 18:45 < bridge> You would 18:45 < bridge> 1. move the (hand) cameras via the mouse movement 18:45 < bridge> 2. move the player (fwd, bwd) with scroll on one mouse and (left, right) with scroll one the other mouse. 18:45 < bridge> 3. fire with LMB and hook with RMB for each hand. 18:45 < bridge> 3. switch weapons with MB4 and MB 18:46 < bridge> For 2D (in this case for tw): 18:46 < bridge> You would only have one viewport (camera) but 2 cursors (one for each hand). It pretty self explanatory I think on how it would work. 18:47 < bridge> i'd try it out, sounds funny for e.g. fng 18:48 < bridge> Yeah, right? xD 18:48 < bridge> atm I am trying to figure out how to get input from each mouse separately. 18:50 < bridge> The best idea so far is to get the input from /dev/input/eventX. Where X would correspond to the mouse event eg /dev/input/event3 18:51 < bridge> https://www.arewesixelyet.com 18:52 < bridge> sdl sends device id, doesnt it 18:52 < bridge> zogtib says that we should we use libinput (run it and sed stuff so we end the the scroll, mouse movement and buttons) but I wanna see how libinput works and do the same stuff ¯\_(ツ)_/¯ 18:52 < bridge> I think it only does for gamecontroller not mice 18:52 < bridge> lemme look it pu 18:52 < bridge> lemme look it up 18:53 < bridge> lol is he x11 dev? 18:53 < bridge> I think it only does for gamecontroller not mice (xorg doesn't send the device id of mice to windows which is the current problem) 18:53 < bridge> no xD 18:55 < bridge> I had a InTeReSTIng (interesting) idea for a 3D game, which maybe also be applicable to 2D (mainly to tw). 18:55 < bridge> For 3D: 18:55 < bridge> You would see 3 viewports One for each hand (2 hands) and one for the head. You would play with 2 mice one mouse for each hand. Each mouse would control one "hand" camera and the "head" camera would change direction slowly to the most uptodate hand camera. 18:55 < bridge> You would 18:55 < bridge> 1. move the (hand) cameras via the mouse movement 18:55 < bridge> 2. move the player (fwd, bwd) with scroll on one mouse and (left, right) with scroll one the other mouse. 18:55 < bridge> 3. fire with LMB and hook with RMB for each hand. 18:55 < bridge> 3. switch weapons with MB4 and MB5 18:55 < bridge> Uint32 which; /**< The mouse instance id, or SDL_TOUCH_MOUSEID */ 18:55 < bridge> ` Uint32 which; /**< The mouse instance id, or SDL_TOUCH_MOUSEID */ ` 18:55 < bridge> i guess with instance they mean device? 18:56 < bridge> the sdl events else send this 18:56 < bridge> the SDL api to get the position apparently not 18:56 < bridge> sdl internally has a single mouse 18:57 < bridge> yeah makes sense 18:59 < bridge> does sdl get mouse movement and stuff from /dev/input/* or from the window? 19:00 < bridge> I found this https://github.com/libsdl-org/SDL/commit/f9d1f34b6ca5b9efa4d0eed6f6caba6823c9e395 19:00 < bridge> so maybe it's possible? :) 19:01 < bridge> X11_Xinput2 19:03 < bridge> i dunno looks overly complicated how sdl solved all this xd 19:03 < bridge> but yeah seems at least for the events it has a unique id 19:03 < bridge> if we can get it from sdl for tw it'd be very easy to implement 19:03 < bridge> i mean 19:03 < bridge> plug mouse in 19:04 < bridge> printf 19:04 < bridge> be happy 19:04 < bridge> dond wori 19:06 < bridge> did we ever have a report that this happened on a (latest) ddnet server? 19:06 < bridge> 19:07 < bridge> i feel like it's always on old servers. 19:07 < bridge> koffein was on infection 19:07 < bridge> teini probably uses ddrock from 1995 19:07 < bridge> 19:07 < bridge> also i wonder what happens if we have a server demo 19:56 < bridge> Hi, i have a small question in the round. My modification is not displayed under DDnet and i can not connect via IP. But in the vanilla client everything works fine. Someone has solutions for me? 19:56 < bridge> Hi, i have a small question. My modification is not displayed under DDnet and i can not connect via IP. But in the vanilla client everything works fine. Someone has solutions for me? 19:57 < bridge> only official servers are under DDNet 19:57 < bridge> other servers are under Internet or LAN tab 19:58 < bridge> Also if it's not visible on the Internet tab but it's visible on the LAN tab make sure you have port-foward and that you have set "sv_register 1" 20:03 < bridge> Ok, maybe i wrote it wrong. Under the vanilla client i find the server and can also connect via IP. With DDnet i can not find the server or can connect by IP. The server is already online and there are no problems with the firewall/master server. 20:03 < bridge> Hmm sounds like you made a mod based on 0.7 which ddnet doesn't support. DDNet mods support 0.6 and 0.7 (in most cases) 20:03 < bridge> 0.7.2 20:04 < bridge> yeah for versions 0.7.x only 0.7 clients can connect 20:04 < bridge> version 0.7 5d6a173c8ba2de7e 20:04 < bridge> oh ok, ty 🙂 21:05 < bridge> merging is now luck based xd 21:06 < bridge> ye it doesn't work :( here's the code I used 21:06 < bridge> ```c 21:06 < bridge> #include 21:06 < bridge> #include 21:06 < bridge> #include 21:06 < bridge> 21:06 < bridge> int 21:07 < bridge> main(void) 21:07 < bridge> { 21:07 < bridge> SDL_Event test_event; 21:07 < bridge> SDL_Window *win; 21:07 < bridge> 21:07 < bridge> SDL_Init(SDL_INIT_VIDEO); 21:07 < bridge> 21:07 < bridge> win = SDL_CreateWindow("mouse test sdl", 21:07 < bridge> SDL_WINDOWPOS_CENTERED, SDL_WINDOWPOS_CENTERED, 21:07 < bridge> 320, 160, 21:07 < bridge> 0 21:07 < bridge> ); 21:07 < bridge> 21:07 < bridge> while (SDL_WaitEvent(&test_event)) { 21:07 < bridge> switch (test_event.type) { 21:07 < bridge> case SDL_MOUSEMOTION: 21:07 < bridge> Uint32 w = test_event.motion.which; 21:07 < bridge> printf("%" PRIu32 "\n", w); 21:07 < bridge> break; 21:07 < bridge> case SDL_QUIT: 21:07 < bridge> exit(0); 21:07 < bridge> default: 21:07 < bridge> printf(":(\n"); 21:07 < bridge> break; 21:20 < bridge> oh nice 21:20 < bridge> you found it! 21:31 < bridge> hmmm, apparently server changed behavior in the last 2 days 21:31 < bridge> map oco is unfinishable right now as tele 0 is teleporting you instead of just not working 21:31 < bridge> Correct, caused by this specific commit: 21:31 < bridge> https://github.com/ddnet/ddnet/pull/6534/commits/245703798bdf15761b0740fbf64b282234b524e1 21:41 < bridge> what, no way 21:41 < bridge> :7 21:41 < bridge> what sdl version did u use? 21:43 < bridge> pacman -Qs sdl ``` 21:43 < bridge> local/lib32-sdl2 2.26.5-1 21:43 < bridge> A library for portable low-level access to a video framebuffer, audio output, mouse, and keyboard 21:43 < bridge> local/sdl12-compat 1.2.60-1 21:43 < bridge> SDL 1.2 runtime compatibility library using SDL 2.0 21:43 < bridge> local/sdl2 2.26.5-1 21:43 < bridge> A library for portable low-level access to a video framebuffer, audio output, mouse, and keyboard (Version 2)``` 21:46 < bridge> sad 21:47 < bridge> ye 22:18 < bridge> weird how changing a condition value from float to bool and make changes according to the type will break maps xd 22:41 < bridge> the map tricks the player with a CFRM tile that doesn't work because it's tele number is set to zero, which now no longer works, because the tele tile number is ignored for tiles that should not be affected by it 22:41 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1107407267499876512/image.png 22:44 < bridge> with new client version the tele tile number is not even rendered for those tiles, where it's unused 22:44 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1107408077810044928/image.png 22:50 < bridge> imho we should fix the map instead of adapting the code for a wrong case 22:50 < bridge> if i understood correctly 22:52 < bridge> yeah, but according to @murpi it's an april fool's themes map, so this sort of ruins the theme 22:52 < bridge> but I'd also prefer if the map was changed instead of adding a weird special case 22:53 < bridge> but I'd also prefer if the map was changed instead of adding a weird special case in the code 22:53 < bridge> yeah, but according to @murpi it's an april fool's themed map, so this sort of ruins the theme 22:53 < bridge> definitly no special case in code 23:08 < bridge> If it's only a single map affected.. simply remove it? 23:12 < bridge> I think entities should be april-fools-proof 23:13 < bridge> IMO they should work as reliable as inspect-element in the browser 23:13 < bridge> anyway, the following maps set a teleporter number of 0 (and should be fixed IMO): 23:13 < bridge> ``` 23:13 < bridge> 17 "types/brutal/maps/Intercepter.map" 23:13 < bridge> 3 "types/dummy/maps/Pace.map" 23:13 < bridge> 154 "types/moderate/maps/Sky Stone.map" 23:13 < bridge> 24 "types/moderate/maps/oco.map" 23:13 < bridge> 1 "types/solo/maps/GetSpeed2.map" 23:13 < bridge> ``` 23:15 < bridge> (thanks to @Patiga for this btw) 23:15 < bridge> 2 @konsti map in there, :thonk: 23:21 < bridge> I'm fairly sure the testing people disagree :/ 23:21 < bridge> (I think there's even a testing rule about it; don't abuse bugs. not that it is really followed) 23:22 < bridge> Only oco uses tele 0 as an gameplay element I think 23:22 < bridge> where do you get that? I'm pretty sure konsti would also play tricks like that 23:22 < bridge> I've played all of them 23:23 < bridge> I'd thought that it is probable, on getspeed4 it was rejected where konsti wanted to do a secret room with it