02:34 <+bridge> [ddnet] @Voxel what up with ger3 and 10 🗿 02:36 <+bridge> [ddnet] How should I know? Probably a DDOS 02:37 <+bridge> [ddnet] Oh wait, they're down. 08:00 <+bridge> [ddnet] Oh nice I think I have seen it and forgot about it immediately back in the days because I’m C# hater haha. But wow that project is like half a decade old! It’s hard to judge from the missing documentation and examples how useful that is but I will mention that for sure in my list of teeworlds protocol implementations \:) 08:00 <+bridge> [ddnet] (@Matodor) 09:17 <+bridge> [ddnet] In fact, it is quite useless, main branch is not working, in the branch refactoring ready completely clean network part, there is somewhere very old branch, there is a terrible code but you can play, based on it I do city mode plus developments from the refactoring branch. 09:17 <+bridge> [ddnet] 09:17 <+bridge> [ddnet] In any case, it's just a hobby through which I've learned to read other people's code and understand it well :justatest: 09:32 <+ChillerDragon> how does it work? Is it 100% C# running the city server? 09:33 <+ChillerDragon> Or do you somehow hook in to mod c++ servers with C#? 09:33 <+ChillerDragon> if it can run and even be used for city development. Please add some kind of setup/sample/docs im sure someone C# would really appreciate that! 09:34 <+ChillerDragon> OMG @heinrich5991 I can not say enough how much I appreciate your dissector!!!!!!!!!! The bit annotation with the ..01010 thingies is so fkin amazing. It really helps a lot to identify where these values spread to. https://zillyhuhn.com/cs/.1667291498.png 09:35 <+ChillerDragon> Such a trol protocol having 2 bits sequence number in the middle of the size number!? 09:35 <+bridge> [ddnet] `how does it work? Is it 100% C# running the city server?` 09:35 <+bridge> [ddnet] yes 09:36 <+ChillerDragon> awesome! 09:36 <+ChillerDragon> and people can join and play? 09:37 <+ChillerDragon> You need to document that thats amazing! 09:38 <+ChillerDragon> atleast some simple instructions on howto get a server running would be dope i guess 09:38 <+ChillerDragon> so gonna ping you too in the future when i got protocol questions :p 09:40 <+ChillerDragon> @Matodor also do not be ashamed of your old code. If it works it rocks! Be proud and promote it. If you wanna feel better about your code i can share you some of mine :D 09:41 <+bridge> [ddnet] in the city mod yes, but in TeeSharp no, there is still a lot to do (in refactoring branch), I also want to study the ECS system and implement it for mods 09:41 <+bridge> [ddnet] 09:41 <+bridge> [ddnet] But all the time I have now goes to work and to the city mod, so TeeSharp is not updated 09:41 <+ChillerDragon> i thought city mod is TeeSharp? 09:41 <+bridge> [ddnet] Yes, I have this problem, to rewrite everything from scratch, made a long time ago the game on the unity, three times rewrote and did not release anywhere 😭 09:42 <+ChillerDragon> :c 09:42 <+bridge> [ddnet] no, mLife 09:42 <+bridge> [ddnet] I think you'll have a look at it by winter) 09:42 <+ChillerDragon> okeoke 09:42 <+ChillerDragon> I mentioned you on my network docs anyways 09:42 <+ChillerDragon> so at least my mom reading it will checkout your stuff! 09:53 <+bridge> [ddnet] maybe the good and really modern bevy ECS can inspire you https://bevyengine.org/learn/book/getting-started/ecs/ 09:53 <+bridge> [ddnet] but u will never reach rust speeds with C# :BASED: 09:54 <+bridge> [ddnet] Thanks, I'll read it. 09:55 <+bridge> [ddnet] https://bevy-cheatbook.github.io/programming/ecs-intro.html 09:55 <+bridge> [ddnet] more here too 09:55 <+bridge> [ddnet] > Conceptually, you can think of it by analogy with tables, like in a database or spreadsheet. Your different data types (Components) are like the "columns" of a table, and there can be arbitrarily many "rows" (Entities) containing values / instances of various components. 09:55 <+bridge> [ddnet] > 09:55 <+bridge> [ddnet] > For example, you could create a Health component for your game. You could then have many entities representing different things in your game, such as the player, NPCs, or monsters, all of which can have a Health value (as well as other relevant components). 09:55 <+bridge> [ddnet] > 09:55 <+bridge> [ddnet] > This makes it easy to write game logic (Systems) that can operate on any entity with the necessary components (such as a health/damage system for anything that has Health), regardless of whether that's the player, an NPC, or a monster (or anything else). This makes your game logic very flexible and reusable. 09:56 <+bridge> [ddnet] > 09:56 <+bridge> [ddnet] > The set / combination of components that a given entity has, is called the entity's Archetype. 09:56 <+bridge> [ddnet] > 09:56 <+bridge> [ddnet] > Note that entities aren't limited to just "objects in the game world". The ECS is a general-purpose data structure. You can create entities and components to store any data. 09:56 <+bridge> [ddnet] the tldr 09:56 <+bridge> [ddnet] xd 10:38 <+ChillerDragon> @Ryozuki when tw client in bevy? 10:39 <+bridge> [ddnet] :monkalaugh: 10:40 <+ChillerDragon> holy shit i have been starring so long at the hexdump of tw protocol i can almost read it :D 10:45 <+bridge> [ddnet] @deen are the map preview images stored in a repo? 10:46 <+bridge> [ddnet] no 13:45 <+bridge> [ddnet] ChillerDragon: that's amazing 🙂 and yeah I also thought that someone didn't look at the actual bytes when "designing" this protocol ^^ 13:46 <+ChillerDragon> not that the C++ code flippin, shuffeling, shifting and dipping those bytes using ``pBuffer[0]&0xFF<<1`` looks any better :D 13:56 <+bridge> [ddnet] ChillerDragon: I got the idea from wireshark's TCP dissector (screenshot attached) 13:56 <+bridge> [ddnet] https://cdn.discordapp.com/attachments/293493549758939136/1036987092829483059/unknown.png 13:58 <+ChillerDragon> poggers 13:59 <+ChillerDragon> it does make so much sense for tw protocol 13:59 <+ChillerDragon> btw i finally figured dark mode out on arch too and actually did ditch termshark again after hyping it so much :D 14:00 <+ChillerDragon> the highlight in the hexdump is just not as accurate enough as the qt version 14:02 <+ChillerDragon> i mean it probably is feature complete but my brain can not grasp that the msg 19 is the byte 27 and it is highlighted https://zillyhuhn.com/cs/.1667307607.png 14:02 <+ChillerDragon> this is easier for me :( https://zillyhuhn.com/cs/.1667307664.png 14:10 <+bridge> [ddnet] https://cdn.discordapp.com/attachments/293493549758939136/1036990518606962728/unknown.png 14:10 <+bridge> [ddnet] https://ismypackagereproducibleyet.org/?pkg=ddnet&query=query 14:11 <+bridge> [ddnet] Failure is 14:11 <+bridge> [ddnet] > [ FAILED ] Jobs.LookupHostWebsocket 14:12 <+bridge> [ddnet] So the test server is not connected to a DNS server: 14:12 <+bridge> [ddnet] ``` 14:12 <+bridge> [ddnet] [ RUN ] Jobs.LookupHostWebsocket 14:12 <+bridge> [ddnet] 2023-11-13 18:29:23 I host_lookup: host='example.com' port=0 1 14:12 <+bridge> [ddnet] ./src/test/jobs.cpp:109: Failure 14:12 <+bridge> [ddnet] Expected equality of these values: 14:12 <+bridge> [ddnet] pJob->m_Result 14:12 <+bridge> [ddnet] Which is: -1 14:12 <+bridge> [ddnet] 0 14:12 <+bridge> [ddnet] [ FAILED ] Jobs.LookupHostWebsocket (1 ms) 14:12 <+bridge> [ddnet] ``` 14:13 <+bridge> [ddnet] Maybe bad style that our tests require a DNS server 14:13 <+bridge> [ddnet] why does the websocket test fail but not the real one? 14:13 <+bridge> [ddnet] are you sure it's the missing internet connection? 14:15 <+bridge> [ddnet] but yea, they do fail without internet ocnnection for me as well. hm 15:39 <+bridge> [ddnet] Weird, maybe just sporadic internet problem? 19:00 <+bridge> [ddnet] hey i got a question, how can i set the background entities color to a hex or rgb value 19:05 <+bridge> [ddnet] nevermind i figured it out, I had to right click on the hex value in the settings =] 19:05 <+bridge> [ddnet] `cl_background_color $808080` also should work 19:05 <+bridge> [ddnet] ah thanks 19:05 <+bridge> [ddnet] with the hex code after $ instead of the usual # 19:05 <+bridge> [ddnet] btw it's not setting it to a correct value though 19:06 <+bridge> [ddnet] Maybe it's rounding to the closest value we can store 19:06 <+bridge> [ddnet] oof 19:06 <+bridge> [ddnet] #23272A is being replaced with #222629 19:07 <+bridge> [ddnet] Yes, so each color's value is off by one 19:07 <+bridge> [ddnet] Is that expected @Learath2 ? ^ 19:07 <+bridge> [ddnet] and in rgb by 2 19:07 <+bridge> [ddnet] It's probably close enough that no one would notice anyway 19:08 <+bridge> [ddnet] The calculation is here: https://github.com/ddnet/ddnet/pull/1678/files#diff-7dc34778e6c28029830864d702a7fadf2a410dcd32033ce83c8ed6a47f145f16R40 19:08 <+bridge> [ddnet] okay no problem, thanks for the help 19:09 <+bridge> [ddnet] but i think this also ties with #5844 19:09 <+bridge> [ddnet] https://github.com/ddnet/ddnet/issues/5844 19:10 <+bridge> [ddnet] Oh yeah, looks like @Robyt3 got it right 20:07 <+bridge> [ddnet] We just can’t represent every 3 byte rgb value with 3 bytes of hsl. It is technically possible that I have an off by 1 somewhere, but it’s more likely that we can’t represent this exact hue 20:23 <+bridge> [ddnet] Alright, sounds fine 20:29 <+bridge> [ddnet] It could also be that it's rounding the values to a whole value without decimals 20:30 <+bridge> [ddnet] For example i can see that `rgb(35, 39, 42)` gets converted to `hsl(205.7, 9.1%, 15.1%)` which is also being converted in teeworlds so it fits as a value from 0 to 255 20:31 <+bridge> [ddnet] So if it's getting rounded to the nearest whole value then that's where the exact color is probably being lost 22:34 <+bridge> [ddnet] @Ryozuki pipewire is pretty cool, I like 22:35 <+bridge> [ddnet] nice 22:35 <+bridge> [ddnet] @Learath2 how hard it is to switch 22:35 <+bridge> [ddnet] on gentoo 22:35 <+bridge> [ddnet] I tried it on artix, it was painless. Gentoo should be similar given both use openrc 22:36 <+bridge> [ddnet] oh u dont use gentoo? 22:36 <+bridge> [ddnet] then im superior right now 22:36 <+bridge> [ddnet] ill take my based pill 22:36 <+bridge> [ddnet] :BASED: 22:36 <+bridge> [ddnet] Testing out artix on an old laptop that can’t build it’s own packages in any reasonable time 😄 22:36 <+bridge> [ddnet] 🥹 22:37 <+bridge> [ddnet] I did use this laptop with gentoo for a very long time though. Distcc is great 22:37 <+bridge> [ddnet] @Ryozuki did you use an AUR helper while you were on arch? 22:38 <+bridge> [ddnet] I usually go for aurutils, but just wanted to check if you used something else 22:38 <+bridge> [ddnet] @Learath2 i used yay 22:38 <+bridge> [ddnet] but if i wasnt used to yay 22:38 <+bridge> [ddnet] i would use the fork 22:39 <+bridge> [ddnet] made in rust 22:39 <+bridge> [ddnet] paru? 22:39 <+bridge> [ddnet] yes 22:39 <+bridge> [ddnet] its by one of yay authors 22:39 <+bridge> [ddnet] Let me give it a go. I never used pacman wrappers because back when I first installed arch people were all saying they were dangerous things that will break your computer instantly 😄 22:39 <+bridge> [ddnet] https://github.com/Morganamilo/paru 22:39 <+bridge> [ddnet] stupid people 22:40 <+bridge> [ddnet] sometimes i really feel like a stranger visiting a foreign country here 22:40 <+bridge> [ddnet] yay and paru ask if you wanna read the diff for the PKGBUILD 22:40 <+bridge> [ddnet] its ur choice to check it 22:40 <+bridge> [ddnet] xd 22:40 <+bridge> [ddnet] why 22:40 <+bridge> [ddnet] i don't understand anything of what's going on with you two 😄 22:41 <+bridge> [ddnet] yay is like deformed yes, not a program to me 22:41 <+bridge> [ddnet] I think the issue came from yay -Sy failing. If it failed for whatever reason it could leave your system in a broken half upgraded state 22:41 <+bridge> [ddnet] hmm idk 22:41 <+bridge> [ddnet] i jsut run "yay" 22:41 <+bridge> [ddnet] to update 22:41 <+bridge> [ddnet] yay is also the name of a program, an AUR helper 22:41 <+bridge> [ddnet] @Chairn https://github.com/Jguer/yay 22:42 <+bridge> [ddnet] yogurt? 22:42 <+bridge> [ddnet] @Chairn cuz an old aur phelper 22:42 <+bridge> [ddnet] Oh and back when I first used arch there was yaourt 😄 22:42 <+bridge> [ddnet] called yaogurt 22:42 <+bridge> [ddnet] That’s the reference 22:42 <+bridge> [ddnet] oh 22:42 <+bridge> [ddnet] yaourt xd 22:42 <+bridge> [ddnet] I was once asked where I got the ddnet I use and I said yay. Then the other person said "I am not accusing you for hacking" xD 22:42 <+bridge> [ddnet] dammit, there should be laws to name programs 😄 22:42 <+bridge> [ddnet] nah 22:42 <+bridge> [ddnet] funny names > serious 22:43 <+bridge> [ddnet] let corpo be the boring ones 22:43 <+bridge> [ddnet] :BASED: 22:45 <+bridge> [ddnet] are there any program name using a copyrighted name like coca cola ? 22:53 <+bridge> [ddnet] the rule is: choose a 2-3 letter name that is not used by another popular cli tool yet 22:55 <+bridge> [ddnet] let's rename ddnet to ddn 22:58 <+bridge> [ddnet] Am I allowed to do something like this? Or, how do I manage 2 packets at once? 22:58 <+bridge> [ddnet] https://cdn.discordapp.com/attachments/293493549758939136/1037123425350729838/unknown.png 23:01 <+bridge> [ddnet] There should be a different NETMSGTYPE_SV_KILLMSG_TEAMS for the KillMsgTeams 23:02 <+bridge> [ddnet] It doesn't make sense to me to create two different type objects from the same raw message