03:19 < bridge> @murpi was wondering why don't we just make it auto rescue that plays a death effect (so it looks exactly like a death but it puts you back to rescue) 03:21 < bridge> what was disabling killtile trying to solve to begin with :justatest: 03:23 < bridge> that was proposed but denied because it could cause a loop with certains maps or something 03:23 < bridge> but tbh idk why it matters because /r can also cause a loop 03:25 < bridge> since you can just tp. i honestly think being killed is not even that big of a deal 03:35 < bridge> tp is much much slower than pressing a /r bind 03:35 < bridge> which I assume is the entire motivation 03:36 < bridge> i see 03:37 < bridge> making /r works after a kill is probably an option too 03:37 < bridge> probably* 03:38 < bridge> /r works by saving the last time you were grounded and unfrozen afaik 03:38 < bridge> so respawning resets it instantly 03:38 < bridge> idk how you fix that in a clean way 03:39 < bridge> kill tiles also give you a longer respawn than ``kill`` for some reason I think? 03:39 < bridge> it's like a whole second or more 03:39 < bridge> we can reset it when passing beginning line 03:39 < bridge> then you can't use /r on noob filters 03:39 < bridge> or anything before the start 03:41 < bridge> that is trun 03:41 < bridge> true* 03:41 < bridge> ye, probably it is good as-is 05:04 < bridge> Are you on macOS or did windows stop looking ass? 05:04 < bridge> It's android 😂 05:41 < bridge> Woah I remember android way more ugly too 06:35 < bridge> android is not even a single thing anymore 06:35 < bridge> AOSP itself doesn't even function properly:justatest: 06:36 < bridge> AOSP is still ugly tho 07:43 < ws-client> https://zillyhuhn.com/cs/.1733640214.png 07:45 < ws-client> https://paste.zillyhuhn.com/D4 08:10 < bridge> wat 08:10 < bridge> you have some `define`s above, don't you? xd 08:26 < ws-client> @milkeeycat yea the spoiler is in the paste i sent 08:27 < ws-client> yo @milkeeycat TIL C has some really cool pointer type safety that C++ does not have. But as of right now the C++ tests die on C only features in the lib. 08:27 < ws-client> We have this right ``PacketKind *decode(uint8_t *buf, size_t len, Error *err);`` it could be ``PacketKind *decode(size_t len, uint8_t *buf[static len], Error *err);`` and then the compiler can throw a warning if the buffer is NULL or of wrong length 08:28 < ws-client> ops without the * ``PacketKind *decode(size_t len, uint8_t buf[static len], Error *err);`` 08:28 < ws-client> what are your thoughts on C++ compatibilty in general? 08:30 < ws-client> in the C++ tests you include with ``extern "C" {}`` does that mean that users of the library form C++ should also do that? What about some pure C headers with all the shiny C only features and then dedicated C++ headers with bunch of ``#ifdef __cplusplus`` 08:32 < bridge> to include C header in C++ program you have to use `extern "C" {}` because otherwise C++ compiler will mangle symbols' names 08:34 < bridge> but we can do 08:34 < bridge> ```C 08:34 < bridge> #ifdef __cpluplus 08:34 < bridge> extern "C" { 08:34 < bridge> #endif 08:34 < bridge> 08:34 < bridge> blah blah 08:34 < bridge> 08:34 < bridge> #ifdef __cpluplus 08:34 < bridge> } 08:34 < bridge> #endif 08:34 < bridge> ``` 08:34 < bridge> to not make c++ lib users write this extern thingy each time 08:39 < bridge> i didn't know about `uint8_t buf[static len]` trick 08:49 < ws-client> ye its crazy stuff 08:49 < ws-client> you can also do ``unpacker_init(Unpacker unpacker[static 1])`` instead of ``unpacker_init(Unpacker *unpacker)`` to catch null pointer dereferences at compile time also for the lib users! 08:50 < bridge> but it works well only if I have integer literal in front of static 08:50 < ws-client> yea we have to change the arg order 08:50 < bridge> when I use `uint8_t buf[static len]` it doesn't show a warning when the buffer is smaller 08:50 < bridge> only if it's null 08:50 < ws-client> do you use clang or gcc? 08:50 < bridge> clang 08:50 < ws-client> you need bleeding edge gcc i think 08:51 < bridge> :justatest: 08:51 < ws-client> also C23 added booleans lol 08:51 < ws-client> and auto keyword like in C++ 08:52 < bridge> - Mom, can we have boolean? 08:52 < bridge> - We already have boolean at home. 08:52 < bridge> - Booleans at home: `typedef enum { false, true } bool;` 08:53 < ws-client> yea ikr i just figured out today that C23 is a thing and there is new stuff blew my mind 08:53 < bridge> - Mom, can we have booleans? 08:53 < bridge> - We already have boolean at home. 08:53 < bridge> - Booleans at home: `typedef enum { false, true } bool;` 08:53 < bridge> - Mom, can we have booleans? 08:53 < bridge> - We already have boolean at home. 08:53 < bridge> - Booleans at home: `typedef enum { false, true } bool;` 08:54 < ws-client> could you merge https://github.com/MilkeeyCat/ddnet_protocol/pull/56 ? 08:54 < ws-client> nice thanks 09:57 < ws-client> @milkeeycat 108 commits without spawning a tee ._. 09:57 < bridge> because half of those just me merging your commits xd 09:57 < ws-client> true 09:58 < ws-client> merge commit inflation 10:13 < bridge> Reset rebase regret revert 10:15 < bridge> Uhhh 10:15 < bridge> reflog 10:15 < bridge> Regret is a git command 10:44 < bridge> 12 10:44 < bridge> 11 15:10 < bridge> Lol 15:12 < bridge> ```#include 15:12 < bridge> #include 15:12 < bridge> using namespace std; 15:12 < bridge> 15:12 < bridge> int main() { 15:12 < bridge> setlocale(LC_ALL, "EN"); 15:12 < bridge> srand(time(NULL)); 15:12 < bridge> int random = 1 + rand() % 40; 15:12 < bridge> cout << "Random: " << random << endl; 15:12 < bridge> cout << "Launching calculator" << endl; 15:12 < bridge> 15:13 < bridge> float a, b, c; 15:13 < bridge> cout << "Enter the 1st number: "; 15:13 < bridge> cin >> a; 15:13 < bridge> cout << "Enter the 2nd number: "; 15:13 < bridge> cin >> b; 15:13 < bridge> 15:13 < bridge> char math; 15:13 < bridge> cout << "Enter a mathematical operation (+, -, /, *): "; 15:13 < bridge> cin >> math; 15:13 < bridge> 15:13 < bridge> switch (math) { 15:13 < bridge> case '+': c = a + b; break; 15:13 < bridge> case '-': c = a - b; break; 15:13 < bridge> case '*': c = a * b; break; 15:13 < bridge> case '/': c = a / b; break; 15:13 < bridge> default: cout << "Invalid operation"; return 1; 15:13 < bridge> } 15:13 < bridge> 15:13 < bridge> cout << "Result: " << c << endl; 15:13 < bridge> 15:52 < bridge> no fucking way 15:52 < bridge> go look at mozilla right now 15:53 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1315330335231447130/image.png?ex=67570455&is=6755b2d5&hm=47d52015e0806351cb2bdac234a074da3f5d543fc122255d28b10d0afbc794b5& 15:53 < bridge> what the fuck is thatt??? 15:53 < bridge> it hasnt spread to the browser yet 15:53 < bridge> could be worse 15:53 < bridge> realy shows how much of a mess the company is tho 16:05 < bridge> what's wrong ? 16:07 < bridge> if i'm making numeric class in c++, i.e. one that holds valid numeric data, do i have to right operator overload for all int and float types and for right and left operand ? 16:15 < bridge> you can use a template 16:19 < bridge> chillerdragon: fix your app 16:19 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1315336872653885571/image.png?ex=67570a6c&is=6755b8ec&hm=7b84b953e13e39197cc3cf4bcbd3fbbf3cd8f0a3f32c24e950222b38281dfadc& 16:31 < bridge> omg im there on the list 16:40 < bridge> https://steamcommunity.com/app/412220/discussions/0/592882992704140019/?tscn=1733667504 16:40 < bridge> might be important 16:41 < bridge> what to do? 16:41 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1315342506803593276/0-02-05-e151a26b38610169022ba241815455b3078efa9ebb323130a6a6e0b86431fc79_2122e4f0.mp4?ex=67570fab&is=6755be2b&hm=e4e8417f9efd652bc936f1662a12c0449fb1d7b47b58ca3e52572a406d6695bc& 16:54 < bridge> What should I do if everything is shaking in ddnet? 17:02 < bridge> afaik, 18.3 is the last version to work on win 7 17:02 < bridge> other versions don't even compiles 17:02 < bridge> interesting 17:02 < bridge> other versions don't even compile 17:02 < bridge> he implied 18.7 works 17:02 < bridge> he didn't say it tho, it was just implied 17:02 < bridge> Try a different server, the server you're on is probably experiencing a DDoS attack 17:03 < bridge> maybe not 18.3, i don't know why i thought about this one, but i know some changes introduced beginning or first semester of 2024 broke game on win 7 17:03 < bridge> unless by "everything" you mean more than just your camera jittering about 17:03 < bridge> recently, i had to change something in log.cpp to compile on win 7 17:48 < bridge> hi, how can i get m_World in server.cpp? 19:31 < bridge> he is free to update to win10 20:41 < bridge> gameserver has m_World which "sits" ontop of server, so you cant get it there. you probably want to implement whatever you are doing in gameserver 20:41 < bridge> ^ also cant find objects 20:41 < bridge> gameserver has m_World which "sits" ontop of server, so you cant get it there. you probably want to implement whatever you are doing in gameserver 20:41 < bridge> ^ also cant find objects, but hopefuly it helps anyway 20:41 < bridge> gameserver has m_World which "sits" ontop of server, so you cant get it in server. you probably want to implement whatever you are doing in gameserver 20:41 < bridge> ^ also cant find objects, but hopefuly it helps anyway 20:41 < bridge> gameserver has m_World which "sits ontop" (you can get server from gameserver, but not visa versa) of server, so you cant get it in server. you probably want to implement whatever you are doing in gameserver 20:41 < bridge> ^ also cant find objects, but hopefuly it helps anyway 20:43 < bridge> game[...] (gameworld, gamecontext (gameserver), gamecontroller) has m_World which "sits ontop" (you can get server from gameserver, but not visa versa) of server, so you cant get it in server. you probably want to implement whatever you are doing somewhere else 20:43 < bridge> ^ also cant find objects, but hopefuly it helps anyway 23:17 < bridge> Is this something wrong? what changed? 23:18 < bridge> <_voxeldoesart> you guys will get used to it 23:18 < bridge> browser company redesigned their website? unprecedented... 23:18 < bridge> <_voxeldoesart> everyone always complaisn when anything changes 23:18 < bridge> Is there something wrong? what changed? 23:20 < bridge> I actually don't understand, did they change some policies? 23:21 < bridge> wayback shows their homepage changes pretty often so idk 23:51 < bridge> no but it always gets worse 23:51 < bridge> they changed the logo of mozzila to a green flag 23:51 < bridge> next they are gonna turn firefox into a orange F 23:52 < bridge> idk, I don't think it's any worse than ``Moz://a`` 23:53 < bridge> their logo before was just an M? right 23:53 < bridge> their logo before was just an M? right? 23:53 < bridge> I don't know what their logo is 23:54 < bridge> <_voxeldoesart> i thought the `://` was the old logo 23:54 < bridge> <_voxeldoesart> now the new one looks like a flag