00:06 < bridge> gn everyone and teero 01:02 < bridge> good morning!!! 01:02 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1352794545036857454/image.png?ex=67df4f99&is=67ddfe19&hm=2f87b080b55e66c2ecf54a557d98aadbaa3c9c9b094e62d9918a54fecf2a7fec& 01:02 < bridge> brand new day 01:02 < bridge> crazy that i didnt go to bed yesterday 01:02 < bridge> i went to bed **today** 01:02 < bridge> wdym good morning 01:02 < bridge> its 1 am 01:03 < bridge> cuz 01:03 < bridge> i said so :) 01:04 < bridge> dude go to sleep 01:04 < bridge> no you 01:04 < bridge> my lip gloss is not made from crushed beatles, im so glad i ahve this infomration 01:04 < bridge> wwhat are you talking about dude 01:06 < bridge> it says so on the thing 01:07 < bridge> hey buddy wanna know something? 01:07 < bridge> no i dont 01:07 < bridge> good night 01:07 < bridge> idgaf 01:15 < bridge> the kerning of the clock symbol and the actual timer is too close 01:15 < bridge> i agree 01:15 < bridge> what? 01:15 < bridge> kerning? 01:15 < bridge> sadly dwm just uses the 2nd x attempt at fonts 01:15 < bridge> which doesnt handle unicode very well 01:16 < bridge> WHAT ARE YOU TALKING ABOUT?? 01:16 < bridge> i can't understand anything 01:17 < bridge> maybe like this? edited the base image 01:17 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1352798218869801044/image.png?ex=67df5305&is=67de0185&hm=3a307e08bb2b184bf90b9c2fb754f9b7664a87999d2158f2842f6a559990fdb9& 01:17 < bridge> what about it 01:17 < bridge> ik what it should look like, but its been a while since i had riced 01:17 < bridge> right sorry 01:17 < bridge> in the past year ive only made changes based on software breaking n such, and functionality 01:17 < bridge> yup im out peace 01:18 < bridge> solly is presumably adding a clock symbol next to the in-game time 01:18 < bridge> i should rice again 01:18 < bridge> this is dwm 01:18 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1352798499795767376/image.png?ex=67df5348&is=67de01c8&hm=09ad6a16de101ec98429f9331ea5d7f44a4307730304b0b8167590475cb23b57& 01:18 < bridge> doom scrolling at 00:18 01:18 < bridge> 💀 01:18 < bridge> it had dejavu sans 01:18 < bridge> thats probably why 01:19 < bridge> if fonts were handled correctly then it wouldnt matter 01:19 < bridge> but currently that clock symbol has the width of an `x` 01:19 < bridge> did you code the entire top bar? 01:19 < bridge> theres actually a space imbetween there 01:19 < bridge> i mean its forked from dwm, but i rewrote... most of it 01:19 < bridge> so yeah 01:20 < bridge> are these like, groups of tabs? 01:20 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1352799011051933747/image.png?ex=67df53c2&is=67de0242&hm=eebe5e292fa448ecb1622a0bb55797307ff3090a0f1ee60d542867a3aeff22de& 01:20 < bridge> those are desktops or as dwm called them tags 01:20 < bridge> each window can be in 1 to 9 tags, then i can show 1 to 9 tags 01:21 < bridge> but i use them mainly as desktops 01:21 < bridge> the dots are just a count of windows 01:24 < bridge> i would switch to hyprland 01:25 < bridge> but software and wayland dont get along (idc what you say, every application needs a random env var, just check if xdg session type) 01:25 < bridge> and i got a ton of config in dwm which i cant transfer 02:14 < bridge> i switched to hyprland, yes you need alternative software if your current software isn't compatible, but other than that i had no software that didnt run (apart from some games, but thats a linux issue, not a wayland issue IMO) 02:14 < bridge> 02:14 < bridge> wayland does have their issues yeah, but tbh if you want a tiling window manager just use i3 for X11, or sway for Wayland if you dont want fancy visuals 02:14 < bridge> 02:14 < bridge> hyprland is for nerds 02:14 < bridge> i switched to hyprland, yes you need alternative software if your current software isn't compatible, but other than that i had no software that didnt run (apart from some games, but thats a linux issue, not a wayland issue IMO) 02:14 < bridge> 02:14 < bridge> wayland does have their issues yeah, but tbh if you want a tiling window manager just use i3 for X11, or sway for Wayland if you dont want fancy visuals 02:14 < bridge> 02:14 < bridge> hyprland is for nerds (me included) 02:14 < bridge> i switched to hyprland, yes you need alternative software if your current software isn't compatible, but other than that i had no software that didnt run (apart from some games, but thats a linux issue, not a wayland issue) 02:14 < bridge> 02:14 < bridge> wayland does have their issues yeah, but tbh if you want a tiling window manager just use i3 for X11, or sway for Wayland if you dont want fancy visuals 02:14 < bridge> 02:14 < bridge> hyprland is for nerds (me included) 02:25 < bridge> what do I do if I think i3 or sway is too boring but I'm too lazy to configure nerd software? 02:25 < bridge> look through github and look for other people's configs 02:25 < bridge> ewwww 02:25 < bridge> also too much eyecandy is just disstrackting imo 02:26 < bridge> when i go full focus i just have either vim or vscode in fullscreen with no borders or whatever and music on the other xD 02:26 < bridge> that's like borrowing a stranger's spoon without washing it 02:26 < bridge> when i enable fullscreen transparency is turned off aswell, i love my background but its disstracking me while i code 03:25 < bridge> I found that 03:28 < bridge> The server send command help text, but we don't display it in the client. 03:28 < bridge> The server sends command help text, but we don't display it in the client. 05:46 < bridge> Wdym 05:47 < bridge> Type `help [command]` 07:05 < bridge> Gm 07:12 < bridge> works pretty well if you set the envvars 07:12 < bridge> if you’re on nvidia i can give you a heaping list 07:12 < bridge> hyprland workspaces work basically identically to how you’ve set it up if you use waybar 07:31 < bridge> but why 07:31 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1352892491224973394/image.png?ex=67dfaad1&is=67de5951&hm=7567a5bfe57159be634f94a1f82f5347b966693394aa8bc683cd56d9514184c4& 07:33 < bridge> that's not guaranteed if you're not looking for the package 07:33 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1352893051676131328/image.png?ex=67dfab57&is=67de59d7&hm=45d5375b613fb9bbc1176faea8b75fa54e31759bb4e02a930cb05c196d3d23fa& 07:34 < bridge> when was this change added 07:34 < bridge> use git blame 07:42 < bridge> im blaming u 09:41 < bridge> @robyt3 would you like me to test all of my crashing maps on this commit? https://github.com/ddnet/ddnet/compare/master...Robyt3:ddnet:Datafile-Validation 10:28 < bridge> is there a vector image of game.png? 10:37 < bridge> https://github.com/ddnet/ddnet-data-svg/blob/main/game.svg this maybe ? 10:38 < bridge> yes thanks 10:59 < bridge> Sure, if you want to. This only fixes crash in `CDataFileReader` though, not in `CMap` or in the server/client/tools in general yet. You can quickly test with the new `map_test` tool from the PR if any of your fuzzed maps crash `CDataFileReader`. 10:59 < bridge> Sure, if you want to. This only fixes crashes in `CDataFileReader` though, not in `CMap` or in the server/client/tools in general yet. You can quickly test with the new `map_test` tool from the PR if any of your fuzzed maps crash `CDataFileReader`. 11:08 < ws-client> is it new that the cursor stays screen size on zoom out? 11:08 < ws-client> i cant see shit xd 11:11 < bridge> ya mean that? XD 11:11 < bridge> 11:11 < bridge> yeah i assume it was one of Freddies PR's for Cursor 11:11 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1352947730179166278/image.png?ex=67dfde43&is=67de8cc3&hm=5bbd9291963d1a0eaed9b4c12d0f959a8c38eb5971b9af5cd74f60b82a032d71& 11:11 < ws-client> can we make it small? 11:11 < bridge> didnt find an option under `spec` `cursor` or `size` 11:11 < bridge> so i dont think so 11:12 < bridge> @.piggy.9 was that one of your changes? 11:14 < bridge> The cursor was always the same size, this has been the case since at least version 16.9 11:14 < ws-client> hmm somehow i never noticed it covers the entire view port now 11:14 < bridge> really? - maybe i just never noticed because i usually zoom out that far when i'm specced, which hides the cursor 11:15 < ws-client> i do when im at home all the time 11:15 < ws-client> guess the cursor stuff was introduced when i was on laptop 11:15 < bridge> cursor always stays same size 11:15 < bridge> that was like since forever no? 11:15 < ws-client> looks like it 11:16 < ws-client> it hides entire tees now tho xd 11:43 < bridge> Not every mode is DDNet based 11:43 < bridge> :nouis: 12:08 < bridge> #announcements erm spectator count was already added in 19.0 12:09 < bridge> 2 spectator counts now 12:51 < bridge> heres the russian.txt translation for 19.1 12:51 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1352973000726679594/russian.txt?ex=67dff5cc&is=67dea44c&hm=332bbdc9e0fe0abc97dba8fd8dfda092c84758f1a2df5e76034673f9e10de566& 13:11 < bridge> how does one get context for a given translation? 13:12 < bridge> @0xdeen ^^ 13:12 < bridge> look for the text in code 13:13 < bridge> search for Localize("English Text"); 13:13 < bridge> search for `Localize("English Text");` 13:13 < bridge> thought there's an easier way, since the localize method has a second argument for exactly that 13:14 < bridge> its to distinguish translations because they can have same meaning, not to help the translators 13:14 < bridge> wdym 13:14 < bridge> "allowed" with "Team status" context can mean something different than just "allowed" 13:14 < bridge> ahh 13:14 < bridge> For example #8434 (which is not fixed yet) 13:14 < bridge> i get it 13:14 < bridge> https://github.com/ddnet/ddnet/issues/8434 13:15 < bridge> -# a method is a function that is part of a class. everything else is called a function 13:15 < bridge> ive seen xwayland do magical things (setxkbmap works under wayland which is extremley cursed), so im not worried about software *not* running, im concerned about software running in containers in containers in containers 13:15 < bridge> a huge benefit of wayland is that there is no latency from compositing which means fancy effects for only the cost of fancy effects but if its running in a containers then that goes out the window and now its just as much latency as xorg with picom 13:15 < bridge> 13:15 < bridge> its not about just tiling, ive modded dwm to the point where i cringe at calling it a fork, ive tried to configure hyprland to be similar, but its really hard since i cant just edit the c code behind it. i love fancy visuals, i dont use them on xorg due to latency 13:16 < bridge> :shut: 13:16 < bridge> before i start calling everything a subroutine 13:16 < bridge> :mad: 13:16 < bridge> (and they have a different calling convention which means you have to do weird function ptr shenangns slightly differently, i dont know why cpp doesnt just treat them as functions with an extra arg) 13:17 < bridge> vtable? xd or wdym 13:17 < bridge> methods are functions with access to the class instance they're a part of 13:17 < bridge> (vtable is static per class, the function can encapsulate that data) 13:18 < bridge> [a](https://cs.stackexchange.com/questions/142024/difference-between-function-method-routine-procedure-subprogram-subroutine) 13:18 < bridge> yeah its just got a "self" 13:18 < bridge> or "this" 13:18 < bridge> Teero istg I will take you on a date and leave you with the bill 13:18 < bridge> but its treated differently than an argument for whatever reason 13:19 < bridge> i mean 13:19 < bridge> in typescript its really not that complicated 13:19 < bridge> i will leash you 13:20 < bridge> js and ts always have a "this" variable per function scope 13:20 < bridge> its not really an argument 13:20 < bridge> its really weird in js 13:20 < bridge> you're weird 13:20 < bridge> yeah 13:20 < bridge> but other people dont have to program in me 13:22 < bridge> that can change :heh: 13:22 < bridge> nooooo! 13:23 < bridge> I will make an esoteric lang out of everything you've ever written in this server 13:23 < bridge> best lang ever 13:23 < bridge> trust 13:24 < bridge> rust but with more t 13:24 < bridge> trust 13:24 < bridge> just say if you need help with the swedish translation 13:24 < bridge> `97% swedish` 13:24 < bridge> they do 13:25 < bridge> :) didnt see that 13:25 < bridge> furo one step ahead again:wtf: 13:25 < bridge> I will roll over dead in a grave 10 feet deep beneath 2 slabs of concrete and a tap dancing pad above that before I even dare think about r*st 13:26 < bridge> :PES_JesusChristAlt: 🦀 13:32 < ws-client> okay so I gave llms another try and it seems like it finally knows the tw code base 13:33 < ws-client> my prompt was only teeworlds antibot and it used the full on tw coding style 13:33 < ws-client> https://zillyhuhn.com/cs/.1742646801.png 13:33 < ws-client> that is pretty cool! 13:34 < ws-client> it is probably leaking closed source antibots from github lol 13:41 < bridge> https://crates.io/crates/crabtime 13:41 < bridge> @jupeyy_keks @learath2 13:41 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1352985528672456798/d273e38d-951c-4183-b42e-ac5bdf939d69.png?ex=67e00177&is=67deaff7&hm=6068534965993ea6e8b7ec523b4b2923b8d6f9b8f57b6a65743b3587e88b36e9& 13:47 < bridge> Now that's a rare ping, me and the jupman 13:47 < bridge> @learath2 @jupeyy_keks you two are awesome 13:49 < bridge> Wow, that is actually quite nice, I wonder how it's made. I always found macro_rules very annoying 13:49 < bridge> Zigs comptime is much more ergonomic 13:50 < bridge> :owo: 13:50 < bridge> the logo is epy xd 13:50 < bridge> epyc 13:51 < bridge> Very meta 13:55 < bridge> Is it normal that the rect added to ScrollRegion has negative height? 13:56 < bridge> It killed many other elements😅 13:56 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1352989198189068428/Screenshot_2025-03-22-20-26-03-882_org.ddnet.clienu.jpg?ex=67e004e2&is=67deb362&hm=36af3857a8b07ea0c21ebb5b67c97cb5b51c716c73ea693d96739ef2f6d594db& 14:00 < bridge> No, did you split the rect incorrectly before calling `AddRect`? 14:01 < bridge> HSplitTop(30.0f, &Content, &Start); 14:01 < bridge> Like this? 14:01 < bridge> Try to add `dbg_msg`s at different steps to print the sizes of UI elements 14:01 < bridge> Depends on which object you are calling it on 14:02 < bridge> AddRect(Content); 14:02 < bridge> .AddRect(Content); 14:02 < bridge> But I placed these two in a cycle 14:03 < bridge> `MouseSettings.HSplitTop(80.0f, &MouseSettings, &JoystickSettings);` 14:03 < bridge> This splits 80 height from the mouse settings and the remainder for the joystick settings 14:03 < bridge> Then `if(s_ScrollRegion.AddRect(MouseSettings))` 14:03 < bridge> wait you can already disable dummy? 14:03 < bridge> Compare with existing usages of `CScrollRegion` and check the usage example in `ui_scrollregion.h` 14:03 < bridge> ok 14:04 < bridge> The server can disable dummy, the touch controls can change visibility when dummy is allowed or not (to hide the button to connect dummy) 14:04 < bridge> i didnt know that 14:05 < bridge> does it also stop just f1 command 14:05 < bridge> yes, `Client()->DummyAllowed()` is also checked then 14:05 < bridge> :) 14:06 < bridge> yep 14:19 < ws-client> antibot api has no shutdown callback? 14:19 < ws-client> where do i do cleanup 14:23 < furo> There is. `AntibotDestroy()`, no? 14:27 < ws-client> indeed just found it xd 14:28 < ws-client> thnaks furowo 14:31 < ws-client> @meloƞ 14:32 < ws-client> i am currently violating rule 7 on twitch 14:36 < bridge> Ban 14:46 < bridge> `std::vector m_avCallbacks[CONFIGDOMAIN::NUM];` 14:46 < bridge> av or va? 14:48 < bridge> I'd say an array of vectors, so av 14:48 < bridge> xd 14:52 < bridge> intelisense has given up on me 14:52 < bridge> im doing some witchcraft 14:54 < bridge> ```cpp 14:54 < bridge> #define CONFIG_DOMAIN(Name, ConfigPath, HasVars) #name, 14:54 < bridge> enum CONFIGDOMAIN 14:54 < bridge> { 14:54 < bridge> #include "shared/config_domains.h" 14:54 < bridge> NUM 14:54 < bridge> }; 14:54 < bridge> #undef CONFIG_DOMAIN 14:54 < bridge> 14:54 < bridge> class CConfigDomain 14:54 < bridge> { 14:54 < bridge> const char *m_ConfigPath; 14:54 < bridge> bool m_HasVars; 14:54 < bridge> } 14:54 < bridge> #define CONFIG_DOMAIN(Name, ConfigPath, HasVars) {ConfigPath, HasVars} 14:54 < bridge> static const s_aConfigDomains[CONFIGDOMAIN::NUM] = { 14:54 < bridge> #include "shared/config_domains.h" 14:54 < bridge> }; 14:54 < bridge> #undef CONFIG_DOMAIN 14:54 < bridge> ``` 14:54 < bridge> this is attempt 2 of making infclass client and tater client config play nice together 14:54 < bridge> Where 14:54 < bridge> I wanna see 14:54 < bridge> Chiller 14:54 < bridge> Give twitch 14:55 < ws-client> https://www.twitch.tv/chillerdragon 14:56 < bridge> lel 14:56 < bridge> bro your keyboard 14:56 < bridge> poor 15:01 < bridge> chillerdragon: where is your terminal twitch chat integration 15:07 < bridge> I planted ddnet master register into my 0.7 mode without supporting 0.6 successfully. 15:07 < ws-client> @Jupstar ✪ that would be cool ngl 15:08 < bridge> https://github.com/hardliner66/neovim-twitch-chat 15:08 < bridge> HAHAHA 15:08 < bridge> first result from hardline 15:08 < bridge> first result from hardliner 15:08 < bridge> XDD 15:08 < bridge> @iamhardliner goated 15:08 < bridge> LEL 15:08 < bridge> epyc devstar moment 15:23 < bridge> ```cpp 15:23 < bridge> if(!pConsole->ExecuteFile(CONFIG_FILE)) 15:23 < bridge> { 15:23 < bridge> const char *pError = "Failed to load config from '" CONFIG_FILE "'."; 15:23 < bridge> log_error("client", "%s", pError); 15:23 < bridge> pClient->ShowMessageBox("Config File Error", pError); 15:23 < bridge> PerformAllCleanup(); 15:23 < bridge> return -1; 15:23 < bridge> } 15:23 < bridge> ``` 15:23 < bridge> why is failing to load config a fatal error? 15:57 < bridge> wow nice 17:35 < bridge> Legendary stream fr. 17:35 < bridge> what is chiller coding 17:36 < bridge> dunno 17:36 < bridge> fuck i cant watch stream, twitch put a giant popup in front of the screen and i have to click the "lets go" button like a sheep 17:37 < bridge> Title : "teeworlds antibot development" 17:37 < bridge> me taking notes of this to make an anti-antibot 17:37 < bridge> omw to break rule 7 once again 17:37 < bridge> https://github.com/ChillerDragon/antibob 17:38 < bridge> This is his project rn from the stream I suppose 17:42 < bridge> This is his project rn from the stream I suppose (not sure tho.) 17:49 < ws-client> yes it is 17:49 < ws-client> good progress 0 commits since 2 hours 17:59 < bridge> make supervised learning classifier for tas chotters 18:03 < bridge> it cant be that hard to detect that 2 runs are the exact same 18:06 < bridge> no, i mean for people who only rank their tas once on ddnet servers 18:06 < ws-client> can some ddnet admin leak how the antibot send callback works? 18:06 < bridge> im sure its pretty easy to tell just with heuristics though, i doubt they carefully tas their mouse to look legit 18:07 < ws-client> i tried this https://paste.zillyhuhn.com/4x 18:11 < bridge> I'm glad you think so, we'd appreciate it very much if you put it together. All the tooling is there, you can parse teehistorian files with libtw2 or with the teehistorian crate, you can simulate the game using twgame. I'm sure Zwelf would give you a hand in their usage 18:12 < bridge> Feel free to ask any admin for teehistorian files containing TAS'd runs 18:12 < bridge> uhm 18:12 < bridge> i think its hard 18:12 < bridge> to detect 2 runs that are the same 18:14 < bridge> can i have 🥺 18:14 < bridge> Chiller that looks about right, what breaks? 18:14 < bridge> If you DM me tomorrow, sure 18:14 < ws-client> @learath2 i dont see a chat message 18:15 < ws-client> i also tried from the server side directly not from antibot i can not get the ``SendMsgRaw`` to work 18:15 < ws-client> passing the same packer to ``SendMsg`` works 18:15 < ws-client> and there is no example of SendMsgRaw sadly somewhere 18:15 < bridge> Ah 18:17 < bridge> Give me one sec 18:20 < bridge> `SendMsgRaw` does not include the msg id or the system flag 18:20 < bridge> You need to pack by hand when doing that and you need to handle sixup clients by hand too 18:24 < bridge> wtf is this clang format 18:24 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1353056761405505626/image.png?ex=67e043ce&is=67def24e&hm=ffdb10a58b56205c28dff783ae70cc2397c9d92cf7d547b635d872695a834dee& 18:24 < ws-client> @learath2 can u send a example usage? 18:24 < bridge> ```cpp 18:24 < bridge> CNetMsg_Sv_Chat Msg; 18:24 < bridge> Msg.m_Team = 0; 18:24 < bridge> Msg.m_ClientId = 0; 18:24 < bridge> Msg.m_pMessage = "Test message"; 18:24 < bridge> 18:24 < bridge> CMsgPacker MsgPacker(CNetMsg_Sv_Chat::ms_MsgId, false, false); 18:24 < bridge> Msg.Pack(&MsgPacker); 18:24 < bridge> 18:24 < bridge> CPacker Packer; 18:24 < bridge> Packer.AddInt((pMsg->m_MsgId << 1) | (pMsg->m_System ? 1 : 0)); 18:24 < bridge> Packer.AddRaw(pMsg->Data(), pMsg->Size()); 18:24 < bridge> 18:25 < bridge> pData->m_pfnSend(ClientId, Packer.Data(), Packer.Size(), 0, pData->m_pUser); 18:25 < bridge> ``` 18:25 < ws-client> oh i see thanks 18:25 < bridge> You might want to define a helper function in your antibot, you can mostly steal `RepackMsg` from `ddnet/src/engine/server/server.cpp` 18:25 < ws-client> ye 18:39 < ws-client> @learath2 you dont doing ``Packer.Reset()`` trolled me a bit but got it working now thanks! 18:39 < ws-client> finest english 18:40 < bridge> Hey I wrote it by hand looking at the code on another computer 18:40 < bridge> Cut me some slack 😛 18:40 < ws-client> :p 18:46 < ws-client> pretty sad that antibot can not add snap items 18:46 < ws-client> would be useful for zoom detection 18:46 < bridge> why? 18:46 < bridge> hi chat 18:46 < bridge> compare everything but the server time 18:47 < ws-client> if players aim at fake tees that should not be visible 18:47 < bridge> hi property of souly 18:48 < bridge> lot of tas runs are ran multiple times on diffrent names 18:48 < bridge> filling the rank 1 with the same rank 18:48 < bridge> multiple times 18:48 < bridge> but you’re comparing the run itself 18:48 < bridge> which would be the same 18:48 < bridge> because its the same time 18:48 < bridge> for example stronghold 18:48 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1353062896749248532/waterfox_GJXFCkiOvP.png?ex=67e04985&is=67def805&hm=24033356a126d38c977486e81f2d66c134068bf7075ea71e61cb37a3ef7d6dc8& 18:49 < bridge> you’re comparing the tee’s actions 18:49 < furo> @ChillerDragon You can probably detect badly coded zooz. By checking if `Cl_ShowDistance` and `Cl_CameraInfo` go outside the vanilla zoom. 18:49 < bridge> im not sure what your point is or what your asking me 18:49 < bridge> within some margin of error for lag 18:49 < bridge> barren, ravilion, aimbot, drags maps 18:49 < bridge> i thought u were looking for duplicate/TASed runs 18:50 < bridge> yes 18:50 < bridge> correct 18:50 < bridge> if you have the teehistorian data, you can see where the tees are & when 18:50 < bridge> so you don’t need race time to compare the runs 18:50 < bridge> maybe u could even compare time cps 18:50 < bridge> tbc 18:50 < bridge> Or they all passed it at the same time by pure luck.🤓☝🏻 18:50 < bridge> tbh 18:59 < ws-client> @furo yes ofc but thats easy to bypass 19:18 < bridge> https://www.youtube.com/watch?v=EFmxPMdBqmU 19:22 < bridge> i love alan becker so much 20:18 < bridge> yeah im sorry for being lazy :justatest: 20:33 < bridge> im gonna die 20:33 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1353089169261465810/image.png?ex=67e061fd&is=67df107d&hm=de2e5213e4e8933fe2cd03b45f39b5a33496f4e1ee03968f0513586b5a1a120a& 20:33 < bridge> i really forgot what it was like to have slow internet 20:33 < bridge> i'm back where i was last summer trying to update gentoo on terrible wifi in the middle of nowhere 20:33 < bridge> i'm basicalyl back where i was last summer trying to update gentoo on terrible wifi in the middle of nowhere 20:33 < bridge> i'm basically back where i was last summer trying to update gentoo on terrible wifi in the middle of nowhere 20:34 < bridge> some network configuration issue above my head means my computer can't connect to the wifi directly and i have to use my phone's hotspot :feelsbadman: 20:35 < bridge> though i changed something in the config to allow wifi tethering over the cable & that means the phone can use the wifi and work directly thru the cable instead of having to use the wifi antenna for the computer and working off cell service 20:35 < bridge> so it should be way better.. 20:36 < bridge> looooooool 20:36 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1353089982910173285/image.png?ex=67e062bf&is=67df113f&hm=91134b844397b297385c609839216ef18efb489f649a4177c8a10e9bd76ceba2& 20:36 < bridge> fiber optic 20:37 < bridge> eh i think ill just send all of my crashes to you (once i make a comit to fix the oob write from the tilemap being to small for the demencons ofc) 20:37 < bridge> mhm 20:37 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1353090144416174080/image.png?ex=67e062e5&is=67df1165&hm=4de3493ec917aa241de6cad79c71a807662ed2347b12db1006b56ee147eba16e& 20:37 < bridge> tell me more 20:37 < bridge> Buy starlink 20:37 < bridge> not giving elon a dime sorry 20:38 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1353090470934220922/IMG_7836.png?ex=67e06333&is=67df11b3&hm=7d874a73792432491b5345f0e174aced3d86b88b7c560d943fe78f9e92b0cba7& 20:38 < bridge> i forgot i even had this limit i've never run into it before 20:38 < bridge> i think i have exactly enough left to finish this upgrade, assuming it does finish 20:39 < bridge> eh acsualy ill just let you fix that yourself too 20:45 < bridge> jesus christ, i have 1gbps up and down for... not that much 20:46 < bridge> Cause I'm awesome 20:46 < bridge> 😄 20:50 < bridge> rural 20:50 < bridge> before i had xfinity's 2Gbps 20:50 < bridge> for not that much 20:50 < bridge> though it's nowhere near 2 up it's more about 350Mbps max 20:51 < bridge> i think it's called a high split but there's some DSP fundamental which makes it so that they can prioritize bandwidth each direction over coaxial 20:52 < bridge> but they did that bcs ppl in zoom meetings (most of the demand for internet during covid, especially the govt subsidy that was around for a while) are usually receiving many more video streams than they're sending 20:52 < bridge> things of that nature 20:52 < bridge> but you basically can't buy cable internet with good upload speed here lol 21:01 < bridge> 125 times 125 mbit seems wild to me. 21:07 < bridge> i just assumed that was a shady advertising thing for upload x download 21:08 < bridge> get it, them sue them for not delivering 125 times 125mbit :kek: 21:08 < bridge> then 21:08 < bridge> i mean someone tech illiteratre would assume that 21:09 < bridge> given that the default interpretation of that is definatley multiplication 21:09 < bridge> and people can do internet speed tests without being literate (although a shitty corporate lawyer will argue that) 21:12 < bridge> would probably go for the 500x500 variant. getting data center speeds for cheap. 21:13 < bridge> 250gbps :) 21:14 < bridge> true 21:42 < bridge> this is a real _corner case\_! 21:51 < bridge> now i'm being throttled but i'm on the home stretch 21:51 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1353108834973122641/image.png?ex=67e0744d&is=67df22cd&hm=57cea7ec16663f67995516f9a284bf4cbd833f8175eaa3e512e6435918341e68& 21:51 < bridge> all i need is this system upgrade then i don't need the cell service hotspot 😭 21:51 < bridge> but now it's limiting me to 125*Kb*ps 22:38 < bridge> hmm thats alot of versions 22:38 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1353120715330813972/image.png?ex=67e07f5e&is=67df2dde&hm=5aa371dab943f1d943cb8fd9017ab0a8dca08724b8480208013bfa7e2108ec8b& 22:42 < bridge> ```cpp 22:42 < bridge> POS_START = 0, 22:42 < bridge> POS_DEMOS, 22:42 < bridge> POS_NEWS, 22:42 < bridge> POS_SETTINGS_LANGUAGE, 22:42 < bridge> POS_SETTINGS_GENERAL, 22:42 < bridge> POS_SETTINGS_PLAYER, 22:42 < bridge> POS_SETTINGS_TEE, 22:42 < bridge> POS_SETTINGS_APPEARANCE, 22:42 < bridge> POS_SETTINGS_CONTROLS, 22:42 < bridge> POS_SETTINGS_GRAPHICS, 22:42 < bridge> POS_SETTINGS_SOUND, 22:42 < bridge> POS_SETTINGS_DDNET, 22:42 < bridge> POS_SETTINGS_ASSETS, 22:42 < bridge> POS_SETTINGS_RESERVED0, 22:42 < bridge> POS_SETTINGS_RESERVED1, 22:42 < bridge> POS_BROWSER_INTERNET, 22:42 < bridge> POS_BROWSER_LAN, 22:42 < bridge> POS_BROWSER_FAVORITES, 22:43 < bridge> POS_BROWSER_CUSTOM0, 22:43 < bridge> POS_BROWSER_CUSTOM1, 22:43 < bridge> POS_BROWSER_CUSTOM2, 22:43 < bridge> POS_BROWSER_CUSTOM3, 22:43 < bridge> POS_BROWSER_CUSTOM4, 22:43 < bridge> POS_RESERVED0, 22:43 < bridge> POS_RESERVED1, 22:43 < bridge> POS_RESERVED2, 22:43 < bridge> ``` 22:43 < bridge> why are there reserved? 22:51 < bridge> and ddnet-insta but thats server /: 22:58 < bridge> wtf, that's so expensive 22:58 < bridge> @sollybunny: how do you have tclient and inf? 22:58 < bridge> In France, it's around 20 to 30€ per month 23:07 < bridge> These indices are used in menu theme maps to position the camera, so they should stays the same for individual settings pages. I guess in retrospective it would have been easier to do a +100 to have a bunch of reserved indices if more settings pages are added. 23:07 < bridge> These indices are used in menu theme maps to position the camera, so they should stays the same for individual menu pages. I guess in retrospective it would have been easier to do a +100 to have a bunch of reserved indices if more settings pages are added. 23:11 < bridge> merged em :) 23:11 < bridge> i dont feel like they *need* to stay the same 23:12 < bridge> it would be better if they were hashed strings so order didnt matter 23:12 < bridge> They are placed by putting specific tiles on the map though IIRC 23:12 < bridge> So they need to be integers 23:12 < bridge> oh i see, i thought it was just randomly generated from the number 23:13 < bridge> merged em :) @chillerdragon 23:14 < bridge> That’s cool! I wanted to do that in forever. @sollybunny how much work was it? And merged into where? Into your client or is it also in tater? 23:15 < bridge> uhmm im not sure 23:15 < bridge> how much work it was 23:15 < bridge> the aproximate order is 23:15 < bridge> ddnet, tater, ddnet-insta, inf 23:16 < bridge> I don’t understand what you are ordering haha 23:16 < bridge> order of merging 23:16 < bridge> How did you merge ddnet-insta into the client xd 23:16 < bridge> because the client happens to also have the server in the same codebase 23:17 < bridge> they like fighting about autoupdate, versions and config 23:17 < bridge> so i kinda just ignored autoupdates existance, versions wasnt that hard 23:17 < bridge> config was a bit eeeeeh so i made a system for it 23:17 < bridge> Oh woah you have it all in one Codebase? Send link 23:17 < bridge> https://github.com/SollyBunny/ddnet/ 23:17 < bridge> Madlad 23:17 < bridge> ```cpp 23:17 < bridge> CONFIG_DOMAIN(DDNET, "settings_ddnet.cfg", true) 23:17 < bridge> CONFIG_DOMAIN(SOLLY, "settings_solly.cfg", true) 23:17 < bridge> CONFIG_DOMAIN(INF, "settings_infclass.cfg", true) 23:17 < bridge> CONFIG_DOMAIN(TATER, "settings_tclient.cfg", true) 23:17 < bridge> CONFIG_DOMAIN(TATERPROFILES, "tclient_profiles.cfg", false) 23:17 < bridge> CONFIG_DOMAIN(TATERCHATBINDS, "tclient_chatbinds.cfg", false) 23:17 < bridge> CONFIG_DOMAIN(TATERWARLIST, "tclient_warlist.cfg", false) 23:17 < bridge> CONFIG_DOMAIN(INSTA, nullptr, false) 23:17 < bridge> ``` 23:17 < bridge> ^ im very proud of this 23:18 < bridge> Go all in get kaizo insta 23:18 < bridge> whats that? 23:18 < bridge> https://m0rekz.github.io/Kaizo-insta/ 23:18 < bridge> It’s more 23:18 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1353130789386326077/image.png?ex=67e088c0&is=67df3740&hm=c0f406cbea9bcc9a75818fd9e400d27d89ba637d6e7351a3ac25a971e5de4f25& 23:18 < bridge> i see 23:18 < bridge> You don’t have enough 23:19 < bridge> ddnet-insta was very easy to merge because as advertised it barely touched anything 23:19 < bridge> poggers 23:19 < bridge> i also dont know what half of these gamemdoes are 23:19 < bridge> or what "water" is 23:20 < bridge> and `Moving Tiles` which is pretty scary since ddnet might be adding that 23:20 < bridge> at some point probbaly before accounts 23:20 < bridge> Let’s see how long you can keep this up 23:20 < bridge> Are you planning to keep merging it? 23:20 < bridge> yeah 23:20 < bridge> similar to how im a bit iffy if you merge that accounts system 23:21 < bridge> infclass has client prediction for lazer jump 23:21 < bridge> `Laser jump (from a random instagib mod)` 23:21 < bridge> i wonder if 23:22 < bridge> okay but when do you merge ath for lua support? 23:22 < bridge> never because i dont want to be blacklisted ): 23:22 < bridge> ath is legit 23:23 < bridge> server side lua support? 23:23 < bridge> Client side 23:23 < bridge> how is that not hackz 23:23 < bridge> Trust me bro 23:23 < bridge> It’s legit client 23:23 < bridge> doesnt that stand for all the hax 23:23 < bridge> Common misconception 23:23 < bridge> https://github.com/AllTheHaxx/AllTheHaxx 23:23 < bridge> Yes it does 23:23 < bridge> 23:24 < bridge> But it’s still legit 23:24 < bridge> im reading the feature list 23:24 < bridge> `SDL2 - smoother gameplay, copy-paste and immediate window resizing (platform dependend)` 23:25 < bridge> how old is this 23:25 < bridge> i could do the same with sdl3 23:25 < bridge> but im currently stuck... with it so 23:25 < bridge> It also says it’s up to date with ddnet 23:26 < bridge> ` 23:26 < bridge> fc41bd1 23:26 < bridge> · 23:26 < bridge> 4 years ago` 23:26 < bridge> That’s why you need to merge it 23:27 < bridge> uhh 23:27 < bridge> `Enter console commands right into the black console window` i want this 23:27 < bridge> but idk how it works with a srv and client running 23:28 < bridge> i guess we have auto auth so that doesnt matter 23:28 < bridge> is there like an `rcon` client side command 23:28 < bridge> yes 23:29 < bridge> Yes but annoying if you wanna do only server stuff 23:29 < bridge> then u can run server and have that also accept stdin 23:29 < bridge> Ye 23:29 < bridge> dont you already have that 23:29 < bridge> in a client ive seen things about 23:29 < bridge> Have what? 23:29 < bridge> accept commands from stdin 23:29 < bridge> I have a full curses client 23:29 < bridge> With proper input prompt 23:30 < bridge> I assume they just mix the stdin and stdout 23:30 < bridge> its not too hard to make a good prompt with pure console 23:30 < bridge> every repl ever has done it 23:30 < bridge> to varying success 23:30 < bridge> It’s not a repl 23:31 < bridge> Repls don’t log without input 23:31 < bridge> But go merge in chillerbot-ux into your pile haha 23:31 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1353134043893465168/image.png?ex=67e08bc8&is=67df3a48&hm=d917959b94e2e13f0d9071252b725d3a6cb0575dcce10d792a3e8df26c951079& 23:31 < bridge> And you have it too 23:31 < bridge> JavaScript 23:32 < bridge> sadly too many conflicting things with taterclient 23:32 < bridge> It looks cursed as if you typed hi 23:32 < bridge> yeah if i add console input ill be ... fixing that 23:32 < bridge> ill be stealing this for tclient or mine `cl_run_on_vote_start say "/save secret_save_code"` 23:33 < bridge> hiiiii people of the internet 23:34 < bridge> i got my physics to work 23:34 < bridge> im very proud 23:34 < bridge> https://raw.githubusercontent.com/chillerbot/chillerbot-ux/refs/heads/chillerbot/other/term-ux_rcon.png 23:34 < bridge> the ncurses mode is cool but would be nice if it could be a arg instead of compile opt 23:34 < bridge> also would be hard to merge your changes to it without getting everything else 23:35 < bridge> im sure theres some fancy way to do it 23:35 < bridge> Sounds like a good change you can do after merging it in 23:35 < bridge> do you not want that on urs 23:35 < bridge> Not really 23:35 < bridge> Either I use gui or I don’t 23:35 < bridge> I use the log for reading a lot 23:35 < bridge> But never have the urge to input there 23:35 < bridge> but having to recompile or keep 2 exes is a bit eeee 23:36 < bridge> I have a package manager for that 23:36 < bridge> 👀 23:37 < bridge> Yes save on vote start is op 23:37 < bridge> If you afk on solo maps 23:37 < bridge> you didnt use the modular nameplates for the image above tee, is shame 23:38 < bridge> probably for the best i might rewrite it again 🧌 23:38 < bridge> :trollet: 23:38 < bridge> I added name coloring before you were born and never changed it again 23:38 < bridge> Oh you mean the image thing that’s old too 23:39 < bridge> tclient has the name coloring thing with warlist too now 23:39 < bridge> i wana change it to be tags 23:39 < bridge> so you have "novice" next to the name 23:39 < bridge> such that it supports multiple things at the same time 23:39 < bridge> I see 23:40 < bridge> Only thing I need is one war reason 23:40 < bridge> cuz moderator and teamcolors already want to change the name 23:40 < bridge> Yea 23:40 < bridge> i use my warlist to set players skills, it would be nice if i could set someone to be a blocker and a novice 23:40 < bridge> to distinguish them from blockers i have to be scared about 23:41 < bridge> lol 23:41 < bridge> i also want to replace all the name"tags" with the same thing for consistency 23:42 < bridge> rn the friend icon, id, name and moderator/war/team/friend status are all rendered differently everywhere 23:42 < bridge> Road to 10 fps 23:44 < bridge> i sleep, gn 23:44 < bridge> You not gonna shared physics? 23:49 < bridge> @chillerdragon actually not really since alot of the places names are rendered generate the text container every time 23:49 < bridge> new nameplates are more performant (by a tiny margin) since ids used to be generated every time 23:49 < bridge> i get frame drops opening scoreboard or statboard, and on debug build... its bad