05:05 < bridge> nightly moment 05:05 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1386180297493712976/image.png?ex=6858c480&is=68577300&hm=89228ae2229dcd1ac94cb9f425474c51c6cc95b694155c91737c44488f2787a5& 05:06 < bridge> hmm 05:08 < bridge> is your exe older 05:08 < bridge> new versions shouldnt need that 05:08 < bridge> or is it tclient or something 05:09 < bridge> Shrug, I just launch via my .exe pinned to my taskbar :greenthing: 05:10 < bridge> I don't use tclient 05:10 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1386181557076623370/image.png?ex=6858c5ad&is=6857742d&hm=03eba5c61223d6b10babfbe416793cd169b31788a9f3ea40c1a18d81163e4f64& 05:10 < bridge> i changed something yesterday that should remove the requirement for the dll outright 05:11 < bridge> All I did was update via steam 05:11 < bridge> so if steam was "intelligently" removing the dll because it's not in the payload for the new version of the game, but the exe still depends on it, that might happen 05:11 < bridge> can you try verify game integrity 05:11 < bridge> in steam 05:12 < bridge> No dice 05:12 < bridge> Still the same 05:13 < bridge> Might force me to reinstall completely! Naughty Ewan 05:13 < bridge> dont 05:13 < bridge> dw I won't, too lazy 05:13 < bridge> You stopped me from playing ddnet, gg 05:14 < bridge> me as well 05:15 < bridge> i dont know 05:15 < bridge> i don't know how deen builds those... 05:16 < bridge> totally possible it was built with an outdated version of mingw that still puts the ssp functionality in its own DLL 05:16 < bridge> @0xdeen i think i broke it :x 05:29 < bridge> looking at the build/release scripts rn, i assume you're running arch for this. do you usually have issues when updating the compiler & libraries for releases? 05:58 < bridge> I can play? 05:58 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1386193712337649844/b20c04a54594610e.png?ex=6858d0ff&is=68577f7f&hm=adef21c8281c8fc89059636bee60732c05b5e3b66830b8826262a498acbf36ec& 06:48 < bridge> just generated a new login token... am i banned or is kog tripping 06:48 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1386206097840406609/image.png?ex=6858dc88&is=68578b08&hm=9ac27023fb6e5901cbdd20cb02615cdb7e986e43d7ab3691789d42d4db6a5777& 07:35 < bridge> $kog 07:35 < bridge> Maybe takes time to update 09:11 < bridge> Does some ddnet admin have time to slide in my dms? 09:15 < bridge> you have dms? 09:18 < bridge> Yes matrix or irc. Preferably irc ofc 09:18 < bridge> I even have Heinrich on wire 09:19 < bridge> phone wire? 09:19 < bridge> you just havea direct line to heinrich 09:19 < bridge> wire the messenger 09:19 < bridge> oh 09:35 < bridge> he has a literal direct wire to heinrich at all times 09:35 < bridge> yes 09:36 < bridge> they both carry one end around 10:30 < bridge> @blaiszephyr 10:30 < bridge> :justatest: 10:30 < bridge> WHY ME 10:32 < bridge> for whatever reason i thought #10392 is yours xd 10:32 < bridge> https://github.com/ddnet/ddnet/pull/10392 10:35 < bridge> why am i getting confused with melon 10:35 < bridge> :dTeuPeposhrug: 10:35 < bridge> he was talking about cmake bloat and then this pr popped in :kek: 10:35 < bridge> :kek: - i let Ewan do cmake shenanigans, i only did one cmake PR for mysql - and that one was hacky as hell 10:36 < bridge> at least ddnet-mysql is compiling on windows with no additional pain in ass 10:37 < bridge> hahaha this commit is crazy https://github.com/ddnet/ddnet/pull/10392/commits/ad250c74f1a74b3de6c1324fe739691961cca69d 10:37 < bridge> hahaha this commit is crazy 10:38 < bridge> farming lines changes 10:38 < bridge> used a formatter 10:38 < bridge> ^ that's why I said to squash commits; this is not great for git bisect 10:39 < bridge> ? 10:39 < bridge> I think he means git blame 10:39 < bridge> ah 10:39 < bridge> he undoes it 10:39 < bridge> later 10:39 < bridge> bonk 10:39 < bridge> why is this merged 10:40 < bridge> yeah but all the lines are still attributed to him I think 10:40 < bridge> 10:40 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1386264611568750772/image.png?ex=68591306&is=6857c186&hm=f41373758741876fad131763039e4a81d10d7f57aeab2a59734726d4c94abe3e& 10:41 < bridge> That also I guess 10:41 < bridge> But this adds another commit for bit bisect and the large change means you need to rebuild the entire project if you pass this commit 10:43 < bridge> honestly I didn't even notice this the first time I looked at the PR because the changed files doesn't show it 10:43 < bridge> you could probably sneak a PR that changes the entire codebase 10:43 < bridge> deen obviously didn't notice 10:45 < bridge> who actually clicks on every commit before merging? no one does that 10:46 < bridge> time to hard reset 10:46 < bridge> :troll: 10:47 < bridge> I do, at least for my own PRs or if it makes the review easier 10:47 < bridge> i do that when reading Robys PR's :kek: 10:47 < bridge> well if it's your own PR you wrote every commit? 10:47 < bridge> that doesn’t do anything? 10:47 < bridge> the diff is evaluated for the whole pr 10:47 < bridge> assholr 10:47 < bridge> see conv 10:48 < bridge> Yeah, so I know the messages contain at least one mistake and the code maybe too 10:48 < bridge> ```cpp 10:48 < bridge> static char s_aTempName[BINDCHAT_MAX_NAME]; 10:48 < bridge> char *pName; 10:48 < bridge> if(pOldBind == nullptr) 10:48 < bridge> { 10:48 < bridge> s_aTempName[0] = '\0'; 10:48 < bridge> if(LineInput.IsActive()) 10:48 < bridge> pName = s_aTempName; 10:48 < bridge> else 10:48 < bridge> pName = (char *)""; 10:48 < bridge> } 10:48 < bridge> else 10:48 < bridge> { 10:48 < bridge> pName = pOldBind->m_aName; 10:48 < bridge> } 10:48 < bridge> if(DoEditBoxWithLabel(&LineInput, &Button, pLabel, BindDefault.m_aName, pName, BINDCHAT_MAX_NAME) && LineInput.IsActive()) 10:48 < bridge> { 10:48 < bridge> dbg_msg("FUCK", "FUCK %p '%s'\n", pOldBind, pName); 10:48 < bridge> if(!pOldBind && pName[0] != '\0') 10:48 < bridge> { 10:48 < bridge> dbg_msg("FUCK", "FUCK %s\n", pName); 10:48 < bridge> auto BindNew = BindDefault; 10:48 < bridge> str_copy(BindNew.m_aName, pName); 10:48 < bridge> GameClient()->m_BindChat.AddBind(BindNew); 10:48 < bridge> } 10:48 < bridge> if(pOldBind && pName[0] == '\0') 10:48 < bridge> { 10:49 < bridge> GameClient()->m_BindChat.RemoveBind(pName); 10:49 < bridge> } 10:49 < bridge> } 10:49 < bridge> ``` 10:49 < bridge> when its empty and i type it goes into the lineinput edit but just prints `(null) ''` 10:49 < bridge> I'm saying that this is an issue with the PR process, I there's nothing checking for this kind of change everything and then revert when we merge PRs, it doesn't show total lines changed if they're reverted and each commit doesn't show lines changed unless you click it 10:49 < bridge> @mpft git blame is now you across the entrie cmakelists 10:49 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1386266855680770149/image.png?ex=6859151d&is=6857c39d&hm=fe7fdbb0065a6225d0ee664944cf91d9f5bfb6791b8a85fff72f368fcc60fa0f& 10:49 < bridge> @mpft git blame is now you across the entire cmakelists 10:49 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1386266855680770149/image.png?ex=6859151d&is=6857c39d&hm=fe7fdbb0065a6225d0ee664944cf91d9f5bfb6791b8a85fff72f368fcc60fa0f& 10:49 < bridge> I'm saying that this is an issue with the PR process, there's nothing checking for this kind of change everything and then revert when we merge PRs, it doesn't show total lines changed if they're reverted and each commit doesn't show lines changed unless you click it 10:50 < bridge> Yeah, that's a UX issue with GitHub 10:50 < bridge> I would have squashed if I had been at the computer between when it was said & when it was merged 10:50 < bridge> Idk man 10:51 < bridge> Sorry I touched anything lol 10:51 < bridge> It's fine, deen was too fast 🙂 10:51 < bridge> But back to the actual issue: Why is `libssp-0.dll` necessary for some Windows users and not for others? 10:52 < bridge> It works for me without the dll and I don't have it anywhere else on the path 10:52 < bridge> It works for me without the dll and I don't have it anywhere else on the path (Windows 10) 10:52 < bridge> I suspect it’s the version of the libraries on deen’s system when he runs the build + deploy scripts 10:53 < bridge> I was messing with an arch wsl instance but the script kept not making sense and I had other things to do than make spitball guesses for his setup 10:53 < bridge> The SSP behavior is now in the mingwex library 10:57 < bridge> deen insta explosion merge 11:00 < bridge> The linked mingw changelog suggest to not call `-lssp` anymore 11:00 < bridge> the dll is only kept for legacy reasons 11:01 < bridge> LMAO 11:01 < bridge> NOW that is commit farming 11:01 < bridge> :kek: 11:01 < bridge> now deen gets the git blame 🎉 11:06 < bridge> i like when deen merged my extra console colors 11:06 < bridge> but it had to many problems that regardless of feature accepted or not it was unmerged 11:06 < bridge> xd 12:00 < bridge> I know we have something like a jobqueue, how do I use it? 12:02 < bridge> it's rather complicated 12:03 < bridge> there's the IJob interface, I think you make a class that implements it 12:03 < bridge> hmm interesting 12:04 < bridge> engine/shared/jobs.h 12:06 < ChillerDragon> @robyt3 are u only dev or do you also do other admin stuff? 12:08 < bridge> https://tenor.com/view/warhammer-ddracenetwork-ddnet-w-mod-teeworlds-gif-11229566033713636131 12:08 < bridge> solly 12:08 < bridge> teero is offline 12:08 < bridge> do you want to help me test 12:08 < bridge> okay 12:08 < bridge> ok 12:08 < bridge> gimme a thing 12:08 < bridge> a thing? 12:08 < bridge> to run 12:09 < bridge> wait lets move somewhere else 12:09 < bridge> or build 12:09 < bridge> makes sense 12:24 < bridge> not anymore! 12:31 < ChillerDragon> what was TEAM_FLOCK again? 12:31 < bridge> Your favorite team 12:31 < ChillerDragon> t0? 12:31 < bridge> Yes 12:32 < ChillerDragon> what does FLOCK mean? 12:32 < ChillerDragon> i dont get the reference 12:32 < bridge> group of tees apparently 12:32 < bridge> a flock of tees 12:32 < ChillerDragon> aaaa 12:32 < ChillerDragon> i remember that conversation xd 12:32 < ChillerDragon> hard to remember name 12:32 < ChillerDragon> hard to remember name -.- 12:32 < ChillerDragon> we need a comment for that 12:33 < bridge> Make pr, farm commit 12:33 < ChillerDragon> wording this comment is hard 12:33 < ChillerDragon> also so many wrong places to put it 12:34 < bridge> What 12:34 < bridge> but the jobs aren't done in a multithreaded way, are they? 12:35 < bridge> The jobs run in parallel and in different threads than the main thread 12:35 < bridge> If that is what you are asking 12:35 < bridge> yes it is, so I need a mutex lock on some parts 12:35 < ws-client> they are hard to use but at least they dont block the main thread without you having to spawn threads 12:35 < bridge> You should simply not send anything from the main thread to it 12:35 < bridge> Any object the mainthread uses as well 12:36 < bridge> I bet I can't upload to the gpu in parallel? 12:36 < ws-client> ddnet uses mutexes :D 12:36 < bridge> Yes you cannot 12:36 < bridge> so I need the lock for the hardware, not due to some mainthread objects 12:38 < bridge> I dunno what you are hoping to archieve, but sending multiple object create will not make the allocation multi threaded 12:38 < bridge> I dunno what you are hoping to achieve, but sending multiple object create will not make the allocation multi threaded 12:39 < bridge> So or so, in OpenGL you cannot use multiple threads without doing platform specific/driver specific things 12:39 < bridge> Multithreading does not exist there 12:40 < bridge> I am just making an excurse, might have no merit, might improve setup time 12:40 < bridge> I am just making an excurse, might have no merit, might improve setup time, dunno needs testing 12:40 < bridge> You can improve setup time by processing multiple layers at once 12:40 < bridge> Regardless of GPU uploading 12:40 < bridge> yeah exactly 12:41 < bridge> part of the setup is gpu uploading, so I need to mutex lock it 12:41 < bridge> No 12:41 < bridge> otherwise you can't process multiple layers at once 12:41 < bridge> You can prepare them im std::vector and then upload afterwards in 1 thread 12:41 < bridge> You are making your life hard if you want mutibality over the whole graphics object 12:41 < bridge> Depends, I mostly deal with renames or triage tickets 12:43 < bridge> Generally you shouldn't access a job's data until the job is done, to avoid additional synchonization 12:46 < bridge> except for checking it's done, I just need to initalize the job with data and let it run 12:47 < bridge> like a batch job, at least I have something specific in mind, which I'll try out, which may work or not 🤷‍♂️ 12:47 < bridge> Like prepare all layers in parallel? 12:48 < bridge> Honestly. The job pool isn't great for jobs that require only a short lifetime imo 12:48 < bridge> yes, even worse, prepare all overlays in parallel 12:48 < bridge> The job pool is more for jobs that run in background 12:49 < bridge> Yeah, job pool has no priority for jobs 12:49 < bridge> so it might get stuck if other jobs are infront? 12:49 < bridge> so it might get stuck if other jobs are infront which don't finish? 12:49 < bridge> They might block you 12:49 < bridge> But I also considered that most of the client loading could be done in background threads/jobs and the loading screen just has to wait until all jobs are done 12:50 < bridge> There is only a limited number of threads in the pool, if all of them are busy with other jobs you might block 12:50 < bridge> What you need is https://github.com/rayon-rs/rayon 12:50 < bridge> 12:50 < bridge> but for cpp 😬 12:51 < bridge> One of the best libs :deen_star: 12:51 < bridge> at some point I am finished with setting up everything, at this point I could let the mainthread pick some of my jobs and run them 12:51 < bridge> at some point I am finished with setting up everything, at this point I could let the mainthread pick some of my jobs and run them if any are not running yet 12:51 < bridge> but this is ofc even more advanced and overengineered 13:26 < ws-client> @learath2 lerato u here? 13:36 < bridge> Only sorta 13:58 < ws-client> i will dm u irc 15:02 < bridge> What timezone do the servers use to log stuff in f2 15:03 < bridge> I'm guessing UTC +1, but is there also dls or not? Cuz germany time is UTC +2 in the summer 15:04 < bridge> It should use localtime, depends how your server is configured 15:04 < bridge> i have no idea how the servers are configured lol 15:04 < bridge> im guessing they're all set to the same timezone? 15:04 < bridge> regardless of what region 15:04 < bridge> Ig not for rus etc. 15:05 < bridge> @learath2 or @0xdeen can probably answer that if that was a question related to ddnet servers 15:06 < bridge> yeah 15:06 < bridge> Idk off the top of my head. I can check when I get to a computer 15:06 < bridge> please do :owo: 15:09 < bridge> Chiller, I hope it's not urgent because idk if I can get to irc until later tonight 16:09 < bridge> Not urgent 16:21 < bridge> :justatest: 16:21 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1386350265304616982/Editor-Tabs.mp4?ex=685962cc&is=6858114c&hm=a5a49776baffa1fa7ca751e49ac585ea462df1bd906f338725e90012803cf6e3& 16:36 < bridge> please add an X to close tab :justatest: 16:38 < bridge> Will still take a while though, it's only a proof of concept that it works at all. Change indicator should also be separate. 16:38 < bridge> Should all of the settings in the menu bar be different for each map? 16:40 < bridge> 1 fps? 16:40 < bridge> Tutorial is pretty slow because it's debug build. But otherwise having multiple maps open doesn't change anything 16:40 < bridge> Only the active map is rendered 16:40 < bridge> I guess it only renders one map at a time, so not 1 fps 16:41 < bridge> https://tenor.com/view/chrome-eating-ram-joey-friends-ram-abuse-greedy-chrome-gif-17554657 16:41 < bridge> its probably not that bad 16:41 < bridge> So far I'm only trying to move all members to `CEditorMap` that should be specified to each map. Adding support for multiple maps is relatively less code. 16:41 < bridge> ``` 16:41 < bridge> 45 files changed, 2113 insertions(+), 2025 deletions(-) 16:41 < bridge> ``` 16:42 < bridge> So far I'm only trying to move all members to `CEditorMap` that should be separate for each map. Adding support for multiple maps is relatively less code. 16:42 < bridge> ``` 16:42 < bridge> 45 files changed, 2113 insertions(+), 2025 deletions(-) 16:42 < bridge> ``` 16:43 < bridge> very nice 17:00 < bridge> 17:00 < bridge> whats this failing integration test 17:06 < bridge> It's a line this PR adds: `if(mem_comp(&m_aClients[ClientId].m_LastPreInput, &PreInput, sizeof(CNetMsg_Sv_PreInput)) != 0)` 17:06 < bridge> Either `m_LastPreInput` or `PreInput` are not entirely initialized 17:06 < bridge> We had this problem with `NETADDR` padding a few days ago 17:07 < bridge> Would be cleaner to do `m_aClients[ClientId].m_LastPreInput != PreInput` instead of `mem_comp`, which may read uninitialized padding bytes 17:08 < bridge> ghasp cpp generated comparison operator!!! 17:15 < bridge> Doesn't look like it's padding because it's all `int`s 17:15 < bridge> Some member of `PreInput` are not set 17:15 < bridge> I dont think i can do != error C2678: binary '!=': no operator found which takes a left-hand operand of type 'CNetMsg_Sv_PreInput' (or there is no acceptable conversion) 17:16 < bridge> Should be enough to initialize `m_TargetX` and `m_TargetY` here 17:17 < bridge> What is this supposed to do? It copies `pInputData` into `PreInput` but not the target positions, which is uninitialized 17:17 < bridge> If you want to copy all then `PreInput = *pInputData;` 17:18 < bridge> Oh, I see, it's different types 17:18 < bridge> its different types and i dont want to update target all the time either 17:18 < bridge> ill try with targetx,y to 0 17:25 < bridge> why does it matter if its initialized or not if mem_comp takes the size of object 17:30 < bridge> `mem_comp` reads the uninitialized bytes so whether this `if` branch is taken is not defined 17:30 < bridge> `mem_comp` reads the uninitialized bytes so whether this `if` branch is taken is not clearly defined 17:32 < bridge> If you compile in with some compilers it might work correctly because they initialized to zero, but others initialized to 0xFF or leave uninitialized 17:32 < bridge> If you compile with some compilers it might work correctly because they initialized to zero, but others initialized to 0xFF or leave uninitialized 18:00 < bridge> filthy commit farmer... 18:35 < bridge> Mem_zero before mem_comp worked 18:56 < bridge> 50$ подарок - [steamcommunity.com/gift/activation=MJquTDgWlF](https://e.vg/MJquTDgWlF) @everyone 19:46 < bridge> setting cl_refresh_rate to 1650 seems to not work, it seems to cap at 1000 20:11 < bridge> u need to use gfx refresh rate 20:11 < bridge> if you want to target fps 20:16 < bridge> can sb help me get the diff from this repository to ddnet? 20:16 < bridge> 20:16 < bridge> I want the changes from unique race in order to port it to the current ddnet version and apply it cleanly 20:16 < bridge> problem is, I can't even do it over github, because it seems to be not shown as a fork 20:21 < bridge> Download the ddnet commit which this unqiue is based on. 20:21 < bridge> 20:22 < bridge> then replace all files with unique ones and do a commit 20:22 < bridge> Then you see the diff 20:23 < bridge> 🤯 okay this is a very practical approach xD all what's left are commits cherry picked from upstream 20:27 < bridge> yeah should work, this is the commit 20:28 < bridge> now I only need to integrate the changes from 7 years ago 😦 20:50 < bridge> thank you, worked :deen_star: 20:50 < bridge> just a small diff of 2.5 K lines ... but most is sixup code, that got merged later 20:57 < bridge> hello 21:00 < bridge> just got pointed here by tezcan. very good effort @essigautomat I did reintegrate ddnet changes for a few years and got lazy at some point ^^ having a version that is up to date with current ddnet would be amazing. there are also some changes in the unique fork i regret such as weird "using sql as message queue" stuff and subtick times which i'm not sure are even working correctly at this point 21:02 < bridge> dream would be dropping the bad stuff and merging the good stuff into ddnet so unique can just run ddnet 21:02 < bridge> just got pointed here by tezcan. very good effort @essigautomat I did reintegrate ddnet changes for a few years and got lazy at some point ^^ having a version that is up to date with current ddnet would be amazing. there are also some changes in the unique fork i regret such as weird and flaky "using sql as message queue" stuff and subtick times which i'm not sure are even working correctly at this point 21:12 < bridge> @timakro just saying, we have our own room at the unique discord 😄 21:13 < bridge> I can gurantee you, that the subtick times are not even working properly for ddnet 💀 and they're not letting me fix it due to compat issues 21:13 < bridge> wait, does ddnet have subtick times? 21:14 < bridge> not really, but it tries to correct for start/fin in the post-ddnet-tick 21:14 < bridge> not really, but it tries to correct for start/fin in a post-tick 21:15 < bridge> i just know that weird thing that the size of the hitbox of start and finish tiles is different when they are surrounded by air vs some non hitbox tile such as unfreeze 21:15 < bridge> but can't be changed of course because it was like this forever 21:24 < bridge> @timakro: do you have a list of things that unique needs or that should be merged to ddnet? 21:25 < bridge> fastcap is probably the biggest 21:25 < bridge> What does it do? 21:25 < bridge> Flags as start finish, anything else? 21:25 < bridge> I have a list: damage (we have damage maps), fastcap, rank1 flags 21:25 < bridge> let's you race fastcap maps, one flag is start the other finish basically. i don't remember the details 21:26 < bridge> So the only thing you need in ddnet is make flags start and finish? Xd 21:26 < bridge> I have a list: damage (we have damage maps), fastcap, rank1 flags, subtick time measurement 21:27 < bridge> None of these things sound easy to merge into ddnet. But it also does not sound like a lot either. Should be easy to keep a fork of ddnet with those changes that is low in merge maintenance 21:27 < bridge> unique actually shows you carrying the flag and there are some convenience things e.g. you can pick spawn side to do it either left or right way however you prefer. doesn't have to be this way though as long as our times stay valid there are many ways to implement this 21:28 < bridge> that's why I am going to work on this, my diff has 2.5K changes, remember there is more, things that are removed from ddnet and chat commands and stuff 21:28 < bridge> @essigautomat: Are you working on merging unique to new ddnet? 21:28 < bridge> i think fastcap could actually be merged, especially if it means you can just load a fastcap map without modifications (i don't think we have this in unique) 21:28 < bridge> if this is done we _could_, but I don't think the maintainers here would accept that, would they? 21:29 < bridge> had some light approval on merging fastcap into ddnet when i asked a year ago or so under condition that it's done well and cleanly 21:29 < bridge> but yeah i don't have the motivation to do that stuff :D 21:29 < bridge> \#7777 Moment 21:30 < bridge> It’s funny I randomly asked tezcan a few days ago when he will update unique race. Such a coincidence you are working on it 21:30 < bridge> bad bot 21:30 < bridge> :C 21:30 < bridge> The bot does not see me 21:30 < bridge> Which means I can also ghost ping and get away with it 21:30 < bridge> @essigautomat: 21:31 < bridge> and i am not at all opposed to removing non vital unique features if it makes dev life easier though tezcan may disagree 21:31 < bridge> There is a big differences between code changes that are done without thinking about future merges and ones that have upstream in mind 21:31 < bridge> well the subtick time measurement feature would be a blocker, I don't think ddnet would want that and I don't think unique would want to miss it 21:32 < bridge> Doesn’t unique have a slightly different 0.7 bridge as well? 21:32 < bridge> i half agree but I more and more think it's bogus so having it in unique is also pointless ^^ 21:32 < bridge> if it does, then i am going to throw it away 21:33 < bridge> chiller is correct, you should throw it away and use ddnet 0.7 implementation 21:33 < bridge> if it does, then i am going to throw it away (talking about 0.7 bridge) 21:47 < bridge> I mean ddnet implementation was born out of your efforts @timakro but I guess they got finalized and refactored differently 21:48 < bridge> Two forks building the same feature but different that makes me quite nervous 21:48 < bridge> Two forks building the same feature but different is something that makes me quite nervous 21:54 < bridge> If you want to hire an consultant with 10 years experience in merging into ddnet, let me know. Do you remember that you were the one that introduced me to git @timakro you said you won’t contribute unless I use git. And you set me up with self hosted git and a new repo empty git history from scratch. I now merged that exact git history on top of ddnet and am now following updates quite frequently xd 21:58 < bridge> haha I don't remember 21:58 < bridge> i merged ddnet for 2 years or so and got so annoyed ^^ 22:06 < bridge> Oh no you don’t remember? .\_. That’s sadge 22:07 < bridge> But you are @timakro as in Tim Timakro DoNe? 22:07 < bridge> yeah 22:08 < bridge> you make me realize i change names quite frequently ^^ 22:08 < bridge> Fr 22:09 < bridge> Yea you went full senpai back then. I wanted help in ddnet++ and you installed me some git bash on windows and setup a git repo on my VPS. Then you said you enjoy coding in that code base because you can write crappy code and nobody will complain. You added a backdoor with your name encoded as numbers and got annoying by me adding compiler warnings with every new commit xd 22:09 < bridge> Good times 22:10 < bridge> I fell in love with git thanks to your push 22:10 < bridge> Will never forget 22:11 < bridge> i remember the crappy code thing sorry about that btw and the backdoor with my name obfuscated :D 22:12 < bridge> Don‘t worry your epic features are still going strong today. Much appreciated. And finding that „backdoor“ was hilarious 22:12 < bridge> is that where i made that trail that uses A* or something? 22:17 < bridge> hi Tim! 22:17 < bridge> hi Timakro! 22:17 < bridge> :owo: 22:20 < bridge> @timakro: yea some trails, atoms and homing missiles 22:21 < bridge> heya