01:15 < bridge> @furo321 we are such late night coder's its insane 01:18 < bridge> 🚀 01:18 < bridge> :gigachad: 01:22 < bridge> pog 03:56 < bridge> Oh, sorry 03:59 < bridge> I found that there are many robots of "(connecting)" in registered servers, did it 03:59 < bridge> I found that there are many robots of "(connecting)" in registered servers, was it DDOS? 04:03 < bridge> And I found that there are many robots of "(connecting)" in registered servers, was it DDOS? 04:03 < bridge> And I found that there are many robots of "(connecting)" in registered servers at 0:00, was it DDOS? 04:03 < bridge> And I found that there are many robots of "(connecting)" in registered servers at 0:00 (UTC+8), was it DDOS? 04:58 < bridge> Fake player you can ban without problems 05:04 < bridge> im alive 06:07 < ws-client> daily bash quiz! ``x=1;ls | x=2;echo "$x"`` 06:07 < ws-client> a) error 06:07 < ws-client> b) 1 06:07 < ws-client> c) 2 06:12 < ws-client> @meloƞ i got you bro https://zillyhuhn.com/crack/bam4 07:01 < ws-client> @milkeeycat lmao nice https://github.com/MilkeeyCat/deez_bridge 08:41 < bridge> ❤️❤️❤️ 08:58 < bridge> chillerdragon: im proud of that name 09:00 < bridge> So far i spent most of the time to find a working irc docker image 09:24 < ws-client> eww why docker @milkeeycat 09:25 < ws-client> you mean to run a server for testing? or to run your client lib in a container? 09:25 < bridge> i aint installing real irc server on my machine 09:25 < ws-client> why not? 09:25 < bridge> coz that shit is gonna install smth in /etc 09:25 < bridge> i can just run docker compose up and it will work 09:25 < ws-client> watfak no? 09:26 < ws-client> docker and docker compose will put stuff in /etc 09:26 < ws-client> docker is the worst 09:26 < ws-client> just run https://github.com/jrosdahl/miniircd 09:26 < ws-client> at least use podman :p 09:26 < ws-client> you can also test stuff on quakenet 09:26 < bridge> :banhammer: 09:27 < bridge> it already can send messages 😄 09:27 < ws-client> thats poggies 09:27 < bridge> so probably i can bridge my discord sever and #ddnet-off-topic 09:27 < ws-client> soon new bridge for #developer <:poggers2:1008007455936094328> 09:28 < bridge> btw 09:28 < bridge> i was confused about how irc works 09:28 < bridge> so basically u join a server 09:28 < bridge> quakenet for example 09:28 < bridge> and u can make own channel 09:28 < ws-client> yes 09:28 < bridge> like `/join #foo` 09:28 < ws-client> yes 09:29 < bridge> does it get removed when u leave? 09:29 < ws-client> define removed xd 09:29 < ws-client> idk 09:29 < ws-client> whats the different between removed and empty? 09:29 < ws-client> you can also create your self a channel on chat.zillyhuhn.com here https://github.com/discord-irc/irc-websockets/blob/91135aaa4e2062dbfd1e85cb0113b1f3558feb27/src/bridge_connections.ts 09:29 < bridge> ok, another question does #ddnet-off-topic always have anyone in it? 09:30 < ws-client> the client of chat.zillyhuhn.com is mostly in there and my bouncer 09:30 < ws-client> but its same vps so on reboot its empty 09:31 < ws-client> @milkeeycat idk much about irc tbh. But i think on quakenet the first joiner of a channel can take some ownership. And when he rejoins he can request that from Q bot again 09:32 < ws-client> might be that if the channel gets fully empty for a while that someone else can claim ownership again idk 09:32 < ws-client> not sure if the irc spec even has such things defined. I could image that depends on your network 09:44 < bridge> is irc cool again 09:45 < bridge> i just wanted to make something in go 09:47 < ws-client> yea im workin on the backend rn 09:47 < bridge> i connect my bot in 10 tries ;-; 09:48 < bridge> why go 09:48 < bridge> isn't this a rust household 09:48 < bridge> i like go 09:48 < ws-client> go daddy 09:48 < bridge> fukc that shit :justatest: 09:49 < ws-client> erhm wtf is chat.zillyhuhn.com missing half the messages?! 09:49 < bridge> this 09:49 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1202173722430021652/3KVIAiCIAiCIAiCIAiCIAiCIAiCIAiCIAiCIAiCIAiCIAiCIAiCIAiCIAiCIAiCIAiCIP8DzVydYHOQvG4AAAAAElFTkSuQmCC.png?ex=65cc7e86&is=65ba0986&hm=0d16b57edef7aadb40b8d17ca6f53c14547f9f9b8e38cad29fd3414a15d31473& 09:49 < ws-client> yes 09:49 < bridge> i opened their site once and i was getting their ads in british for weeks 09:49 < bridge> chillerdragon: send token 09:49 < ws-client> https://zillyhuhn.com/cs/.1706690967.png 09:50 < ws-client> @TsFreddie token is: nimrocks 09:50 < ws-client> Very cool 09:50 < ws-client> @TsFreddie its bring your own security approach. I store passwords in plaintext <:justatest:572499997178986510> 09:50 < ws-client> so make sure to hash them on your side :p 09:50 < bridge> @tsfreddie checkout that coll ass emoji picker :santatrollet: 09:50 < bridge> oops, too late 09:50 < ws-client> rip 09:50 < bridge> @tsfreddie checkout that cool ass emoji picker :santatrollet: 09:51 < bridge> have fun with my bank account 09:51 < ws-client> ye @TsFreddie if u do : and tab that thing is built by milkeey its really pog 09:51 < ws-client> eh i mean : (and a letter) 09:52 < ws-client> <:justatest:572499997178986510> 09:52 < ws-client> i don't understand 09:52 < ws-client> nob 09:52 < bridge> isnt it just like in discord? 09:53 < bridge> idk, tab does nothing for me 09:53 < ws-client> ye i sent wrong instructions it used to be like that before 09:53 < ws-client> its : and a letter 09:53 < ws-client> do like :j 09:53 < ws-client> :j 09:53 < ws-client> xd 09:53 < ws-client> wtf 09:53 < ws-client> ah its off by default omg @MilkeeyCat 09:53 < ws-client> why u do dat btw xd 09:53 < ws-client> @TsFreddie bottom left settings 09:53 < ws-client> turn it on 09:53 < ws-client> :j 09:53 < ws-client> reload the page 09:54 < ws-client> xd 09:54 < bridge> bruh, too many instructions 09:54 < ws-client> ikr 09:54 < ws-client> bajillion instructions to send an emoji xDDD 09:54 < ws-client> @MilkeeyCat when fix xd 09:54 < ws-client> ye it works now 09:54 < ws-client> anyway back to work now 09:54 < ws-client> @ChillerDragon doesnt it work as needed? 09:54 < ws-client> its off for newcomers 09:54 < ws-client> do we want that? 09:54 < ws-client> oh 09:55 < ws-client> i dont even know where to turn it on xD 09:55 < bridge> i mean do you intend to have more newcomers 09:55 < ws-client> no so its not too dramatic 09:55 < ws-client> lmao @MilkeeyCat 09:55 < ws-client> ok gtg bye 09:55 < bridge> bye 10:09 < bridge> Why client function "Localize" doesn't get warning -Wformat-nonliteral? 10:26 < bridge> @furo321 chill Out man, leave some for the Rest of us :justatest: 10:34 < bridge> Localize function is not using printf-like functions, but it's simulating their behavior. 10:34 < bridge> 10:34 < bridge> ``` 10:34 < bridge> GNUC_ATTRIBUTE((format_arg(1))); 10:34 < bridge> Localize function is not using printf-like functions, but it's simulating their behavior. 10:34 < bridge> 10:35 < bridge> ```extern const char *Localize(const char *pStr, const char *pContext = "") 10:35 < bridge> 10:35 < bridge> GNUC_ATTRIBUTE((format_arg(1))); 10:35 < bridge> ``` 10:35 < bridge> Localize function is not using printf-like functions, but it's simulating their behavior. 10:35 < bridge> 10:35 < bridge> ```cpp extern const char *Localize(const char *pStr, const char *pContext = "") 10:35 < bridge> 10:35 < bridge> GNUC_ATTRIBUTE((format_arg(1))); 10:35 < bridge> ``` 10:35 < bridge> Localize function is not using printf-like functions, but it's simulating their behavior. 10:35 < bridge> 10:35 < bridge> ```cpp 10:35 < bridge> extern const char *Localize(const char *pStr, const char *pContext = "") 10:35 < bridge> 10:35 < bridge> GNUC_ATTRIBUTE((format_arg(1))); 10:35 < bridge> ``` 10:39 < bridge> OK now 10:40 < bridge> thanks 11:22 < bridge> Why not we also show the game mode on steam friend list? 11:22 < bridge> is it really needed 11:24 < bridge> I think so 11:25 < afterfx> test 12:21 < bridge> hi from eu 12:35 < bridge> time to upgrade 1 week old gentoo 12:41 < bridge> hi 12:42 < bridge> the guy with the egpu still didn’t respond 13:15 < bridge> @learath2 TIL if u dont update for long its recommended to pass --backtrack=1000 or smth high to portage 13:15 < bridge> Yep, it's a good idea 13:16 < bridge> ah there is also --keep-going 13:16 < bridge> @learath2 is it related? 13:16 < bridge> Not exactly, but it can help when you have some dependency update loop 13:17 < bridge> should i add backtrack=10 to my daily upgrade script? xcd 13:17 < bridge> the one i run when i wake up 13:18 < bridge> No point to it if you are running it daily 13:18 < bridge> ok 13:18 < bridge> morning routine: 13:18 < bridge> - coffee 13:18 < bridge> - boot up gentoo 13:18 < bridge> - upgrade 13:18 < bridge> - gym 13:18 < bridge> :owo: 13:19 < bridge> went to sleep at 7 and woke up 15 mins ago today 13:19 < bridge> feels bad 13:19 < bridge> You only really need to bump up backtrack if something breaks 13:19 < bridge> ok 13:20 < bridge> Wher breakfast? 13:28 < bridge> after gym 13:28 < bridge> well i take some protein with my coffee 13:28 < bridge> but its better to not eat 13:28 < bridge> before gym 13:28 < bridge> so u dont puke or smth 13:29 < bridge> also its odd but i never feel like having breakfast before xd 13:33 < bridge> i prefer to eat more at dinner 13:43 < bridge> Understandable. Working out with a full stomach is very meh 15:01 < bridge> from kernel 6.1 to 6.6 ez 15:01 < bridge> new allocator :poggers2: 15:01 < bridge> SLUB 15:23 < bridge> chiller thanks for recommendation: 15:23 < bridge> 15:23 < bridge> deflate: 415078 - 415013, gz: 415096 - 415031, zlib: 415084 - 415031, lz4: 1124876, brotli: 165840, zstd: 228700 - 191730 15:23 < bridge> 15:23 < bridge> brotli wins against everything in my use case, even when i set compression to best 15:23 < bridge> how does it manage to be so good? 15:23 < bridge> i should add lzma too 😄 15:24 < ws-client> wowo 15:24 < ws-client> someone mentioned it in a tech talk i went to o.O 15:24 < ws-client> didnt expect it to be actually good xd 15:36 < bridge> deflate: 415078 - 415013, gz: 415096 - 415031, zlib: 415084 - 415031, lz4: 1124876, brotli: 165840, zstd: 228700 - 191730, lzma: 179541 - 178466 15:36 < bridge> 15:36 < bridge> it even wins against lzma 15:36 < bridge> 15:36 < bridge> lmao, i didnt expect that 15:41 < bridge> Which function adds quotes before and after nickname if there are spaces in nickname? (When search nickname in chat by clicking ``tab``) 15:43 < bridge> lmao I was looking at this yesterday. May you tell me speed wise if it's even slower than lzma? Or is it actually decently fast (compared to gz or zlib) 15:44 < bridge> I believe brotli uses a pretty big dictionary of a lot of common words/terms, which I believe can help quite a lot if you're benchmarking with small files. I think you can create custom dictionaries with zstd as well, but it doesn't have one by default. 15:45 < bridge> 15:45 < bridge> ty <3 15:46 < bridge> it's as fast as deflate algorithms, so basically the fastest around 15:46 < bridge> wtf. actually insane 15:49 < bridge> interesting that this improves it so much, bcs my data is fully binary, no text ^^ 15:49 < bridge> 15:49 < bridge> but maybe repeating patterns match very well tho 15:50 < bridge> Oh, binary data? In that case, I don't think it helps at all. 15:51 < bridge> well i could probably test a custom dictionary at some point, but dunno if i really want to have one 15:51 < bridge> defeats general purpose 15:51 < bridge> We use it for cold-storage backups 15:51 < bridge> Original Size 15:51 < bridge> 788.10MiB 15:51 < bridge> Compressed size 15:51 < bridge> 113.71MiB 15:52 < bridge> We use it (brotli) for cold-storage backups 15:53 < bridge> for tw demos i used lzma2 at max for now, i should try and see if brotli is better for that too 😄 15:55 < bridge> the uncompressed size is 206437961 btw. so the data is mostly empty, else the compression ratio wouldnt be so insanely high 😄 16:19 < bridge> Q: Have any of you used vcpkg in any actual project? 17:18 < bridge> i only remember my attempt to add dpp to vcpkg registry 17:18 < bridge> is that like some m$ apt 17:34 < bridge> @milkeeycat any particular reason why you did not use an existing project instead of building your own? https://github.com/MilkeeyCat/deez_bridge 17:35 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1202291115659624458/image.png?ex=65ccebdb&is=65ba76db&hm=85d7446de1f9e82066d56dfb8254fa73dac26348323056feb2c3b4563dba4179& 17:46 < bridge> it's m$ cargo 17:46 < bridge> yuzu uses it 17:52 < bridge> https://tenor.com/view/ni%C3%B1o-asustado-huh-what-meme-stare-gif-16752413 18:08 < bridge> https://www.reddit.com/r/europe/comments/1afghmc/pigss_comeback_spain_and_the_southern_countries/ 18:08 < bridge> lmao 18:08 < bridge> > PIGS's comeback: Spain and the southern countries are driving the Eurozone's economic growth against a stagnant Germany and France (in Spanish) 18:09 < bridge> > In the case of Spain, GDP increased by 0.6% in the last quarter of the year, while Italy grew by 0.2% and Portugal by 0.8%. These figures contrast with those of Germany (-0.3%), France (0%), Sweden (0.1%) and Austria (0.2%). What was observed in the final quarter of the year is part of a trend that has been observed since Russia invaded Ukraine in February 2022. While the German economy has remained frozen at its pre-war size, the southern countr 18:09 < bridge> > 18:09 < bridge> > Proof of this is that, compared to pre-Pandemic records, the GDP level of Spain, Portugal, Italy or Greece exceeds that of northern economies such as Germany, the Netherlands or Austria and also that of France. The Spanish economy is now 9.8% larger than in the fourth quarter of 2019 (the last one before the pandemic); Portugal's GDP is 10.8% higher, Italy's is 7.7% above and Greece's (no data yet for the fourth quarter) is 8.6% higher than then. 18:14 < bridge> Is it possible to make this show the difficulty of the map instead of the currently selected one? Kinda misleading when the loaded map is hard difficulty and easy is selected 18:14 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1202300785694871672/image.png?ex=65ccf4dc&is=65ba7fdc&hm=168b483ddcb1d5c9f2e3a3463f0d81fa9143a45c935cce3bf8e2c18875da34fb& 18:15 < bridge> this looks like a kog server 18:26 < bridge> any fix about the update failing? 18:26 < bridge> (instead of downloading the latest version & manually updatingà 18:26 < bridge> (instead of downloading the latest version & manually updating) 18:26 < bridge> no 18:26 < bridge> that's your only option 18:58 < bridge> rip 19:18 < bridge> https://github.blog/changelog/2024-01-30-github-actions-introducing-the-new-m1-macos-runner-available-to-open-source/ 19:18 < bridge> @heinrich5991 @deen we can have ci for macos m1 19:21 < bridge> is that interesting to us? 19:21 < bridge> not sure tbh 19:21 < bridge> it uses macos 14 19:22 < bridge> we can deprecate old macos <14 19:22 < bridge> which is the non m1 19:22 < bridge> and then use c++17 features (yes, macos <14 claims c++17 support but doesnt implement everything) 19:22 < bridge> that seems unrelated to the runner and more related to the minimum mac version we want to support, no 19:22 < bridge> that seems unrelated to the runner and more related to the minimum mac version we want to support, no? 19:23 < bridge> https://github.com/ddnet/ddnet/pull/7692 19:23 < bridge> i guess, but modern macos use m1 xd 19:23 < bridge> or arm 19:24 < bridge> macos is an insult to your precious life time 19:24 < bridge> it is 19:24 < bridge> i vote for removing macos support too 19:24 < bridge> and windows 19:24 < bridge> xDD 19:24 < bridge> but we live in a society 19:24 < bridge> :PES_Clown: 19:26 < bridge> according to https://store.steampowered.com/hwsurvey?platform=mac, afaict >25% of macs are still intel 19:26 < bridge> I'm surprised by how much non-intel macs there are already though 19:30 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1202320009938862100/GFHU2G3aUAAgMEA.png?ex=65cd06c4&is=65ba91c4&hm=f1c1fcae56a92c8da62173a539699dded3b4f68ccd1c09faae71423abedd674f& 19:32 < bridge> @ryozuki u should never be a fan of anyone or anything 19:32 < bridge> 19:32 < bridge> secret life tip 19:33 < bridge> Justar ftw 19:33 < bridge> @ryozuki let's start: 19:33 < bridge> 19:33 < bridge> Rust sucks 19:33 < bridge> xd 19:33 < bridge> Jupstar ftw 19:33 < bridge> who r you, random 19:33 < bridge> I'm a ghost! 19:34 < bridge> 👻 19:34 < bridge> well the unicode for it sucks xD 19:34 < bridge> 🥼🎩 19:34 < bridge> xd 19:34 < bridge> but ur hat is important 19:34 < bridge> yeah plus my cloth is from a labcoat ;) 19:45 < bridge> @robyt3 u here 19:46 < bridge> yes 19:46 < bridge> do you also have the feeling that strtoints 19:46 < bridge> https://github.com/ddnet/ddnet/blob/984457a48e112d27e51623a40c2971fa2fe5053a/src/game/gamecore.h#L83 19:46 < bridge> 19:46 < bridge> is buggy? 19:47 < bridge> it's missing a & 0xff after the +128 calculation 19:47 < bridge> bcs the other way around it does that 19:47 < bridge> https://github.com/ddnet/ddnet/blob/984457a48e112d27e51623a40c2971fa2fe5053a/src/game/gamecore.h#L96-L99 19:47 < bridge> for me it fails on this input: 19:47 < bridge> 19:47 < bridge> "Teleport fx�" 19:47 < bridge> is community a new word for hoster? 19:48 < bridge> Is that supposed to be valid? It contains a replacement character for me 19:48 < bridge> according to rust it is 19:48 < bridge> 😂 19:48 < bridge> but still, isnt it weird that we don't "clamp" the int? 19:48 < bridge> I'm not very sure about those functions, we don't have any tests for them right now 19:49 < bridge> it can "write" into the other bytes 19:49 < bridge> It uses `aBuf` which is `char` so I guess it doesn't need to clamp or AND? 19:49 < bridge> but it gets upcasted to int 19:50 < bridge> and then +128 can go out of range of unsigned char 19:50 < bridge> so in a worst case it "writes" into the other bytes 19:51 < bridge> or i don't understand smth important here 19:51 < bridge> mhh signed char vs unsigned char probably? 19:51 < bridge> well then it's probably correct 19:52 < bridge> Definitely confusing enough that we needed to silence a related compiler warning 19:52 < bridge> is there one? 19:52 < bridge> ah yeah 19:52 < bridge> the ifdef block xd 19:52 < bridge> `#pragma GCC diagnostic ignored "-Warray-bounds"` 19:52 < bridge> but that's above what i meant 19:52 < bridge> `char` is signed on most platforms 19:52 < bridge> but yeah it's simply c not defining char as signed or unsigned 19:53 < bridge> yup 19:53 < bridge> who in this world even decided that it's good that it's not defined 19:54 < bridge> it's just the C way to do things, I guess 19:55 < bridge> well i already hate that i have to deal with strtoints xddd 19:55 < bridge> that function is indeed weird 😦 19:55 < bridge> we inherited it, I think 19:55 < bridge> defs, it's used inside the map format 19:56 < bridge> @robyt3 do you know why there are maps with invalid utf8? 19:56 < bridge> 19:56 < bridge> like how did this even happen in first place? 19:56 < bridge> did they develop on ARM? XD 19:57 < bridge> I don't think the functions checks for valid UTF-8, so it might be one of the remaining way to get invalid UTF-8 into the client 19:57 < bridge> mh ok 19:57 < bridge> Initially UTF-8 wasn't used consistently when the filename comes from the OS, so ANSI filenames containing umlauts are considered as invalid UTF-8 19:58 < bridge> At least from the maps with invalid UTF-8 that Patiga found it looks like that 19:58 < bridge> yea, because we didn't have correct handling for non-ascii filenames on windows at first 19:59 < bridge> can patigas map tool print in json? 19:59 < bridge> @patiga can i serialize to json? 20:01 < bridge> most things yea 20:01 < bridge> not the entire thing to one json object though 20:01 < bridge> with which tool? 20:01 < bridge> there are so many 20:01 < bridge> `twmap-edit --mapdir INPUT_PATH OUTPUT_PATH` 20:02 < bridge> thats the "mapdir" format 20:02 < bridge> most things are json files 20:04 < bridge> ah interesting, it makes it structured 20:10 < bridge> its especially useful to diff maps 20:20 < bridge> @patiga next time you sleep, dream of zlib license. 20:20 < bridge> 20:20 < bridge> That would have saved me some headache xd 20:25 < bridge> :heartw: 20:27 < bridge> im a fan of the best current available language 20:27 < bridge> that sounds pragmatic 20:40 < bridge> has anyone here worked with postgres' inet/cidr datatypes before? 20:40 < bridge> haven't 20:41 < bridge> if anyone has, my question: is it possible to merge overlapping ip ranges to always have a minimal set of ranges? 20:41 < bridge> maybe postgres is the wrong tool 20:50 < bridge> I find the question underspecified 20:50 < bridge> you can test whether one cidr is a subset of another in postgres using `>>=` 20:50 < bridge> if so, you can drop the one that is a subset 21:01 < bridge> well if i'm not wrong a \0 char is encoded as 128 (bcs of the +128) 21:01 < bridge> 21:01 < bridge> but: 21:01 < bridge> https://github.com/ddnet/ddnet/blob/984457a48e112d27e51623a40c2971fa2fe5053a/src/game/gamecore.h#L89 21:01 < bridge> 21:01 < bridge> just strips it as zero 21:01 < bridge> 21:01 < bridge> but zero is not the same as \0 here, because of the +- 128 21:01 < bridge> 21:01 < bridge> 21:01 < bridge> i think that's why i get so many invalid utf8s in my case 21:01 < bridge> e.g. patigas tool strips the zeros before applying the +-128 offset 21:01 < bridge> ah yea, that bit is inconsistent 21:01 < bridge> you have to ignore the last byte 21:02 < bridge> Is there anyone here that knows their way around C++ templates? 21:02 < bridge> you 21:02 < bridge> what is a way around c++ templates? 21:02 < bridge> what's your question? 21:02 < bridge> I kinda ran out of tricks 😄 21:02 < bridge> i used them heavily in the past, but i got extremly bad in cpp :lol: 21:03 < bridge> what you trying to do ? 21:04 < bridge> https://github.com/heinrich5991/libtw2/blob/406f45ad4df6038b91f3f4f666b3adfe0e19906f/map/src/format.rs#L612 21:04 < bridge> I also simply strip the last byte 21:05 < bridge> ```c++ 21:05 < bridge> template || std::is_invocable>> 21:05 < bridge> struct invocable { 21:05 < bridge> template>> 21:05 < bridge> using result_t = std::invoke_result_t; 21:05 < bridge> 21:05 < bridge> template>> 21:05 < bridge> using result_t = std::invoke_result_t; 21:05 < bridge> }; 21:05 < bridge> ``` 21:05 < bridge> This is invalid C++, but it should kinda illustrate what I'm trying to do 21:06 < bridge> || with = is defined ? 21:06 < bridge> I'm trying to extract the return type from either an `std::invocable` or an `std::invocable` for some PR 21:06 < bridge> ah misread it 21:07 < bridge> wow typename = typename? 21:07 < bridge> 21:07 < bridge> i've never seen that i think xd 21:07 < bridge> 21:07 < bridge> is that basically a contraint on typename or what 21:07 < bridge> It's just how I like to do SFINAE, an anonymous type template argument 21:07 < bridge> with a default type 21:08 < bridge> oh those are supposed to be `enable_if_t`s sorry 21:09 < bridge> I messed around with C++20 concepts too but I couldn't really get it to pan out with those either. I'm starting to think maybe I want something that's just not possible to begin with 21:14 < bridge> what you trying to do ? A struct to invoke some function statically ? 21:14 < bridge> postgres does not seem to have anything for my use case. what I wanted is arbitrary ranges to be merged into a combined range. I have ip lists that may contain duplicates which could be deduplicated and combined into a (somewhat) smallest set of ranges 21:15 < bridge> postgres does not seem to have anything for my use case. what I wanted is arbitrary ranges to be merged into a combined range. I have ip lists that may contain duplicates which should be deduplicated and combined into a (somewhat) smallest set of ranges 21:15 < bridge> kinda yeah 21:15 < bridge> postgres does not seem to have anything for my use case. what I wanted is arbitrary ranges to be merged into a combined range. I have ip lists that may contain duplicates which should be deduplicated and combined into a (somewhat) smallest set of ip ranges 21:16 < bridge> it's really hard for me to tell you what I'm doing because I really don't know myself, I'm just figuring out what pieces I have at hand to make a promise/future system 21:18 < bridge> I know I need to handle both `std::invocable` and `std::invocable`s, so that if the result of a futures type matches the next futures input they can be chained 21:19 < bridge> So a generic way to extract either ones return type is what I was digging around 21:19 < bridge> seems beyond my knowledge, sorry 🙂 21:20 < bridge> @learath2 have u seen the movie akira 21:20 < bridge> I guess I'll just google around randomly for cool looking template trickery until I find something inspiring. It's hard to even google for this stuff 21:20 < bridge> nope 21:20 < bridge> @learath2 do it 21:21 < bridge> then u will question how in the 88 they did such superb animations 21:21 < bridge> also its a movie that leaves u thinking wtf did i just watch 21:21 < bridge> xd 21:21 < bridge> very cyberpunk 21:36 < bridge> basicly question for everyone, how does update.json looks like? does someone have an example? 21:36 < bridge> https://update.ddnet.org/update.json 21:37 < bridge> oh 21:37 < bridge> thanks so much! 21:39 < ws-client> 2024-01-31 21:39:52 I http: https://update.ddnet.org/DDNet-Server-unsupported-unsupported failed. libcurl error (22): The requested URL returned error: 404 2024-01-31 21:39:52 I http: https://update.ddnet.org/steam_api-unsupported-unsupported.dll failed. libcurl error (22): The requested URL returned error: 404 2024-01-31 21:39:52 I http: https://update.ddnet.org/DDNet-unsupported-unsupported failed. libcurl error (22): The 21:39 < ws-client> requested URL returned error: 404 21:42 < bridge> "version": "18.0.2", 21:42 < bridge> "client": true, 21:42 < bridge> "server": true, 21:42 < bridge> From where file downloading is happen? 21:42 < bridge> just existing files on server? 21:43 < bridge> yes 21:44 < bridge> @fokkonaut yep it's already fixed, but needs a manual update this time 21:51 < bridge> not yet :/ 21:51 < bridge> 18.0.3 is needed to fix it 21:51 < bridge> current master has it fixed 21:51 < bridge> i think deen released a patch for it 21:51 < bridge> oh, did deen replace 18.0.2? 21:51 < bridge> If he did, then all is fine 21:51 < bridge> here 21:52 < bridge> i think 18.0.2 is only your patch xD 21:54 < bridge> wowo @bencie. evil 21:54 < bridge> 21:54 < bridge> stealing newbies the prs 21:54 < bridge> 😬 21:55 < bridge> Im a newbie too! 21:55 < bridge> 😬 21:58 < bridge> damn, i swear he was about to do it >:( 21:58 < bridge> i hyped im up for it aswell >:( 21:58 < bridge> i hyped em up for it aswell >:( 22:00 < bridge> if I am asking this question, it means i am getting desperate: Hi, i have a question. i've been working for a few days on this, but not making much progress - is there any way to pause the game tick, and then be able to resume? The closest i have right now is calling the TickPaused() for all entities when i want to do so, but the gameticks are still going up in this case. it doesn't need to be an in-depth answer, just some clues or hints would be 22:01 < bridge> There is a pause state for the entire game (used with `pause_game` command) but I'm not sure how well it's tested 22:02 < bridge> Unless I missed something, 18.0.2 does not include #7871 which actually fixed the issue 22:02 < bridge> https://github.com/ddnet/ddnet/pull/7871 22:03 < bridge> #7868 turned out not to be enough 22:03 < bridge> https://github.com/ddnet/ddnet/pull/7868 22:03 < bridge> don't worry, now he's forced to push his boundries and he'll be the best dev here! 22:03 < bridge> that's interesting, thank you! 🙂 22:04 < bridge> tbf he didnt even fork it yet, he might have forgotten about it :kek: 22:07 < bridge> @learath2 but this commit suggests otherwise 22:07 < bridge> 3594eb4 Fix updater issue. Close #7867 - Learath2 22:07 < bridge> 22:07 < bridge> 22:07 < bridge> it might be your initial commit tho 22:07 < bridge> https://github.com/ddnet/ddnet/issues/7867 22:07 < bridge> but that also fixes it 22:10 < bridge> It's not that complicated though, I thought I fixed it, wasn't fixed 22:12 < bridge> ah lol, what was the additional fix? 22:12 < bridge> i am highly confused 22:13 < bridge> #7871 22:13 < bridge> https://github.com/ddnet/ddnet/pull/7871 22:13 < bridge> ok 22:14 < bridge> i dont understand that either, but maybe i also dont have to understand it 😂 22:14 < bridge> did we download the server or what 22:14 < bridge> xd 22:14 < bridge> You mean the fix? Looks like classic copy&paste error 22:15 < bridge> if(client_update) download_server() 22:15 < bridge> when was the updater even changed at all 😄 22:15 < bridge> i thought it's untouched since years 22:17 < bridge> The first bug was caused by reordering the includes it seems, because we don't follow strict IWYU 22:17 < bridge> yep 22:17 < bridge> It was changed along with curl-multi, to fix the undefined behaviour introduced in the wider http rework made way back when 22:17 < bridge> The other bug was introduced in curl-multi AFAICT 22:18 < bridge> So it's not required to add to the fix to 18.0 22:18 < bridge> ? 22:18 < bridge> 18.0 does have curl-multi, no? 22:18 < bridge> no 22:18 < bridge> https://github.com/Learath2/ddnet/commit/32e968335b08cb959fd3d4c494135ce93b7ad046 22:18 < bridge> This added the copy&paste error 22:19 < bridge> @learath2 else we'd have gotten endless reports for broken skins xd 22:19 < bridge> This was part of the curl multi pr, how could it have been added but curl multi not added? 22:19 < bridge> maybe u tested the updater locally, with master branch? 22:19 < bridge> when 18.0.3 drops we'll see if it's broken xd 22:19 < bridge> I mean it's a fact that the updater for 18.0 was broken 22:20 < bridge> but bcs of the includes 22:20 < bridge> Which one? The other bug was unrelated to curl-multi 22:20 < bridge> not bcs the client was replaced by the server 😄 22:20 < bridge> Most likely because the system.h includes were changed multiple times 22:20 < bridge> but it's kinda funny thought. ppl randomly start server now xd 22:20 < bridge> And system.h included the necessary detect.h for the updater 22:21 < bridge> we had ODR issues before because detect.h was missed to be included 22:21 < bridge> it's simply that c macros suck like we use them 22:21 < bridge> too unsecure 22:21 < bridge> OH, so someone else broke the updater not me 22:21 < bridge> That's perfect 22:22 < bridge> yes 22:22 < bridge> xd 22:22 < bridge> robyte refactor 😬 22:22 < bridge> I see where my confusion came from. The reports we got for the broken textures, I thought they were from the RC 22:22 < bridge> they were from the nightly 22:23 < bridge> As always :greenthing: , 50% of the problems I fix are caused by me 22:24 < bridge> blame the language 22:24 < bridge> This would not have happened if we applied this more strictly: https://include-what-you-use.org/ 22:25 < bridge> I was so close to finding a solution, but then C++ doesn't support `std::function` back to the drawing board 22:27 < bridge> the problem is that c macros probably don't trigger a "must include" 22:28 < bridge> since we handle the undefined path 22:28 < bridge> this wouldn't have happened if we'd use constexpr 22:28 < bridge> 22:28 < bridge> or had an #error in first place 22:33 < bridge> With C++20 there are also modules: https://en.cppreference.com/w/cpp/language/modules 22:33 < bridge> oh yeah 22:33 < bridge> i hate header files 22:34 < bridge> does that mean we are finally getting #6797 :o 22:34 < bridge> https://github.com/ddnet/ddnet/pull/6797 22:34 < bridge> not until deen can build ddnet with it 22:34 < bridge> :pepeW: gg wp wait till 2025 22:34 < bridge> probably yes 22:34 < bridge> the next ubuntu drops 22:34 < bridge> xd 22:35 < bridge> god damn it XD 22:35 < bridge> April 2025 is EOF for ubuntu 20 22:37 < bridge> Steam stopped supporting Windows 7 this year so we can probably stop supporting that as well 22:37 < bridge> chairn still uses it 22:37 < bridge> that kek 22:37 < bridge> I'd guess many people are still running win7 22:37 < bridge> open issue to remove chairn then 22:37 < bridge> idk 22:37 < bridge> we can certainly drop win7, even if ppl use it 22:37 < bridge> 22:37 < bridge> it's end of life 22:37 < bridge> Anyone using Windows 7 can still upgrade to Windows 10 without issues 22:38 < bridge> we dont need to give more support than windows xD 22:38 < bridge> end of life was 2020 wasnt it? XD 22:38 < bridge> Windows 7 shouldn't really be connected to the internet anymore unless you are really sure what you are doing 22:38 < bridge> I doubt it. talk to one of them 22:38 < bridge> Or you pay for extended support 22:38 < bridge> well tbh it's eol, supporting people who can't make the move to install an operating system that still has updates is bad 22:38 < bridge> but why should we talk to them? 22:38 < bridge> is that our duty? 22:38 < bridge> the software is considered dead. thats it 22:39 < bridge> I'd say Windows 10 is not harder on the hardware then Windows 7 so that's not the limit 22:39 < bridge> it's simply bcs win10 has all these UWP settings nobody wanted xddd 22:39 < bridge> or whatever that UI is called 22:40 < bridge> i rather have a little more bloat on my system, than a non supported OS that didnt receive any security updates in the past YEAR's 22:40 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1202367938158403624/image.png?ex=65cd3367&is=65babe67&hm=8b770132156d5c534a0642cb8ed6d428c310c0cced59aed57ca4f355188cb09e& 22:40 < bridge> ah lol 22:41 < bridge> + even with some motivation you can still remove that bloat 22:41 < bridge> it even says in the requirements 22:41 < bridge> funny 22:41 < bridge> thats cool ngl 22:42 < bridge> I don't know if it's even fair to say we "support" Windows Vista and 7 right now. Nothing is tested by us those Windows versions, it's just the lowest versions that are formally supported. 22:42 < bridge> is that so? would be surprised 22:43 < bridge> it's probably even the opposite 22:43 < bridge> win7 aero is a killer 22:44 < bridge> requirements for windows 10 are the same as win7 22:44 < bridge> According to the articles I find for "windows 7 system requirements compared to windows 10 requirements" they seem pretty much identical 22:44 < bridge> Because Windows 10 is just better software than Windows 7 22:44 < bridge> @heinrich5991 it's nice that u want every person to be happy, but keep in mind that you don't make our life,devs, happier with that. 22:44 < bridge> 22:44 < bridge> supporting a dead system is a trade. 22:44 < bridge> 22:44 < bridge> if those ppl using win7 want to stick to the past, they can use an old ddnet client 22:45 < bridge> i'm not sure it's such a good idea to try and support a system that has been declared dead for years and publicly labeled as unsafe - it's just holding us back in a lot of ways isn't it? 22:45 < bridge> then fokkonaut will come with sevenup :KEKSad: (was a jk like 0.7 support) 22:45 < bridge> Windows 11 is a cursed version again though so I'll stay on Windows 10 as long as possible :pepeH: 22:46 < bridge> that's the same that people said about win10 btw 22:46 < bridge> win11 runs perfectly 22:46 < bridge> every second windows sucks 22:46 < bridge> that's the rule 22:46 < bridge> i hate win11 taskbar too xdd 22:46 < bridge> so anti productive 22:46 < bridge> why that, it's good 22:46 < bridge> what do you mean, windows 8 was great! who doesnt want a desktop android phone 22:46 < bridge> extra hovers/clicks 22:46 < bridge> always bad 22:47 < bridge> grouping = not seeing the label of the window 22:47 < bridge> ah you mean the show more button 22:47 < bridge> i mean the always groupped feature 22:47 < bridge> that u cant disable without advanced registry tricks xD 22:47 < bridge> only thing I hate with win11 is the "show more options" when you right click 22:47 < bridge> Windows 10 has definitely matured very well. If Windows 11 get's out what I consider its public beta until 2025 (Windows 10 EOL) then I'd likely upgrade, but in its current state I wouldn't 22:47 < bridge> omg yeah 22:47 < bridge> that sucks even more 22:47 < bridge> true 22:48 < bridge> i gotta say, the jump from windows 10 to windows 11 was quite easy when i've done it, with my new PC on the way i'll most likely VM into windows 11 again, not windows 10 22:48 < bridge> win11 requires dx12 a.k.a. vulkan support 22:48 < bridge> based 22:49 < bridge> tbh windows in general I keep it cuz of anticheats 22:49 < bridge> sad 22:49 < bridge> i keep it to test ddnet stuff 22:49 < bridge> 😬 22:49 < bridge> vanguard? XD 22:50 < bridge> My computer doesn't even support w11 😄 22:50 < bridge> Battleye 22:50 < bridge> replace 22:50 < bridge> not everyone extremely rich like you 22:50 < bridge> meh, you can tweak it, ventoy is a great tool to do so (basically allow's installing windows 11 without TPM 2.0 and secure boot) 22:50 < bridge> replace with your poorness 22:51 < bridge> i don't think that anyone in western society can't afford a new pc 22:51 < bridge> they cheap af 22:51 < bridge> they maybe dont want 22:51 < bridge> me who just bought one for 2.5K€ lookin at your message :gigachad: 22:51 < bridge> And you can tweak your Windows install media so it automatically completes the installation by answering every spyware question with no and creating a local account instead of microsoft 22:51 < bridge> valorant sux so 22:51 < bridge> but then no vanguard 😄 22:51 < bridge> but then they'll get less software support. that's how it is 22:51 < bridge> xd 22:51 < bridge> vanguard works fine, it just tweaks registry entry's afair reading 22:51 < bridge> rich boi 22:52 < bridge> it worked fine when i was doing it like that 22:52 < bridge> I can afford a new pc, just not the one I want, why would I spend money on a sub par computer just to please you? 22:52 < bridge> why please me 22:52 < bridge> you are the one obsessed with making everyone get a new pc 22:52 < bridge> league of legends uses vanguard aswell now 22:52 < bridge> so that u can run cp like that https://www.youtube.com/watch?v=_toA8lErAHg 22:52 < bridge> so they don't fall behind 22:53 < bridge> thats one of the reason's im gonna need to GPU breakthrough 22:53 < bridge> the future will come 22:53 < bridge> with or without them 22:53 < bridge> cant even play league on linux anymore ;( 22:53 < bridge> I'd rather not spend 2.5k to run windows11 an OS that I don't like 22:54 < bridge> rip, I'm happy not to play those games, I hate them. Most of the games I play uses battleye (shit ac btw) like Escape From Tarkov 22:54 < bridge> spend 2.5K to run teeworlds on linux with 12K fps 22:54 < bridge> what only 12k? 22:54 < bridge> we have to talk 22:54 < bridge> äh 22:54 < bridge> yes 22:54 < bridge> as soon as my pc is here 22:54 < bridge> you gonna help me set it up so it runs on 30K 22:54 < bridge> it should be atleast 16k 22:54 < bridge> else i'm really sad 22:55 < bridge> i enjoy them with friends, which made me sad to not be able to play them anymore because league thought a kernel based anti cheat is the way to go 22:55 < bridge> i enjoy them with friends, which made me sad to not be able to play them anymore because riot games thought a kernel based anti cheat is the way to go 22:55 < bridge> how tf do u have 16k, I have only 2-3k 22:55 < bridge> windows issue 22:55 < bridge> i swear 22:55 < bridge> chiller has the current record with 17k 22:55 < bridge> when i was running ddnet on windows, i had 900 fps max, 4K on linux 22:55 < bridge> on 4090 and intel 13900k 22:56 < bridge> yes 22:56 < bridge> hmm, i might be able to beat it 22:56 < bridge> even on a gtx 760 i had like 5k fps 22:56 < bridge> i dunno wtf win is doing 22:56 < bridge> damn maybe with the grow of eBPF, prob anticheats could make the move to linux awell 22:56 < bridge> but it sucks xd 22:56 < bridge> damn maybe with the grow of eBPF, prob anticheats could make the move to linux aswell 22:56 < bridge> as eBPF is kinda available also on windows 22:56 < bridge> eBPF is the key for everything :giga_chad: 22:57 < bridge> meh, im just gonna GPU breakthrough to a windows VM, so i can game in peace, while not needing to dual boot 22:57 < bridge> I mean having an eBPF based anticheat they could easily port it to linux aswell, so they allow linux users too 22:57 < bridge> for some reason i never played a game yet that wasnt compatible on linux 22:58 < bridge> riot games absolutely wont move to linux, they rather support macOS with a playerbase of 0.1% than linux 22:58 < bridge> Typical ddnet influencer 22:58 < bridge> lol works for me 22:58 < bridge> Is there a difference between passthrough and "breakthrough"? Never heard that term 22:58 < bridge> skill issue 22:58 < bridge> newest league update included vanguard 22:58 < bridge> chiller is legend 22:58 < bridge> so it wont run on linux 22:58 < bridge> not a ddnet influencer, github influencer, that dude uses github like its reddit and instagram 22:58 < bridge> tried bottles? 22:59 < bridge> this guy read's library documentation's in his spare time 22:59 < bridge> wine/bottles/proton 22:59 < bridge> the problem lies within the way vanguard works 22:59 < bridge> it's fun to see what other ppls projects look like :owo: 22:59 < bridge> true! 22:59 < bridge> what can u even cheat with lol? 23:00 < bridge> 23:00 < bridge> are the bots there already so advanced? 23:00 < bridge> its all about preventing .dll and memory injections 23:00 < bridge> idk 23:00 < bridge> I didn't find his credit card info there :+ 23:00 < bridge> I didn't find his credit card info there 😦 23:00 < bridge> not...yet 23:00 < bridge> like any anti cheat ever worked 23:00 < bridge> xd 23:00 < bridge> xD 23:00 < bridge> exactly :P 23:00 < bridge> thats why i dont understand the fuss about it 23:01 < bridge> bathtub almost full 23:01 < bridge> @blaiszephyr sad cuz apparently on linux it has 3-5+fps 23:02 < bridge> but wouldn't anticheat move their ass with the grow of consoles like the steam deck? 23:02 < bridge> aight, gonna buy escape from tarkov on new pc 23:02 < bridge> lmaoo, actually eft is the biggest game made with unity 23:03 < bridge> well rip battleye afterall, I think they're doing kernel-level ac aswell 23:03 < bridge> isn't unity already a reason to not play it 23:03 < bridge> xd 23:03 < bridge> https://www.youtube.com/watch?v=nk6aKV2rY7E 23:03 < bridge> 23:03 < bridge> great dude 23:03 < bridge> well no, EFT is amazing, devs did smth on an engine that is not even made for lmao 23:04 < bridge> i hate c# just as much as java 23:04 < bridge> did you know teeworlds was supposed to be a game engine before it actually changed to be its own game? 23:04 < bridge> so i must hate unity 23:04 < bridge> soz 23:04 < bridge> :kek: 23:04 < bridge> yes ik, it was also a project presented at Ubisoft 23:04 < bridge> oh my god yes i almost forgot that 23:04 < bridge> but forgot what exactly happened 23:04 < bridge> imagine teeworlds beeing a ubisoft game 23:04 < bridge> :KEKSad: 23:04 < bridge> shit would've been dead already 23:05 < bridge> ice skin in a pack 23:05 < bridge> xD 23:05 < bridge> XD 23:05 < bridge> get the santa_twinbop for just 4'99$ !!!!!!!! 23:09 < bridge> alright, off to sleep i go, goodnight peeps, may rust be with you 23:15 < bridge> is it holding us back in many ways? 23:17 < bridge> Well on each Update of Our dependencies and External libs, we are considering older Distributions aswell as older Windows Versionn, it seems counter effective to me 23:18 < bridge> But then, i dont know a Lot about all that, maybe you want to be accessible to the Most amount of people, which i understand 23:18 < bridge> Every backward compatibility holds us back 23:18 < bridge> that seems pretty vague to me 23:19 < bridge> basically something you could say about everything, nothing specific 23:20 < bridge> Using software must be just as much fun as coding it :brownbear: 23:20 < bridge> You Guys have fun coding? Weirdos 23:20 < bridge> Depends on the software 23:21 < bridge> I have extremely fun making the dd-pg engine. 23:21 < bridge> I've zero fun adding vanilla and database support xd 23:22 < bridge> yeah i suppose i agree with that, i cant really Put into words what i wanna say - i think the Former discussion about Windows 7 Support is Something that Made Me say that 23:22 < bridge> I drag these features out to infinity xdd 23:23 < bridge> what dd-pg is gonna have tw physics/network compatibility why? wasn't the purpose to make something better? 23:24 < bridge> Only physics 23:24 < bridge> 23:24 < bridge> Database I mean trying to add support an interface so ddnet physics can be implemented 23:24 < bridge> ( and their SQL) 23:24 < bridge> hmm 23:25 < bridge> rip me 23:25 < bridge> why not use only the physics that were good/fast? 23:25 < bridge> Map loading will stay compatible in the first version too 23:26 < bridge> Well there is actually no need to support any kind of physics 23:26 < bridge> yeah ig it makes sense to be able to load old maps and save them in a new format or smt 23:26 < bridge> I want to implement vanilla to test the interface a bit 23:26 < bridge> ah makes sense ;) 23:27 < bridge> But u can basically create a complete different game as long as it implements the interface 23:27 < bridge> That's basically the idea, yes 23:28 < bridge> :) ok seems I didn't missunderstood much then 23:30 < bridge> do you also have in mind accounts or are you not there yet? 23:32 < bridge> I still have my original account plan for ddnet. But I'm very demotivated to implement all SQL changes 23:32 < bridge> 23:32 < bridge> 23:32 < bridge> I think in the first version I'll not prioritize it , else I'll never get finished. 23:32 < bridge> 23:32 < bridge> 23:32 < bridge> Since it has quic support it at least has the ground to do it 23:33 < bridge> But one would also need to change all SQL and scripts for website 23:33 < bridge> And that sucks xd 23:35 < bridge> hmm now I got confused again xD 23:35 < bridge> you'd want to stay compatible with old ddnet in any way? 23:35 < bridge> Database and map 23:35 < bridge> Else no 23:36 < bridge> But to be fair. I'm not gonna implement ddnet 23:36 < bridge> I'll try to convince @zwelf2 to switch to zlib license 😏 23:36 < bridge> 🧙‍♂️ 23:37 < bridge> xD 23:37 < bridge> His ddnet impl is far ahead 23:37 < bridge> what does the database refer to? 23:37 < bridge> Mysql or whatever we use 23:37 < bridge> :O is it foss or will it be later or is it closed? 23:37 < bridge> It's agpl 23:38 < bridge> xD I meant for what reason. for stats? 23:38 < bridge> On gitlab 23:38 < bridge> For ranks 23:39 < bridge> If u not interested basing your mod on top of ddnet ignore the db part 23:40 < bridge> ah xD 23:40 < bridge> >:) i'll do just that since I can 23:41 < bridge> Ah BTW,I lied. Map comparability is not a must have. It will only additionally have a converter. Your mod can implement whatever you want to a certain extend. At least that's the plan 23:41 < bridge> Compatibility 23:41 < bridge> yeah that what I meant too 23:41 < bridge> one way compatibility from ddnet to dd-pg 23:41 < bridge> else it'd be limiting imo 23:42 < bridge> In future yes. The first format could be two way 23:43 < bridge> It's a superset 23:43 < bridge> xD gitlab ui is either bad or I just seem to able to comprehend it (can't seem to find the repo) 23:43 < bridge> Ddnet-rs 23:44 < bridge> this ig? 23:44 < bridge> Yes 23:44 < bridge> :) maybe I need to watch a vid about how the gitlab ui works 23:48 < bridge> it seems cool (haven't look at the code yet (if I speak why I am in big trouble)) but ig it's more compatibility oriented which isn't my style 23:49 < bridge> Yep. For ddnet it makes sense tho. Ddnet could ofc start a second season and break some physics 23:49 < bridge> For vanilla based mods compatibility is probably not as interesting 23:49 < bridge> yeah that's why it's cool 23:49 < bridge> yeah that's why it's not my style