09:39 < bridge> [ddnet] applied 09:40 < bridge> [ddnet] chellirdrogan 09:46 <+Ryozuki> ChillerDragon nobo fix the other typo 09:52 < bridge> [ddnet] :wtf: 09:52 < bridge> [ddnet] https://cdn.discordapp.com/attachments/293493549758939136/848106411175182386/unknown.png 09:52 < bridge> [ddnet] did u get the git submodules 09:55 < bridge> [ddnet] git submodule update --init --recursive 10:48 < bridge> [freenode] what other typo Ryozuki? 10:51 < bridge> [ddnet] check your pr 10:52 < bridge> [ddnet] smbd know how to check if i killed someone in client? 10:52 < bridge> [ddnet] i used to do it with killfeed but it not always works and if i turn killfeed off it doesnt work at all 11:10 * bridge [freenode] uploaded an image: (8KiB) < https://matrix.org/_matrix/media/r0/download/matrix.org/STJFTXuFlnOMMqxceNINstjp/image.png > 11:10 < bridge> [freenode] ripozuki 11:10 < bridge> [freenode] yo can we get some more modding friendly notification api? 11:12 < bridge> [freenode] I would like to use ``CClient::Notify(const char *pTitle, const char *pMessage)`` in my custom ddnet client but have my own configuration if notfications are shown. 11:15 < bridge> [freenode] Since ``m_pGraphics->WindowActive()`` is only reachable from within CClient one has to call the CClient::Notify() method and can not implement a custom one without editing client.cpp which means the https://github.com/ddnet/ddnet/blob/e5e2e46da295cec9587c28a0b8a57a9494ff68fb/src/engine/client/client.cpp#L4104 cl_shownotifications check is forced. So if i want to see custom notifications i have to see ALL ddnet 11:15 < bridge> [freenode] notifications which i do not :( any idea how to add custom notificaton code without touching too much of ddnet code base. Or can we change the ddnet code to make it more customizable? 11:23 < bridge> [ddnet] I mean it's fairly customizable as is, it's just that your odd usecase is... well odd 11:24 < bridge> [freenode] why odd? 11:24 < bridge> [ddnet] You should probably just comment out all uses of Notify that you dont want to see, or add minimally intrusive filtering, e.g. an enum for notification types with NOTIFY_DDNET being the default notification type 11:25 < bridge> [ddnet] Then you can add an `if(Type == NOTIFY_DDNET) return;` 11:25 < bridge> [freenode] Commenting out all notify use cases sounds very intrusive to me 11:25 < bridge> [freenode] it would be nice to have own configuration of which notfications are shown without touching any line in ddnet code base 11:26 < bridge> [ddnet] I mean ddnet rarely uses notifications to begin with 11:26 < bridge> [freenode] ye liek 3ish places 11:27 < bridge> [freenode] but those create a bunch of notifications already 11:27 < bridge> [ddnet] If we were using them left and right I would agree to add some config options to only enable specific ones. 11:27 < bridge> [ddnet] Where are they used except for highlights and votes while you are logged in? 11:27 < bridge> [freenode] ye sure we do not need that yet 11:27 < bridge> [freenode] but it would be nice if custom clients could add config 11:27 < bridge> [freenode] without changing ddnet code 11:27 < bridge> [freenode] do you know what i mean? 11:29 < bridge> [freenode] just something like this 11:29 < bridge> [ddnet] I mean the way I mentioned it would be only like 2 new lines 1 modified lines in client.cpp, 5 new lines 1 modified line in client.h 11:29 < bridge> [freenode] yes 11:29 < bridge> [freenode] thats waaaaay too much for me 11:29 < bridge> [ddnet] I think that is clean enough that it would merge fine 11:30 < bridge> [freenode] if you add 5 lines here and there for that and then 2 lines here and then add another feature this client wont merge in 3 years anymore 11:30 < bridge> [freenode] i feel like notifications is something that should be easy to use as a modder dont u think? 11:31 < bridge> [ddnet] Well I disagree with that. A single parameter added to a function and a new enum would never break anything 11:31 < bridge> [freenode] it can cause git conflicts 11:32 < bridge> [ddnet] Notifications are easy to use though, it's the fact that you want to remove some of our notifications that's complicating things (they are also trivial to remove imo) 11:32 < bridge> [freenode] https://github.com/ddnet/ddnet/commit/8648b1a7dcf6711d1ca8c4dd1fc1adb552fd8411 11:32 < bridge> [freenode] that commit for example would have caused merge conflicts then 11:33 < bridge> [ddnet] It would cause an absolutely trivial one. You can't avoid those 11:33 < bridge> [freenode] well you could if #3861 was in place 11:33 < bridge> [ddnet] I mean we can put code to disable parts of ddnet everywhere but that's just impractical 11:34 < bridge> [freenode] sure its impractical 11:34 < bridge> [freenode] and might not fit everywhere 11:34 < bridge> [freenode] but as i said notifications seems like a sane place doesnt it? 11:35 < bridge> [ddnet] Does it though? It sounds like a solution to a problem that only you have 11:35 < bridge> [freenode] yes it does 11:35 < bridge> [freenode] i mean it is a problem only i have probably 11:35 < bridge> [ddnet] ClShowNotifications is meant to disable ALL notifications. You turn it into "Disable DDNet Base notifications" 11:36 < bridge> [freenode] yes 11:37 < bridge> [ddnet] I think that's just creating a loophole to then abuse. If we want to allow this weird configuration why not be explicit about it? 11:38 < bridge> [freenode] what do you suggest? 11:38 < bridge> [freenode] implement more complex configuration code into ddnet? 11:39 < bridge> [freenode] exposing ``m_pGraphics->WindowActive()`` would also work but that sounds even more hacky xd 11:40 < bridge> [ddnet] If we have to have this in ddnet (I don't think we do since imo merge conflicts are just part of the deal), I stand by my initial suggestion. We add notification types 11:40 < bridge> [freenode] wait by We you mean ddnet repo? 11:41 < bridge> [freenode] sure merge conflicts are part of the game but wouldnt it be nice if they werent? :D 11:41 < bridge> [ddnet] Yes. That's the explicit way of allowing this, not decapitating a config option 11:41 < bridge> [freenode] could you shoot a pr then? :) 11:42 < bridge> [ddnet] Well I don't think it's necessary to begin with, so I don't think I will. Sorry, maybe the others think differently 11:44 < bridge> [freenode] doubt 11:44 < bridge> [freenode] veri sad 11:45 < bridge> [freenode] are there any c++ hacks how i can access private variables? :D that would also work 11:46 < bridge> [ddnet] FWIW you calling NotificationsNotify yourself is waaaaaaaaay more hacky than just adding 2 lines to Notify 11:47 < bridge> [freenode] i dont mind hacky 11:47 < bridge> [ddnet] Cutting through the abstraction is nono 11:47 < bridge> [freenode] well its no abstraction 11:47 < bridge> [freenode] ok maybe it is 11:50 < bridge> [ddnet] chillerdragon: I have an idea for you, why don't you inherit from CClient and just override Notify? 11:50 < bridge> [ddnet] It would just be like a 3k line patch 😄 11:51 < bridge> [freenode] xd 11:51 < bridge> [freenode] if the 3k lines are in my own files that would be ok 11:51 < bridge> [freenode] but i feel like it would require to alter ddnet code 11:52 < bridge> [ddnet] idk for me the 2 line merge conflict that actually probably will never happen because git-merge is quite smart is so acceptable that I can't really think of a fix that would make both you and me happy 11:52 < bridge> [ddnet] CClient::Notify changing signatures would be the only way a merge conflict happens and that's also incredibly unlikely 11:52 < bridge> [freenode] git merge gets confused quite fast imo even when code around it changes 11:53 < bridge> [ddnet] A separate if block almost never will trigger a merge conflict 11:53 < bridge> [freenode] i think i saw those quite often 11:54 < bridge> [ddnet] btw WindowActive() looks like it's public, why can't you use it? 11:55 < bridge> [freenode] cuz im stoopid maybe 11:55 < bridge> [ddnet] You just need to read it, right? 11:55 < bridge> [freenode] ye 11:55 < bridge> [ddnet] and what do you have access to from your class? just CClient? 11:55 < bridge> [freenode] i can only get access to the IClient thing not to CClient 11:55 < bridge> [ddnet] or IClient? 11:56 < bridge> [freenode] i want to access it from my class 11:56 < bridge> [freenode] so i dont alter cclient class 11:57 < bridge> [freenode] LMAO 11:58 < bridge> [freenode] i found something neat xxD 11:58 < bridge> [ddnet] Just go through the kernel to get a pointer to IGraphicsBackend? 11:58 < bridge> [freenode] ``#define private public //This is the hack to access priviate variables of any class `` 11:58 < bridge> [freenode] make all vars public 11:58 < bridge> [freenode] with only 1 line of change 11:58 < bridge> [ddnet] now that is absolute cancer 11:58 < bridge> [freenode] haha ikr 11:58 < bridge> [freenode] but not very intrusive 11:58 < bridge> [freenode] and covers quite some use cases 11:58 < bridge> [ddnet] You also need `#define protected public` 11:59 < bridge> [freenode] ye 11:59 < bridge> [freenode] but wait 11:59 < bridge> [freenode] its private by default isnt it? 11:59 < bridge> [freenode] so i still need to add a public: at the top of all classes 11:59 < bridge> [freenode] ok crap 12:00 < bridge> [freenode] Just go throu"> yes something like that 12:00 < bridge> [freenode] sounds hacky and expensive but how hard is it? 12:00 < bridge> [freenode] https://github.com/Narasimha1997/DirtyPointer-Hack/blob/master/PrivateVariable.cpp 12:00 < bridge> [freenode] sounds like this 12:01 < bridge> [ddnet] `((IEngineGraphics *)Kernel()->RequestInterface())->WindowActive()` 12:01 < bridge> [freenode] probably even more conflict prone when the offset changes due to member variables changing 12:01 < bridge> [ddnet] here you go, your hack of the day 12:02 < bridge> [freenode] oh wait u mean tw engine kernel not linux kernel xd 12:02 < bridge> [ddnet] lol you actually considered going through the linux kernel? 😄 12:02 < bridge> [freenode] urs looks really neat 12:02 < bridge> [freenode] haha 12:02 < bridge> [freenode] im desperate 12:03 < bridge> [ddnet] I mean you could probably using ptrace 12:03 < bridge> [freenode] i watched too many security yt videos xd 12:04 < bridge> [freenode] using tw engine is so smart 12:04 < bridge> [freenode] wew it compiled 12:04 < bridge> [ddnet] FWIW if you don't mind being hacky you can just get any graphics interface pointer and reinterpret cast it to a pointer to the implementation 12:04 < bridge> [freenode] ok lets see 12:04 < bridge> [freenode] not bad 12:04 < bridge> [freenode] idk what that means but cool 12:06 < bridge> [ddnet] `IGraphics *m_pGraphics; IEngineGraphics *m_pEngineGraphics = reinterpret_cast(m_pGraphics);` 12:06 < bridge> [freenode] why is code format bugged 12:06 < ChillerDragon> did u fail that or bridge? 12:06 < bridge> [ddnet] I sent it in one line, didn't want to spam irc 12:07 < bridge> [freenode] i think only 1 line works anyways 12:07 < bridge> [freenode] otherwise u got ` in seperate messages due to irc 12:07 < bridge> [freenode] but here only one ` arrived so no format 12:07 < bridge> [freenode] sad 12:08 < bridge> [ddnet] hm, I see two ` in quakenet 12:08 < bridge> [freenode] im sure ill get back to that cast one day 12:08 < ChillerDragon> woot how 12:08 < ChillerDragon> wtf 12:08 < ChillerDragon> i see 1 12:08 < bridge> [ddnet] btw we want to get out of freenode soon-ish 12:08 < ChillerDragon> yikes 12:08 < bridge> [ddnet] we have a new matrix bridge 12:08 < ChillerDragon> ddnet also anti freenode cuz shitstorm 12:08 < ChillerDragon> i still dont k what happend with freenudes 12:09 < ChillerDragon> oh so a selfhosted bridge? 12:09 < bridge> [ddnet] we don't host it no 12:09 < ChillerDragon> ah 12:09 < bridge> [ddnet] t2bot iirc 12:09 < ChillerDragon> bot 12:09 < ChillerDragon> :ban: 12:10 < bridge> [ddnet] tl;dr on the freenode thing: freenode sold, richman said worry not I won't interfere, staff said k, richman interfered, staff left, richman started taking over channels that moved to other networks so we were justified in being worried 12:11 < bridge> [freenode] richman is a name or a male having much moni? 12:12 < bridge> [freenode] wait so freenode was bought with staff but then staff rage quitted? xd 12:12 < bridge> [ddnet] male with money, his name is Andrew Lee, bitcoin millionaire 12:13 < bridge> [freenode] so freenode is now run by a male? 12:13 < bridge> [freenode] thats so fucked up 12:13 < bridge> [freenode] literally the worst gender ok when can we leave? 12:13 < bridge> [ddnet] the fucked up part is that he is interfering with the day to day operations of the network 12:13 < bridge> [freenode] why does bitcoin millonaire always sound so negative? :D 12:14 < bridge> [freenode] like what exactly? 12:14 < bridge> [freenode] sorry to ask u all instead of doing reasearch 12:15 < bridge> [freenode] i very much appreciate ur tldr 12:15 < bridge> [ddnet] well it all began with him wanting to inject his own people into the elected staff 12:15 < bridge> [freenode] i mean he bought it 12:15 < bridge> [freenode] so who can blame him? 12:16 < bridge> [ddnet] well there is a bit of a story there, the old head of staff sold it unilaterally without asking, all of the volunteer staff was ready to quit right then 12:16 < bridge> [ddnet] but richboi said worry not, I won't interfere with the day to day operations at all, and staff agreed to stay under that pretense 12:18 < bridge> [freenode] how much shit storm did the person get who sold it? :D 12:18 < bridge> [freenode] cashing out on freenode lmao 12:18 < bridge> [ddnet] she deleted her twitter 12:18 < bridge> [freenode] oh lol so she was female? 12:18 < bridge> [ddnet] yep 12:18 < bridge> [freenode] haha love it 12:18 < bridge> [freenode] poor her 12:18 < bridge> [freenode] she now rich gal but cant flex it on twitter 12:18 < bridge> [ddnet] anyway, it is indeed mr richman's right to fill the staff with whomever he wants, he did buy the thing 12:19 < bridge> [freenode] learath go apply for staff 12:19 < bridge> [ddnet] but the volunteer staff has no obligation to stay, nor do the people who sponsor the servers to the network 12:19 < bridge> [freenode] and all those ppl moved united to new network? 12:20 < bridge> [ddnet] a sizable chunk of the volunteer staff set up a new network, owned by a swedish non-profit with bylaws that prevent this kind of thing ever happening again 12:20 < bridge> [freenode] do we stay on any irc? 12:21 < bridge> [ddnet] we stay on quakenet as we always have, Ryozuki and I are holding #ddnet on libera.chat incase we want to use it 12:21 < bridge> [freenode] is libera the swedish stuff? 12:21 < bridge> [ddnet] yes 12:21 < bridge> [freenode] alright 12:21 < bridge> [freenode] i feel so informed now 12:22 < bridge> [freenode] right... so how much to buy ddnet and intefer with daily operations such as notfication api? 12:22 < bridge> [ddnet] most projects migrated to libera, some went to oftc, some are still staying on freenode 12:22 < bridge> [ddnet] send 3 million euros in monero and I'll give you all the keys 12:22 < bridge> [freenode] oof yikes 12:23 < bridge> [freenode] but then u have to delete ur twitter 12:23 < bridge> [ddnet] C'est la vie 12:23 < bridge> [freenode] learath ready to cash out leaked 12:23 < bridge> [ddnet] I don't use it anyway 12:23 < bridge> [ddnet] 3 million euros I can use to buy nice anti ddos and make a new ddnet 😛 12:23 < bridge> [freenode] hm 12:24 < bridge> [freenode] that freenode gal should do that 12:24 < bridge> [ddnet] she probably wants nothing to do with any of this anymore 12:24 < bridge> [freenode] if she has money and free time maybe we can get here to play on ddnet :) 12:24 < bridge> [ddnet] she got blasted when she first sold it, now that it all fell apart I don't think there is anyone that wants her to hold the keys to anything 12:25 < bridge> [freenode] i would share my save codes with her 12:25 < bridge> [ddnet] simp 12:25 < bridge> [freenode] ye cuz she is female 12:25 < bridge> [freenode] and famous freenude owner 12:26 < bridge> [freenode] wait do we run into any risk now shit talking that mr rich guy? 12:26 < bridge> [freenode] since we do it on his network? 12:27 < bridge> [freenode] or is it not that bad? 12:28 < bridge> [ddnet] there are some popular channels he was watching for his name and k-lining people but he stopped that after people spotted it 12:29 < bridge> [ddnet] if you mention libera.chat in your topic and the channel is larger than a certain size the freenodebot will come and take over the channel and change your topic 12:30 < bridge> [freenode] oh yikers 12:31 < bridge> [freenode] Yo Andrew Lee i fan pls send bitcoin 12:31 < bridge> [freenode] i stay on freenude for u 12:43 < bridge> [freenode] OMAGAWD @Learath2 it works so good 12:43 < bridge> [freenode] pls marry me 14:30 < bridge> [ddnet] @heinrich5991 you said in the pr " For servers not supporting the new serverinfo protocol, there is a 1/256 chance that a serverinfo is confused with another serverinfo that was requested by a different part of the code." 14:30 < bridge> [ddnet] Can't we remove the other code part? Ping 0 is still a big problem 14:31 < bridge> [ddnet] i get it like 50% of the times btw 14:31 < bridge> [ddnet] not 1/256 14:59 < bridge> [ddnet] Hm, 0 ping shouldn't be a result of that tho, a random wrong ping would be the result I'd expect 15:00 < bridge> [ddnet] yeah dunno, maybe ping is clamped or smth? 15:00 < bridge> [ddnet] also had a lower than possible ping already 15:01 < bridge> [ddnet] Hm I doubt the random result can be negative. But since 50% is a lot maybe you can try a conditional breakpoint? 15:01 < bridge> [ddnet] If ping is calculated to be 0ms break and see wtf went wrong 15:01 < bridge> [ddnet] i can try 15:05 < bridge> [ddnet] `m_CurrentServerCurrentPingTime` equals time_get 15:06 < bridge> [ddnet] client.cpp L1484 15:07 < bridge> [ddnet] maybe we can just ignore the extended server details or split the ping pong into 2 ints 15:08 < bridge> [ddnet] Hum, so time_get() - m_CurrentServerCurrentPingTime somewhere equals 0? 15:08 < bridge> [ddnet] yeah 15:09 < bridge> [ddnet] i assuem the client just tries to send another ping pong as soon as then extended server details come in or smth? 15:10 < bridge> [ddnet] I'm not sure how this was implemented, I'll take a look 15:12 < bridge> [ddnet] ah 15:12 < bridge> [ddnet] when i ignore ping pong if either vanilla server details were found or extended it works 15:12 < bridge> [ddnet] so dont allow it to happen twice 15:14 < bridge> [ddnet] @Learath2 you should note that is for old servers 15:14 < bridge> [ddnet] that send both server detail packages 15:14 < bridge> [ddnet] such servers exist? L:D 15:14 < bridge> [ddnet] kog, fng 15:14 < bridge> [ddnet] I thought you either sent extended or vanilla 15:14 < bridge> [ddnet] so 90% of my favorite list xd 15:14 < bridge> [ddnet] (since extended is compatible with vanilla) 15:15 < bridge> [ddnet] vanilla 0.6? 15:15 < bridge> [ddnet] hm, actually no, we did break compatibility there and modified the request instead 15:16 < bridge> [ddnet] but as soon as you get the request you know whether the client understands the extended protocol or not 15:16 < bridge> [ddnet] why send them both at that point? 15:16 < bridge> [ddnet] yeah, tho it does happen 15:16 < bridge> [ddnet] @noby explain your goofery 15:16 < bridge> [ddnet] and i guess ddnet 10 or smth still expects this 15:17 < bridge> [ddnet] anyway, if we dont need vanilla server details, drop it 15:17 < bridge> [ddnet] fng is based on ddnet 10.8 and the info reply code is changed abit because its using caching 15:17 < bridge> [ddnet] do i need to fix something 15:17 < bridge> [ddnet] its alot of servers 15:17 < bridge> [ddnet] not only fng 15:17 < bridge> [ddnet] its also my fng code btw 15:17 < bridge> [ddnet] hm, maybe ddnet 10.8 behaved like that, I wonder why we even bother sending both 15:17 < bridge> [ddnet] i pasted alot of ur fng code into ddnet code base 15:18 < bridge> [ddnet] and edited it 15:18 < bridge> [ddnet] guess 4 years ago that was the way todo it 15:18 < bridge> [ddnet] Is it okay that after i do SendKill(-1) in code it kills me after 5 seconds? I didnt make any delays or hard to calculate if statements 15:18 < bridge> [ddnet] since i also just looked into ddnet source 15:19 < bridge> [ddnet] hm, your fng2 code only seems to send legacy info, where do you send the extended one? 15:19 < bridge> [ddnet] anyway if we get vanillla details, we can also just ignore the extended always(for ping pong= 15:19 < bridge> [ddnet] wait but it does 15:20 < bridge> [ddnet] you send `inf3`, I can't even find the constant `iext` in your code 15:21 < bridge> [ddnet] (or I'm grepping wrong, it's possible) 15:21 < bridge> [ddnet] u gotta switch to 0.6 branch 15:21 < bridge> [ddnet] ah, found it, you send the legacy 64p serverinfo with fstd 15:21 < bridge> [ddnet] not iext 15:21 < bridge> [ddnet] https://github.com/Jupeyy/teeworlds-fng2-mod/blob/fng_06/src/engine/server/server.cpp#L1490 15:21 < bridge> [ddnet] yeah 15:21 < bridge> [ddnet] thats possible 15:24 < bridge> [ddnet] But even back then we knew which to send to the client, did we really send both? 15:24 < bridge> [ddnet] anyway, as the server is aware if the client supports 64p 15:24 < bridge> [ddnet] 15:24 < bridge> [ddnet] as soon as the client receives the vanilla ones it can ignore extended forever for the ping pong process 15:24 < bridge> [ddnet] I'll checkout ddnet 10.8 to investigate 15:24 < bridge> [ddnet] i guess the client just didnt send the extension required 15:24 < bridge> [ddnet] like a extra bit that indicates it or whatever 15:26 < bridge> [ddnet] i see it just uses a flag 15:26 < bridge> [ddnet] Packet.m_Flags & NETSENDFLAG_EXTENDED 15:26 < bridge> [ddnet] Okay, the last time this protocol was used was in 9.3.2 15:27 < bridge> [ddnet] But for connless both ddnet 9.3.2 and fng2 only send the correct one and not both 15:27 < bridge> [ddnet] for ingame serverinfo both seem to send 2 indeed, god knows why 15:28 < bridge> [ddnet] maybe it was that the client just sends 2 requests 15:28 < bridge> [ddnet] cant remember 15:28 < bridge> [ddnet] but somehow it ended up like this 15:31 < bridge> [ddnet] I'd suggest you all adopt the actual new (been here since ddnet 10) extended protocol from #322 15:31 < bridge> [ddnet] https://github.com/ddnet/ddnet/pull/322 15:32 < bridge> [ddnet] SERVERBROWSE_INGAME was how the double send was dropped, anyway the ping code needs to be fixed to cope with servers that can't upgrade, so let's create an issue 15:37 < bridge> [ddnet] I think(tm) the serverinfo part of the code you can pretty much copy and paste into your own code fwiw. Hopefully I didn't code it too dirtily, it is a bit of a mess to keep a decades worth of compatibility around 15:40 < bridge> [ddnet] i agree on that, but many servers wont update tho 15:40 < bridge> [ddnet] ddnet also uses old code from me i think 15:43 < bridge> [ddnet] old code? for serverinfo? 15:44 < bridge> [ddnet] much of the serverinfo stuff was rewritten in the pr above and I rewrote a lot of it too to hack caching in there 15:44 < bridge> [ddnet] nah i mean generally 15:44 < bridge> [ddnet] outdated code 😄 15:44 < bridge> [ddnet] like not latest master 15:45 < bridge> [ddnet] hm, I don't follow, you mean as in the official servers are not running master? 15:45 < bridge> [ddnet] yeah they run like 1-2 years old code 15:46 < bridge> [ddnet] ah you mean the fng servers, yeah we haven't really kept up 15:46 < bridge> [ddnet] yeah i just mean, the ppl running servers might never update 15:46 < bridge> [ddnet] as they dont care 15:46 < bridge> [ddnet] just like kog never updated until avo joined kog 15:46 < bridge> [ddnet] and imo the fix is ok client side 15:47 < bridge> [ddnet] I said this for you and @noby. I know many hosters don't care 15:47 < bridge> [ddnet] not too much trouble 15:47 < bridge> [ddnet] yeah 15:47 < bridge> [ddnet] thats why i wrote i agree on that 15:47 < bridge> [ddnet] it's also less traffic for you 15:48 < bridge> [ddnet] I wonder if we drop all compatibility and show just a "download a recent version to play" how many people we'd drop 15:48 < bridge> [ddnet] like who even still plays with vanilla 0.6 15:48 < bridge> [ddnet] i dont even fear client side 15:48 < bridge> [ddnet] i fear that some mods wont work 15:48 < bridge> [ddnet] and then ppl are like why is bomb mod not working anymore 15:48 < bridge> [ddnet] smth like that xd 15:48 < bridge> [ddnet] what do i have to change 15:49 < bridge> [ddnet] @noby well idk what you are doing right now, but if it's what jupeyy is doing you should probably just take what we have in ddnet and bolt it on 15:49 < bridge> [ddnet] it isnt 15:49 < bridge> [ddnet] im using a modified version of ddnet 10 info reply 15:49 < bridge> [ddnet] i just added caching and a few other small changes 15:49 < bridge> [ddnet] so you are correctly sending iext packets and only sending a single type to people ingame? 15:50 < bridge> [ddnet] im not sure id have to check 15:50 < bridge> [ddnet] grep for `SERVERBROWSE_INGAME` if it's there you are fine 15:50 < bridge> [ddnet] he does send all server packets xD 15:51 < bridge> [ddnet] the https list is correct for his mod 15:51 < bridge> [ddnet] but it still has ping 0 apparently 15:51 < bridge> [ddnet] just like kog does rn 15:51 < bridge> [ddnet] anyway, I'll go back to math 15:51 < bridge> [ddnet] gl 15:52 < bridge> [ddnet] I guess heinrich will fix the ping thing sometime and the servers can fix their serverinfo stuff if they feel like it 15:52 < bridge> [ddnet] and when native http serverinfo support comes along we'll all be golden 16:10 < bridge> [ddnet] 👀 16:34 < bridge> [ddnet] i swear im gonna set a bounty on /swap fix 16:41 < bridge> [ddnet] time for bounty hunting 16:41 < bridge> [ddnet] :monkalaugh: 16:53 < bridge> [ddnet] https://cdn.discordapp.com/attachments/293493549758939136/848212467339362344/RDT_20210529_165319505179631511469971.jpg 16:54 < bridge> [ddnet] :monkalaugh: ç 16:54 < bridge> [ddnet] :monkalaugh: 17:45 < bridge> [ddnet] My professors are seriously all so annoying, why are they renaming everything? The guy calls a gated d latch a d flip flop 17:46 < bridge> [ddnet] How am I supposed to follow this mans lectures when I have to correct his terminology in my mind all the time? 17:47 < bridge> [ddnet] When you say d flip flop I think of a positive edge triggered d flip flop 18:04 < bridge> [ddnet] if you get used to something, it's hard to leave it 🙂 18:12 < bridge> [ddnet] There should be some regulatory body enforcing correct usage of terminology in lectures and maybe some standardized higher level mathematics courses 18:12 < bridge> [ddnet] Everyone just picking and choosing terminology means we can’t browse the vast internet for extra knowledge, means we can’t ask for help easily 18:13 < bridge> [ddnet] is it really that bad? 18:15 < bridge> [ddnet] For math proofs I have to provide all the required definitions when asking for help because the author of this book decided to slighltly modify them 18:16 < bridge> [ddnet] E.g. a region has to be G-Admissible for the gauss green theorem to be correct. Good luck finding the definition of g admissible anywhere on the internet 18:19 < bridge> [ddnet] so only math is the problem, isn't it? 18:19 < bridge> [ddnet] Well math is an example, as you see the computer architecture professor decided to define d flip flop as a gated d latch 18:21 < bridge> [ddnet] but that's somewhat obvious i think 18:21 < bridge> [ddnet] The ESTM professor likes to use SR NAND latches, the architecture guy SR NOR latches 18:23 < bridge> [ddnet] How is it obvious at all? An edge triggered d flip flop can be implemented as two gated d latches in series 18:23 < bridge> [ddnet] You can’t use the part and the whole interchangeably :d 18:24 < bridge> [ddnet] it probably doesn't matter much unless you're going to design your own hardware 18:25 < bridge> [ddnet] Why teach it at all then? The point of the course is to learn some computer architecture 18:25 < bridge> [ddnet] If you don’t want to go that deep in your lecture then just give us blocks to put together 18:27 < bridge> [ddnet] i think courses at uni are just too short to learn something in deep 18:27 < bridge> [ddnet] and learning many different things at the same time isn't really helpful as well 18:27 < bridge> [ddnet] :sendhelp: 18:27 < bridge> [ddnet] Depends on the uni, Depends on your definition of deep 18:28 < bridge> [ddnet] i'm glad I'm done with my degree 18:28 < bridge> [ddnet] :pepeH: 18:28 < bridge> [ddnet] I have to learn and keep in mind proofs for all the theorems I use in analysis 2, that’s fairly deep, not extremely deep but very deep 18:30 < bridge> [ddnet] If you are going to lecture me about micro seconds of delay on a ripple carry adder I expect you to atleast keep the terminology unchanged from other sources so I can google shit without having to translate 18:31 < bridge> [ddnet] I would gladly pay someone to finish it up for me, whenever I start working on it I remember how useless it is 18:33 < bridge> [ddnet] :poggers: 18:33 < bridge> [ddnet] Pisses me off that the useless degree has so much influence on your life. What do we even study for to be honest? Being miserable for 4-10 years just so you can be a little less miserable at work 18:35 < bridge> [ddnet] yes, it's weird 18:36 < bridge> [ddnet] Post scarcity world when? 18:37 < bridge> [ddnet] unis made sense in the dark ages when there was no internet, but today.... i think big update is needed 18:38 < bridge> [ddnet] @Learath2 how old were u again? 18:39 < bridge> [ddnet] 23, approaching the 40~ years of uninterrupted misery quickly 18:39 < bridge> [ddnet] oh so young 18:39 < bridge> [ddnet] thought u older xd 18:40 < bridge> [ddnet] Everyone thinks so for some reason. Is it my love for ancient programming languages? 18:40 < bridge> [ddnet] guess its just bcs u always been here at ddnet 18:40 < bridge> [ddnet] probably because you are a wizard 18:40 < bridge> [ddnet] and normally these ppl are like 50 years old xd 18:40 < bridge> [ddnet] and have 3 kids 18:40 < bridge> [ddnet] and tsfreddie as wife 18:41 < bridge> [ddnet] Lol, I think most of the long timers here are not that old 18:41 < bridge> [ddnet] 😳 18:41 < bridge> [ddnet] guess deen is around 30? 18:41 < bridge> [ddnet] i mean its not old 18:41 < bridge> [ddnet] but also not young 18:41 < bridge> [ddnet] i can imagine he gets kids soon and wont be here alot anymore 18:41 < bridge> [ddnet] what does this supposed to mean 18:41 < bridge> [ddnet] No idea, if any of us is around 30 it's deen 18:43 < bridge> [ddnet] I think I coded my first line like 11 years ago, wasn't teeworlds though iirc 18:43 < bridge> [ddnet] isnt heinrich the oldest 18:43 < bridge> [ddnet] :monkalaugh: 18:43 < bridge> [ddnet] who knows xd 18:43 < bridge> [ddnet] :justatest: 18:43 < bridge> [ddnet] I wonder what my oldest teeworlds commit is 18:43 < bridge> [ddnet] ttbh i assume he's from 1991 18:43 < bridge> [ddnet] so probs around deens age 18:43 < bridge> [ddnet] @Jupstar ✪ and u? 18:43 < bridge> [ddnet] 125 +- 100 18:43 < bridge> [ddnet] 25? 18:43 < bridge> [ddnet] xD 18:43 < bridge> [ddnet] maybe 225 18:43 < bridge> [ddnet] who knows 18:44 < bridge> [ddnet] Jupstar is 2021 years old, he personally saw jesus christ 18:44 < bridge> [ddnet] im 0x15 18:44 < bridge> [ddnet] I always had the impression that Heinrich is the same age as mine 18:44 < bridge> [ddnet] so young 18:44 < bridge> [ddnet] wtf 18:44 < bridge> [ddnet] thats like kiddy 18:44 < bridge> [ddnet] age 18:44 < bridge> [ddnet] i bet tsfreddie is like 19 18:44 < bridge> [ddnet] (21) 18:44 < bridge> [ddnet] 😅 18:44 < bridge> [ddnet] I wish 18:45 < bridge> [ddnet] 😮 18:45 < bridge> [ddnet] he's old af 18:45 < bridge> [ddnet] 49 weeb 18:45 < bridge> [ddnet] plays kids game 18:45 < bridge> [ddnet] actually, you nailed it, I'm 0x19 18:45 < bridge> [ddnet] Heh 18:45 < bridge> [ddnet] 😄 18:46 < bridge> [ddnet] Teeworlds trolls added 50 years to my life so I'm 73 in reality 18:46 < bridge> [ddnet] I tested my English vocab, I'm on par with a 5yo native speaker. So it might be hard to tell 18:49 < bridge> [ddnet] With all these IRC logs, we are slowly doxing ourselves. 18:49 < bridge> [ddnet] I mean I have a fairly unique name anyway, so I'm instantly doxed 18:50 < bridge> [ddnet] :poggers: 18:51 < bridge> [ddnet] hello people reading irc logs 18:51 < bridge> [ddnet] if you are from the future 18:51 < bridge> [ddnet] i may be dead 18:51 < bridge> [ddnet] but i was here 18:51 < bridge> [ddnet] 👍 18:52 < bridge> [ddnet] imagine the internet in 2100 18:52 < bridge> [ddnet] i wonder if even http itself changed 18:52 < bridge> [ddnet] maybe it's a robot reading these, learning about teeworlds 18:52 < bridge> [ddnet] or if C stiffness in the world still remains 18:52 < bridge> [ddnet] an ancient relic of the past 18:53 < bridge> [ddnet] Or we have all merged into a singularity and the irc logs exists in everyones mind 18:53 < bridge> [ddnet] https://xkcd.com/1782/ 18:53 < bridge> [ddnet] :greenthing: 18:54 < bridge> [ddnet] Yes, ofc I'l connect with my irc bridge 18:54 < bridge> [ddnet] i was never on the irc train. i don't really get it 18:54 < bridge> [ddnet] its simple 18:54 < bridge> [ddnet] thats why i like it 18:54 < bridge> [ddnet] and its decentralized in its own way 18:55 < bridge> [ddnet] its not p2p but better than 1 discord 18:55 < bridge> [ddnet] and matrix is overly complicated and slow 18:55 < bridge> [ddnet] but at the end u gotta use what everyone uses 18:55 < bridge> [ddnet] or ur end alone 18:55 < bridge> [ddnet] its sometimes fun to read some irc chats 18:55 < bridge> [ddnet] its always about drugs 18:55 < bridge> [ddnet] i swear 18:56 < bridge> [ddnet] 👀 basically me trying to get my friends onto telegram 20:51 < bridge> [freenode] why telegram tho 20:51 < bridge> [freenode] sok 20:51 < bridge> [freenode] even signal is better than telegram 20:51 < bridge> [freenode] or whatsapp 21:03 < bridge> [ddnet] telegram is fun 21:03 < bridge> [ddnet] the good thing about telegram is the bot api 21:03 < bridge> [ddnet] ye 21:03 < bridge> [ddnet] and the stickers I guss 21:04 < bridge> [ddnet] I literally use a telegram bot to manage my input method's dictionary