14:00 <+bridge> [ddnet] <Дядя Женя> make an `/afk` command, so you can go afk whenever you want so team0 sees it 14:20 <+bridge> [ddnet] ppl would bind that to wasd just to troll others 14:44 <+bridge> [ddnet] I have a feeling there is a bug in the updater 14:45 <+bridge> [ddnet] `int CUpdaterFetchTask::OnCompletion(int State)` Couldn't it happen that the "last file" isn't actually the last to finish downloading? (e.g. it is a very small file) 14:48 <+bridge> [ddnet] I thought you only ever download one file? 14:50 <+bridge> [ddnet] mhh there is m_FileJobs 14:50 <+bridge> [ddnet] so might be right but not sure 14:57 <+bridge> [ddnet] Well it used to be like that because I only ever had a single worker in the worker pool for `CUpdater` 14:57 <+bridge> [ddnet] Now that we share the worker pool of the engine, I don't think that's necessarily the case actually 15:03 <+bridge> [ddnet] oh, that's not good. wasn't aware of that 15:03 <+bridge> [ddnet] I wonder why m_aStatus doesn't flicker though 15:19 <+bridge> [ddnet] <Дядя Женя> > ppl would bind that to wasd just to troll others 15:19 <+bridge> [ddnet] <Дядя Женя> @murpi just make cooldown then 15:20 <+bridge> [ddnet] We already have a reliable system for afk's 15:21 <+bridge> [ddnet] <Дядя Женя> So how could I mention that I'm afk right now, so nearby team will not fail relaying on me 15:22 <+bridge> [ddnet] you tell me, how does a person tell nearby people that you're afk? 15:22 <+bridge> [ddnet] or tell me what does /afk do 15:23 <+bridge> [ddnet] or tell me what /afk does 15:25 <+bridge> [ddnet] right now with the current system in place, if youre are not moving for specific period of time you gain the the Zzz emote which tells people you're currently unavailable 15:26 <+bridge> [ddnet] and it works pretty well 15:26 <+bridge> [ddnet] What is the abuse with doing /afk anyway? You can already spam emotes 15:27 <+bridge> [ddnet] People thinking you are afk when you aren't doesn't give you any advantages either 15:27 <+bridge> [ddnet] spamming is still different 15:27 <+bridge> [ddnet] bcs they always popup again 15:27 <+bridge> [ddnet] ? 15:27 <+bridge> [ddnet] tune player_collision 0 buggen on test server, normal tile bugged on public server 😄 i think we need to fix this 15:28 <+bridge> [ddnet] tune player_collision 0 bugget on test server, normal tile bugged on public server 😄 i think we need to fix this 15:28 <+bridge> [ddnet] tune player_collision 0 bugged on test server, normal tile bugged on public server 😄 i think we need to fix this 15:28 <+bridge> [ddnet] We can regulate the "afk" emote however we want 15:28 <+bridge> [ddnet] it's not about the advantages 15:29 <+bridge> [ddnet] I personally hate when people bind emotes to their w a s d keys, it's annoying 15:29 <+bridge> [ddnet] <Дядя Женя> it's much better if red small "afk" text will popup over nickname when someone is afk 15:29 <+bridge> [ddnet] <Дядя Женя> so you can tell he's unavailable right now 15:29 <+bridge> [ddnet] They can already bind normal emotes there 15:29 <+bridge> [ddnet] <Дядя Женя> and you can not touch him if it's dangerouss 15:29 <+bridge> [ddnet] <Дядя Женя> and you can not touch him if it's dangerous 15:30 <+bridge> [ddnet] tune player_collision 0 bugged on test server, normal tile bugged all the time 😄 i think we need to fix this 15:30 <+bridge> [ddnet] <Дядя Женя> and you will not touch him if it's dangerous 15:30 <+bridge> [ddnet] well just rate limit the /afk command to 1min 15:30 <+bridge> [ddnet] then its fine xd 15:31 <+bridge> [ddnet] 1 min is waaay waaay above even the old emote delay we had 15:31 <+bridge> [ddnet] <Дядя Женя> btw can you remake afk system to show text instead of emote? 15:32 <+bridge> [ddnet] oof 15:32 <+bridge> [ddnet] but why would u spam /afk more than once per minute xd 15:32 <+bridge> [ddnet] thats even worse 15:32 <+bridge> [ddnet] <Дядя Женя> I think it's not that hard 15:32 <+bridge> [ddnet] @Cøke can you show me what's wrong with it? 15:32 <+bridge> [ddnet] e.g I'm afk somewhere, someone highlights me, I hear it by chance, I get back to my computer, type something out, I leave again 15:33 <+bridge> [ddnet] then 20seconds 15:33 <+bridge> [ddnet] Text for afk is very meh 15:33 <+bridge> [ddnet] <Дядя Женя> k, emote is fine, just make me that command already 15:34 <+bridge> [ddnet] Why do you need the delay is confusing to me. If there should be any delay it should be exactly `g_Config.m_SvEmoticonDelay` seconds 15:34 <+bridge> [ddnet] bcs afk Zzzz stays 15:34 <+bridge> [ddnet] @Дядя Женя lol, make it yourself. We aren't slaved 15:34 <+bridge> [ddnet] slaves* 15:34 <+bridge> [ddnet] it doesnt go away after 2 seconds 15:35 <+bridge> [ddnet] Ah, you are worried about people moving around with the zzz. Why not just say that at the start? 😛 15:35 <+bridge> [ddnet] :kek: 15:35 <+bridge> [ddnet] well trolls will just fake afk or smth 15:36 <+bridge> [ddnet] fail team, say thjey were afk 15:36 <+bridge> [ddnet] How about you can only go afk if you are completely still 15:36 <+bridge> [ddnet] just keep the current system, it works well 15:36 <+bridge> [ddnet] something like this 15:36 <+bridge> [ddnet] > Ah, you are worried about people moving around with the zzz. Why not just say that at the start? 15:36 <+bridge> [ddnet] yea, it also stands out visually, since its positioned differently 15:36 <+bridge> [ddnet] @murpi it doesn't work for dummies, it doesn't work for going afk real quick 15:36 <+bridge> [ddnet] <Дядя Женя> @murpi you don't need to remove the current 15:36 <+bridge> [ddnet] it's only really important on maps with a shit ton of hh 15:36 <+bridge> [ddnet] :greenthing: 15:37 <+bridge> [ddnet] It doesn't show up if you alt tab 15:37 <+bridge> [ddnet] it's only really important on maps with a shit ton of hh parts 15:37 <+bridge> [ddnet] i dont alt tab 15:37 <+bridge> [ddnet] i mod+1-9 15:37 <+bridge> [ddnet] linux rise up 15:37 <+bridge> [ddnet] Very nice contribution to the discussion 15:37 <+bridge> [ddnet] thanks 15:37 <+bridge> [ddnet] :greenthing: 15:38 <+bridge> [ddnet] *1-0 15:38 <+bridge> [ddnet] learath vs ryo, always instant popcorn 15:40 <+bridge> [ddnet] Q: Can you think of any pitfalls with a static member integer? 15:40 <+bridge> [ddnet] (in a multi threaded environment) 15:41 <+bridge> [ddnet] yes 15:41 <+bridge> [ddnet] thread_local is the thread storage 15:41 <+bridge> [ddnet] I don't need a thread_local 15:41 <+bridge> [ddnet] I need a static member 15:41 <+bridge> [ddnet] static is not thread safe 15:42 <+bridge> [ddnet] @Learath2 it doesn't work for dummies? 15:42 <+bridge> [ddnet] operations with variables are not atomic 15:42 <+bridge> [ddnet] :justatest: 15:42 <+bridge> [ddnet] i rly need to learn more multithreading 15:42 <+bridge> [ddnet] rly interesting stuff but complicatedf sometimes 15:43 <+bridge> [ddnet] actually static is rarely nice to use 15:43 <+bridge> [ddnet] yeah 15:43 <+bridge> [ddnet] only tw spams it everywhere xD 15:44 <+bridge> [ddnet] Okay, so I need to synchronize around it like with any other shared piece of memory 15:44 <+bridge> [ddnet] yes 15:44 <+bridge> [ddnet] an alternative to the /afk thing is to just /spec or /pause if u have to go 15:44 <+bridge> [ddnet] i first found out about channel synchronization in golang, it even has syntactic sugar for it 15:44 <+bridge> [ddnet] or make it std::atomic 15:44 <+bridge> [ddnet] since most ppl dont use sleepy eyes when playing and /pause gives u sleepy eyes then ppl know u arent paying attention 15:45 <+bridge> [ddnet] Actually, I managed to turn the idea around so I only need to access it in one thread 15:46 <+bridge> [ddnet] @louis yeah that's the best workaround available right now 15:47 <+bridge> [ddnet] > Do not communicate by sharing memory; instead, share memory by communicating. 15:47 <+bridge> [ddnet] :monkalaugh: 15:55 <+bridge> [ddnet] I'm really using so much willpower not to use fallthrough in a switch case 15:56 <+bridge> [ddnet] why not 15:56 <+bridge> [ddnet] https://en.cppreference.com/w/cpp/language/attributes/fallthrough 15:57 <+bridge> [ddnet] heinrich doesn't like them 😛 15:57 <+bridge> [ddnet] xd 15:58 <+bridge> [ddnet] balance out the fallthrough with a `goto end` 15:59 <+bridge> [ddnet] Q: `std::vector>` or `std::vector` and a lock? 15:59 <+bridge> [ddnet] `std::vector` is specialized so it takes less space 16:00 <+bridge> [ddnet] and you might have to lock less often if you touch multiple values 16:00 <+bridge> [ddnet] the first will most likely be faster 16:00 <+bridge> [ddnet] @Learath2 what u working on? 16:00 <+bridge> [ddnet] atomic bools on x86 are special 16:01 <+bridge> [ddnet] Finishing up the data integrity thing, but it required the updater, so I'm also cleaning up the updater and getting it ready to do "partial" updates 16:02 <+bridge> [ddnet] On the main thread I loop through them and only read them all. On the worker threads I only ever touch one bool (the one assigned to the thread) 16:06 <+bridge> [ddnet] Guess I'll do the first one 16:06 <+bridge> [ddnet] Not like 695 atomics is too large in the worst case 16:09 <+bridge> [ddnet] if its just for the updater 16:09 <+bridge> [ddnet] it probs doesnt matter too much anyway 16:10 <+bridge> [ddnet] Yeah, in this case it really doesn't, was more of an academic inquiry 😄 16:10 <+bridge> [ddnet] 700 bytes for the updater doesn't sound bad 16:23 <+bridge> [ddnet] @deen do you know how I could test the updater? 16:25 <+bridge> [ddnet] Set it to another update server if you really need to 16:26 <+bridge> [ddnet] what I usually did was set a lower version 16:26 <+bridge> [ddnet] and use the normal update path from that version 16:26 <+bridge> [ddnet] @heinrich5991 is there a reason you didn't include the ability to cancel `IJob`s? 16:26 <+bridge> [ddnet] I guess setting a lower version should work, thanks 16:27 <+bridge> [ddnet] @Learath2 best trick is to get lower version and call it DDNet_ 16:27 <+bridge> [ddnet] then it wont get overwritten xd 16:29 <+bridge> [ddnet] @Vasten100 Thoughts about this? ^ 16:31 <+bridge> [ddnet] i wonder if we should try `SetThreadAffinityMask` 16:31 <+bridge> [ddnet] under windows 16:31 <+bridge> [ddnet] the code for queryperformancecounter says it returned times from the past 16:31 <+bridge> [ddnet] or maybe use std::chrono or smth 16:31 <+bridge> [ddnet] https://stackoverflow.com/questions/44020619/queryperformancecounter-on-multi-core-processor-under-windows-10-behaves-erratic 16:31 <+bridge> [ddnet] and this says we should set that mask 16:31 <+bridge> [ddnet] @deen imo that would be cool but u should also be able to do a normal jump off of someones head if u hold jump before landing on them 16:35 <+bridge> [ddnet] @louis that works actually with my change, i probably worded it wrong 16:37 <+bridge> [ddnet] TIL you can't have a vector of atomics easily 16:38 <+bridge> [ddnet] oh yeah 16:38 <+bridge> [ddnet] well since its the updater the performance isnt critical anyway 16:38 <+bridge> [ddnet] its also in a different thread anyway isnt it 16:44 <+bridge> [ddnet] TIL a friend declaration doesn't constitute a forward declaration 16:45 <+bridge> [ddnet] why can't you have a vector of atomics? 16:46 <+bridge> [ddnet] @Learath2 how would you cancel generic IJobs? 16:46 <+bridge> [ddnet] bcs no copy constructor 16:46 <+bridge> [ddnet] but probs makes sense 16:47 <+bridge> [ddnet] why do you need a copy constructor for things in a vec? 16:47 <+bridge> [ddnet] > @Vasten100 Thoughts about this? ^ 16:47 <+bridge> [ddnet] @deen yess please 16:49 <+bridge> [ddnet] bcs the vector can increase 16:49 <+bridge> [ddnet] @heinrich5991 hm, I was only thinking pending ones 16:50 <+bridge> [ddnet] ah, that would work 16:50 <+bridge> [ddnet] no specific reason there 16:54 <+bridge> [ddnet] One issue remains, wtf do I do with progress 16:54 <+bridge> [ddnet] progress? 16:55 <+bridge> [ddnet] With there being more than one engine workers doing the jobs, it's possible that two downloads happen simultaneously 16:55 <+bridge> [ddnet] When I first made the updater there was a single worker dedicated to the updater, so only one file could be downloaded at a time 16:56 <+bridge> [ddnet] (so the progress was shown for the only file downloading) 16:56 <+bridge> [ddnet] @Learath2 found gold 16:56 <+bridge> [ddnet] https://cdn.discordapp.com/attachments/293493549758939136/764139345249697812/p8p3tg3vo2s51.png 16:57 <+bridge> [ddnet] @Learath2 can we go back to only having 1 download? 16:57 <+bridge> [ddnet] After I rewrote the entire thing to accomodate for multiple downloads happening? 16:58 <+bridge> [ddnet] Sure we can, but not today. I'll go bake cookies instead and pick it back up tomorrow then 😄 16:58 <+bridge> [ddnet] @Ryozuki A modern day Flowers of Algernon 😄 16:58 <+bridge> [ddnet] for* 16:59 <+bridge> [ddnet] @Learath2 ok, then just show total progress for number of files and not for each file I guess 16:59 <+bridge> [ddnet] 👀 16:59 <+bridge> [ddnet] Actually I have an idea 16:59 <+bridge> [ddnet] I guess there is no harm in CUpdater having it's own job pool, is there? 17:00 <+bridge> [ddnet] Mh, no way to change the number of workers in a pool 17:01 <+bridge> [ddnet] Why must life be so full of pain and suffering? 17:01 <+bridge> [ddnet] I don't htink having more job pools is the sane thing to do 17:02 <+bridge> [ddnet] Is there any harm in multiple files being downloaded at the same time? 17:02 <+bridge> [ddnet] except the progress bar being broken? 😄 17:02 <+bridge> [ddnet] make multiple progress bar 17:03 <+bridge> [ddnet] enter the matrix 17:03 <+bridge> [ddnet] Yes, except that 🙃 17:03 <+bridge> [ddnet] none that I can think of 17:03 <+bridge> [ddnet] hm yeah, could show all files and a progress bar for each, but needs much more space 17:04 <+bridge> [ddnet] Much more space and would look ugly imo 17:04 <+bridge> [ddnet] progress bar for single files is useless anyway 17:04 <+bridge> [ddnet] would need one progress bar for all files 17:04 <+bridge> [ddnet] but we don't know how large the files will be 17:04 <+bridge> [ddnet] We do 17:04 <+bridge> [ddnet] current progress might be interesting 17:04 <+bridge> [ddnet] Well not until we start to download a file 17:05 <+bridge> [ddnet] Okay, I'll get it to download one file at a time again 17:05 <+bridge> [ddnet] it's not interesting to the user that we have 4KB/4KB for the new skin file 17:05 <+bridge> [ddnet] what might be interesting is the current download rate and maaybe the current file 17:05 <+bridge> [ddnet] (but total download amount would ofc be better) 17:06 <+bridge> [ddnet] Well we can't know the total download amount, barring having a script on the server report it 17:06 <+bridge> [ddnet] I realize 17:06 <+bridge> [ddnet] that does not stop me from realizing that current file amount is pretty much useless to the user though 17:07 <+bridge> [ddnet] Yeah, I guess % of files and download speed are good enough 17:09 <+bridge> [ddnet] @deen do you use the update diff tool? 17:09 <+bridge> [ddnet] can I update it to include file sizes so we can show a total? 17:10 <+bridge> [ddnet] yes, I use it, but I had to change it 17:10 <+bridge> [ddnet] check the version in ddnet-scripts (or on server) 17:10 <+bridge> [ddnet] You'll need to calculate the size for each platform, but I guess 17:10 <+bridge> [ddnet] each file should be enough, no? 17:11 <+bridge> [ddnet] the client knows which files it needs 17:11 <+bridge> [ddnet] as long as you add each binary, yes 17:11 <+bridge> [ddnet] yeah, that works 17:13 <+bridge> [ddnet] How do you propose we get the sizes? An extra file with all of them? 17:13 <+bridge> [ddnet] I'm wondering if there isn't some commonly used open source autoupdater solution that lives as an outside process. 17:13 <+bridge> [ddnet] we could take a look at TUF, maybe they have sth like that 17:14 <+bridge> [ddnet] There probably is, but can we please not increase the scope further? 17:14 <+bridge> [ddnet] > @louis that works actually with my change, i probably worded it wrong 17:14 <+bridge> [ddnet] @deen you sure? seems like it only double jumps 17:14 <+bridge> [ddnet] hm, you're right, because it doesn't count as grounded 17:14 <+bridge> [ddnet] > I'm wondering if there isn't some commonly used open source autoupdater solution that lives as an outside process. 17:14 <+bridge> [ddnet] yes, its called pacman :monkalaugh: 17:16 <+bridge> [ddnet] @Learath2 Sure, sorry 😄 17:17 <+bridge> [ddnet] @deen can you point me to an example JSON again? 17:17 <+bridge> [ddnet] https://update5.ddnet.tw/update.json 17:17 <+bridge> [ddnet] got it, sry 17:18 <+bridge> [ddnet] @Learath2 what do you prefer, an extra array sizes or a new version with files as json objects? 17:18 <+bridge> [ddnet] https://update6.ddnet.tw/update.json 17:20 <+bridge> [ddnet] files as json objects? 17:20 <+bridge> [ddnet] {"name":"DDNet", "size":1234} 17:21 <+bridge> [ddnet] An extra array with the sizes would be better imho. This way I need to keep track of the latest size for something I'm downloading 17:22 <+bridge> [ddnet] What would be even better is if you could PR this feature yourself :/ I really need to finish this and take a break from all the ddnet stuff so I can study 17:22 <+bridge> [ddnet] Preferably before it's too late to study this time 17:23 <+bridge> [ddnet] k, then just show file no and current speed I guess? 17:23 <+bridge> [ddnet] Yeah, I'll show total percentage and current speed 17:23 <+bridge> [ddnet] ChillerDragon @ChillerDragon are u online?= 17:24 <+bridge> [ddnet] It should be trivial to fetch the total size and show current total/overall total later 17:24 <+bridge> [ddnet] ye 17:31 <+ChillerDragon> ye @Jupstar ✪ 17:32 <+bridge> [ddnet] just read github 17:35 <+bridge> [ddnet] i'll just cherry pick @ChillerDragon , bcs i only need ur first commit 17:37 <+ChillerDragon> sounds complicated 17:38 <+ChillerDragon> why not base on my branch and merge in there? 17:38 <+bridge> [ddnet] bcs u have game.png 2 times, and the second commit isnt needed 17:39 <+ChillerDragon> well if u have a plan that does not complicate future merging then go for it 17:39 <+bridge> [ddnet] u'll still be the author of the commit 😄 17:39 <+ChillerDragon> oh thats nice 17:39 <+ChillerDragon> ima collecting these contributions 17:39 <+bridge> [ddnet] xD 17:40 <+ChillerDragon> btw guys where is the code that serves the update.json ? 17:41 <+bridge> [ddnet] https://github.com/ddnet/ddnet-scripts/blob/master/update/diff_update.py 17:41 <+ChillerDragon> so fast thanks :) 17:41 <+bridge> [ddnet] @deen do you remember why you clamped the percentage returned by the updater? 17:41 <+ChillerDragon> so @Jupstar ✪ do have to resolve conflicts or do u cherry pick me and then we close my pr? (btw does the ping w spaces work?) 17:42 <+ChillerDragon> anyone else raging on github for adding a cookie note? 17:43 <+bridge> [ddnet] use your ad blocker 17:44 <+ChillerDragon> wait should ublock catch it? 17:44 <+bridge> [ddnet] you can easily block it yourself, or alternatively, there's a filter list for you 17:44 <+ChillerDragon> sounds like work 17:44 <+bridge> [ddnet] lol no 17:45 <+ChillerDragon> also i have so many browsers im to lazy to install adblocker everywhere 17:45 <+ChillerDragon> maybe its time to switch to another git provider 17:45 <+bridge> [ddnet] I like this kind of lazy 17:46 <+bridge> [ddnet] need to change quite a bit of stuff 17:46 <+bridge> [ddnet] i'll close ur pr, once u happy with mine ;D 17:46 <+ChillerDragon> k 17:46 <+bridge> [ddnet] so, full tutorial, ChillerDragon 17:46 <+bridge> [ddnet] see the popup 17:46 <+bridge> [ddnet] click the pipette 17:47 <+bridge> [ddnet] click on the popup so you get the whole popup 17:47 <+ChillerDragon> devtools pipette or what? 17:47 <+bridge> [ddnet] ublock 17:48 <+ChillerDragon> hm seems like ublock is not in my private firefox? 17:48 <+bridge> [ddnet] then lick on the #.hx_cookie-banner--show… 17:48 <+ChillerDragon> how do i get the cookie banner back 17:48 <+bridge> [ddnet] why do you disable ublock while private surfing? 17:48 <+ChillerDragon> idk 17:48 <+bridge> [ddnet] check you addon settings 17:48 <+ChillerDragon> i didnt 17:48 <+bridge> [ddnet] it's the default 17:48 <+bridge> [ddnet] ublock origin please, not ublock 17:48 <+bridge> [ddnet] but you shouldn't 17:48 <+ChillerDragon> yes ofc origin 17:48 <+bridge> [ddnet] yes, ublock origin, obviously, sorry 17:49 <+bridge> [ddnet] seems modifying version.h doesn't recompile quite enough, might be a cmake issue somewhere there 17:50 <+ChillerDragon> oh nice 17:50 <+bridge> [ddnet] you managed to follow my instrucitons? 17:50 <+ChillerDragon> seems like 17:50 <+ChillerDragon> probably should sync my ublock settings 17:51 <+ChillerDragon> where are they even stored? 17:51 <+bridge> [ddnet] https://adnauseam.io/ 17:51 <+bridge> [ddnet] now you can do the same on other websites with more elements that annoy you 17:51 <+bridge> [ddnet] :greenthing: 17:51 <+bridge> [ddnet] that doesn't block the cookie banner 17:52 <+bridge> [ddnet] :monkalaugh: 17:52 <+bridge> [ddnet] https://cdn.discordapp.com/attachments/293493549758939136/764153341642276874/unknown.png 18:02 <+bridge> [ddnet] ChillerDragon: there's even a filter list built into ublock origin that blocks cookie notices specifically 18:03 <+bridge> [ddnet] and it also supports the github one afaics 18:03 <+ChillerDragon> nice where to buy it 18:05 <+bridge> [ddnet] annoyances -> EasyList Cookie 18:06 <+bridge> [ddnet] <Дядя Женя> https://github.com/ddnet/ddnet/issues/2821 18:06 <+bridge> [ddnet] <Дядя Женя> About /afk command 18:06 <+bridge> [ddnet] <Дядя Женя> There was already on issues 18:06 <+bridge> [ddnet] <Дядя Женя> It was already on issues 18:06 <+bridge> [ddnet] <Дядя Женя> It was already in issues 18:08 <+bridge> [ddnet] ```[2020-10-09 18:08:19][updater]: replacing DDNet 18:08 <+bridge> [ddnet] [2020-10-09 18:08:19][storage]: failed to remove: ./DDNet.old 18:08 <+bridge> [ddnet] [2020-10-09 18:08:19][updater]: replacing DDNet-Server 18:08 <+bridge> [ddnet] [2020-10-09 18:08:19][storage]: failed to remove: ./DDNet-Server.old``` 18:09 <+bridge> [ddnet] Is this a known issue on linux? 18:09 <+ChillerDragon> wow so nice @heinrich5991 18:09 <+ChillerDragon> yay 1 out of my 100 browsers is cookie banner free hurray 18:10 <+ChillerDragon> its kinda cool but i actually prefer staying away from sites that do something like that 18:10 <+bridge> [ddnet] Ah never knew there was a feature like that 18:10 <+ChillerDragon> there is a updater on linux? 18:11 <+bridge> [ddnet] I wonder if this breaks any websites though which require the cookie consent to work 18:11 <+ChillerDragon> i guess it depends 18:11 <+bridge> [ddnet] Why would you want to block the cookie consent? It's a good thing you know 18:11 <+ChillerDragon> its annoying i dont want to read it 18:12 <+ChillerDragon> also popups make me nervous 18:12 <+bridge> [ddnet] I guess the US had it right since the beginning, people don't give 3 shits about privacy 😛 18:12 <+bridge> [ddnet] Did GDPR cause those? 18:12 <+ChillerDragon> was around that time 18:13 <+ChillerDragon> how to update ddnet client on linux @Learath2? 18:13 <+Ryozuki> ChillerDragon nobo the updater is ur pkg manager 18:13 <+ChillerDragon> ye ikr 18:13 <+Ryozuki> ah i need to theme weechat with dracula theme too 18:13 <+ChillerDragon> but im just curious where the button is 18:13 <+Ryozuki> i have some ugly dark bars 18:14 <+ChillerDragon> so do i lol 18:14 <+bridge> [ddnet] if you compile with `-DAUTOUPDATE=ON` you'll get a version with the updater 18:14 <+ChillerDragon> also in tmux 18:14 <+ChillerDragon> something fucked up my colors latley 18:14 <+Ryozuki> oh true 18:14 <+Ryozuki> u cant see offtopic in discord 18:14 <+ChillerDragon> oh 18:14 <+Ryozuki> my new desktop 18:14 <+bridge> [ddnet] the last nvidia driver update fucked up my entire computer, it randomly freezes every couple seconds 18:14 <+ChillerDragon> ipgrabber 18:14 <+bridge> [ddnet] Thanks linux 18:14 <+ChillerDragon> not gonna click it 18:14 <+Ryozuki> damn 18:14 <+ChillerDragon> :p 18:14 <+Ryozuki> what website u want 18:14 <+ChillerDragon> ryozuki.xyz 18:15 <+Ryozuki> k 18:15 <+ChillerDragon> i made a issue on a github repo yesterday but it was my arch update lmao @Learath2 xd 18:15 <+bridge> [ddnet] @Learath2 the thing about the cookie consent is that ignoring it *should* decline everything 18:15 <+ChillerDragon> ye 18:16 <+ChillerDragon> but decline everything could result in not being allowed or able to use the site 18:16 <+Ryozuki> ChillerDragon 18:16 <+ChillerDragon> he actually did it lol 18:16 <+ChillerDragon> thanks tho 18:16 <+Ryozuki> why wouldnt i 18:16 <+ChillerDragon> NOT SECURE 18:16 <+Ryozuki> gotta find a use for my web 18:16 <+Ryozuki> not secure? 18:16 <+ChillerDragon> ur tls broke 18:16 <+Ryozuki> its secure for me 18:16 <+Ryozuki> idk whats wrong 18:16 <+ChillerDragon> https://zillyhuhn.com/cs/.1602260122.png 18:16 <+ChillerDragon> buy lets encrypt pro cert 18:17 <+Ryozuki> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 18:17 <+bridge> [ddnet] also still not secure for me, we had that before :p 18:17 <+Ryozuki> Processing /etc/letsencrypt/renewal/ryozuki.xyz.conf 18:17 <+Ryozuki> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 18:17 <+Ryozuki> Cert not yet due for renewal 18:17 <+Ryozuki> aaaaaaaaaaaaaaaaaa 18:17 <+ChillerDragon> http://ryozuki.xyz/downloads/desktop.png 18:17 <+ChillerDragon> 404 18:17 <+bridge> [ddnet] ChillerDragon: It's probably the same exact arch update, did someone push out a fix? 18:17 <+ChillerDragon> rebooting the machine did the job for me 18:18 <+ChillerDragon> i thought ur on macos? xd 18:18 <+bridge> [ddnet] I'm back in italy, with my nice computer 18:18 <+bridge> [ddnet] Well nicer anyway 18:18 <+ChillerDragon> what wm u use? 18:19 <+ChillerDragon> when fix @Ryozuki 18:19 <+bridge> [ddnet] @Patiga it probably does? I doubt it would be legal for them to use any cookies before you accept them 18:19 <+bridge> [ddnet] ChillerDragon: bspwm 18:19 <+ChillerDragon> ur so dependent on discord u cant even post pictures xd 18:19 <+Ryozuki> ChillerDragon can u see the website? 18:19 <+ChillerDragon> nah its 404 18:19 <+Ryozuki> i use i3-gaps 18:19 <+ChillerDragon> ik 18:19 <+Ryozuki> 404??? 18:19 <+ChillerDragon> https://zillyhuhn.com/cs/.1602260310.png 18:20 <+bridge> [ddnet] Ryozuki: learn2nginx nobo 18:20 <+bridge> [ddnet] well many sites still dont really give you the option to decline cookies 18:20 <+ChillerDragon> ye 18:20 <+Ryozuki> my access log tells me its 301 you 18:20 <+Ryozuki> or someone with mac 18:20 <+ChillerDragon> thats one of the reasons i rq 18:20 <+ChillerDragon> github did a nice job its kinda gentle and the reject all button is 1 click 18:20 <+ChillerDragon> i use arch btw 18:20 <+Ryozuki> ok there is one 404 18:20 <+bridge> [ddnet] @Patiga US sites boot you off if you decline them usually, I personally haven't really had any trouble yet with other sites 18:20 <+Ryozuki> ah 18:20 <+bridge> [ddnet] My problem with the cookie consent popups: In the very beginning I was reading them and trying to choose the "send me the cookies that are required for the site to work but not the ad stuff" setting. So I avoided clicking the big green OK button they want you to click on. But half of the time this takes you to a website saying "well sorry, you can't read this article then". This is really annoying so I've just grown to instinctively hammer 18:20 <+bridge> [ddnet] 18:20 <+bridge> [ddnet] I don't really get why I should have a choice there anyways? From what I remember reading of the GDPR the only cookies that are allowed are the type of "cookies that are required for the site to work" anyways 18:21 <+Ryozuki> ChillerDragon u use ipv6 right, i might not have it configured for ipv6 for some reason 18:21 <+ChillerDragon> uhm i use ipv6? 18:21 <+ChillerDragon> doubt 18:21 <+ChillerDragon> hacker wm @Learath2 18:21 <+ChillerDragon> yes it took me 5min to look it up 18:21 <+ChillerDragon> gnomemasterrace 18:22 <+Ryozuki> ChillerDragon try now 18:22 <+Ryozuki> ctrl f5 18:22 <+ChillerDragon> ctrl r 18:22 <+ChillerDragon> i closed it xd 18:22 <+ChillerDragon> ah nice got i 18:22 <+Ryozuki> works? 18:22 <+ChillerDragon> so good 18:22 <+Ryozuki> @Patiga can u try? i guess u had ipv6 too 18:23 <+bridge> [ddnet] aye works now 18:23 <+Ryozuki> Learath2 hehe im a pro nginx now 18:23 <+ChillerDragon> go buy apache2 18:23 <+ChillerDragon> or bashwebserver 18:23 <+ChillerDragon> nginx sok 18:24 <+bridge> [ddnet] @Learath2 the failure to remove gets printed, but it's expected so no error 18:24 <+ChillerDragon> also tmux > hackerwm 18:24 <+bridge> [ddnet] I'm still on xmonad but I want to move away from it in the future because of the haskell config. I'm interested in qtile, spectrwm, i3 in that order 18:24 <+bridge> [ddnet] I don't remember what bugged me about bspwm 18:24 <+ChillerDragon> the name 18:24 <+bridge> [ddnet] Is it a dwm fork? 18:24 <+ChillerDragon> obv 18:25 <+Ryozuki> i want to make my own wm in rust 18:25 <+ChillerDragon> nerd 18:25 <+Ryozuki> but idk if worth the effort 18:25 <+ChillerDragon> i fund u if u use posix shell instead 18:25 <+Ryozuki> it would make me totally badass too 18:25 <+Ryozuki> next i would make my own irc client 18:26 <+ChillerDragon> sounds like a pain in the ass to maintain 18:26 <+Ryozuki> the path to not depend on external software 18:26 <+Ryozuki> full nerd 18:26 <+ChillerDragon> just sell ur pc 18:26 <+ChillerDragon> go into the woods 18:26 <+Ryozuki> and then what 18:26 <+ChillerDragon> no dependencys 18:26 <+Ryozuki> u depend on food 18:26 <+ChillerDragon> did u call me fat? 18:26 <+Ryozuki> :monkalaugh: 18:27 <+Ryozuki> ups 18:27 <+Ryozuki> make the bot translate emojis 18:27 <+Ryozuki> :feelsbadman: 18:27 <+ChillerDragon> ur irc client does not support emojys? 18:27 <+Ryozuki> its rly easy to implement btw 18:27 <+ChillerDragon> ik 18:27 <+ChillerDragon> i did it drunk 18:27 <+Ryozuki> it supports unicode emojis 18:27 <+Ryozuki> but not custom server discord ones obviously 18:27 <+ChillerDragon> my font doesnt 18:28 <+Ryozuki> my fav font rn is Jetbrains Mono 18:28 <+ChillerDragon> i have cheap font from alibaba 18:28 <+Ryozuki> looks rly good 18:28 <+Ryozuki> everywhere 18:28 <+Ryozuki> they released it this year 18:28 <+Ryozuki> https://www.jetbrains.com/lp/mono/ 18:30 <+Ryozuki> pacman -S ttf-jetbrains-mono 18:30 <+Ryozuki> :wink: 18:30 <+Ryozuki> 😉 18:30 <+Ryozuki> oh both work 18:31 <+ChillerDragon> https://zillyhuhn.com/cs/.1602261027.png 18:31 <+Ryozuki> on discord nobo 18:32 <+ChillerDragon> indeed 18:32 <+ChillerDragon> https://zillyhuhn.com/cs/.1602261073.png 18:33 <+ChillerDragon> weechat > discord 18:33 <+ChillerDragon> https://zillyhuhn.com/cs/.1602261115.png 19:01 <+Ryozuki> if anyone wants to idle/chat and praise stallman join #hentai, we actually own the channel lmao 19:03 <+ChillerDragon> xd 19:13 <+bridge> [ddnet] I actually don't understand how the autoupdater was ever working on linux... 19:15 <+bridge> [ddnet] I never quite understoood what `GetBinaryPath` was ever supposed to do anyway, but it returns an absolute path, which `CStorage` won't let you open with `IStorage::TYPE_ALL` 19:16 <+bridge> [ddnet] TYPE_ABSOLUTE should work though? 19:17 <+bridge> [ddnet] If `GetBinaryPath` always returns absolute paths, yep 19:17 <+bridge> [ddnet] (which I doubt, since the autoupdater works on windows) 19:26 <+bridge> [ddnet] when can we replace system.c with cpp to use std xd 19:32 <+bridge> [ddnet] mh, I forgot storage has no concept of config_directory 20:00 <+bridge> [ddnet] @timakro yea, these kidn of cookie consent boxes are likely illegal, declining optional cookies must be as easy as accepting them 20:00 <+bridge> [ddnet] (it's not limited to cookies ofc, and cookies needed to display the site (e.g. for storing whether you consent to ad cookies or not) are always okay) 20:01 <+bridge> [ddnet] it was explained to me, that the problem is that enforcement is (seemingly) intentionally slow in ireland (because they like being a safe haven for companies because it brings taxes), but that the eu parliament tries to fix that loophole 20:39 <+bridge> [ddnet] I just nuked an hour of work with a `rm -rf *` 20:41 <+bridge> [ddnet] ouch 20:46 <+bridge> [ddnet] @Learath2 no git commits inbetween? 20:53 <+ChillerDragon> yikes 20:54 <+ChillerDragon> did any1 of u ever aliased rm to mv trash or something 20:54 <+bridge> [ddnet] I'm doing half-hourly snapshots of the file system to prevent mistakes like that 20:54 <+bridge> [ddnet] haven't made such mistakes since then, so I don't know if it'll work 20:57 <+ChillerDragon> ``cd / && git init && screen -AmdS while :; do sleep 1; git add .; git commit -m "yeet"; done`` 20:57 <+ChillerDragon> oop forogot screen name 21:47 <+bridge> [ddnet] No commits :/ 21:47 <+bridge> [ddnet] Anyway, I think I'm back to where I was 21:48 <+bridge> [ddnet] @deen seems you missed the removal of `"data/shader/bordertile.vert"` in update.json 21:49 <+bridge> [ddnet] Autoupdate from any version before it's introduced fails with a 404 22:09 <+bridge> [ddnet] I couldn't figure out how best to make Storage config_directory aware, so I stopped for now 22:09 <+bridge> [ddnet] I'm a little tired of this whole thing tbh 22:39 <+bridge> [ddnet] <Дядя Женя> Just downloaded and compiled ddnet source code and I have everything starting with `CNet...` undefined 22:39 <+bridge> [ddnet] <Дядя Женя> https://cdn.discordapp.com/attachments/293493549758939136/764225464478203934/unknown.png 22:39 <+bridge> [ddnet] <Дядя Женя> missing project reference or smth? any ideas? 22:39 <+bridge> [ddnet] build it 22:42 <+bridge> [ddnet] <Дядя Женя> it's not helping 22:45 <+bridge> [ddnet] maybe you don't have python? cmake runs one to generate network object classes 22:46 <+bridge> [ddnet] I've never had problems building ddnet 22:46 <+bridge> [ddnet] <Дядя Женя> I had 4 of them, but it caused error for CMAKE 'cause it found oldest one. So I deleted everything and reinstalled newest 3.9 22:46 <+bridge> [ddnet] <Дядя Женя> > I've never had problems building ddnet 22:46 <+bridge> [ddnet] <Дядя Женя> @Pure_luck I always had ) 22:46 <+bridge> [ddnet] I use rather recent one 3.8 22:46 <+bridge> [ddnet] <Дядя Женя> https://cdn.discordapp.com/attachments/293493549758939136/764227415005331507/unknown.png 22:47 <+bridge> [ddnet] looks like something fundamental is wrong 22:47 <+bridge> [ddnet] <Дядя Женя> Now yes 22:47 <+bridge> [ddnet] are you using gcc or clang? 22:47 <+bridge> [ddnet] also: linux or windows? 22:47 <+bridge> [ddnet] also: have you tried cmake in console? 22:48 <+bridge> [ddnet] <Дядя Женя> 1. idk 22:48 <+bridge> [ddnet] <Дядя Женя> 2. win 22:48 <+bridge> [ddnet] <Дядя Женя> 3. no 22:49 <+bridge> [ddnet] oh... windows. Cannot help you sorry 22:49 <+bridge> [ddnet] <Дядя Женя> I've rebuilt it with cmake, now it's only some "unable to open ..." errors 22:49 <+bridge> [ddnet] but I think you can try console cmake and gcc 22:50 <+bridge> [ddnet] ok we will wait for windows dev then 22:50 <+bridge> [ddnet] are you using vscode btw? 22:50 <+bridge> [ddnet] with cmake-tools? 22:50 <+bridge> [ddnet] with cmake-tools extension? 22:50 <+bridge> [ddnet] <Дядя Женя> ok, no, it just did not found any of them yet 22:51 <+bridge> [ddnet] <Дядя Женя> visual studio. Not code 22:51 <+bridge> [ddnet] <Дядя Женя> 2019 22:51 <+bridge> [ddnet] dunno, I've used vscode and cmake-tools extension 22:51 <+bridge> [ddnet] worked like a charm 22:52 <+bridge> [ddnet] <Дядя Женя> Vscode is just a text editor, not IDE 22:52 <+bridge> [ddnet] <Дядя Женя> It's ok for some javascript, but not cpp 22:52 <+bridge> [ddnet] Show us the output of CMake 22:52 <+bridge> [ddnet] Text editors are more than okay for C/C++, most of us here are using them 22:53 <+bridge> [ddnet] > Vscode is just a text editor, not IDE 22:53 <+bridge> [ddnet] 22:53 <+bridge> [ddnet] :troll: 22:53 <+bridge> [ddnet] @Дядя Женя it looks like cmake didn't find python 22:53 <+bridge> [ddnet] it's exactly missing the stuff generated by py 22:53 <+bridge> [ddnet] Yeah, that's what I'd guess ^^ 22:53 <+bridge> [ddnet] <Дядя Женя> Ok, then it found it but was unable to build 22:53 <+bridge> [ddnet] <Дядя Женя> mb 22:54 <+bridge> [ddnet] show us the log ^^ 22:54 <+bridge> [ddnet] <Дядя Женя> https://cdn.discordapp.com/attachments/293493549758939136/764229342011719700/message.txt 22:54 <+bridge> [ddnet] @Learath2 thanks, fixed 22:55 <+bridge> [ddnet] <Дядя Женя> yeah, maybe you're right, some Dependencies seems to be missing 22:55 <+bridge> [ddnet] nah, looks all good 22:55 <+bridge> [ddnet] the only problem I see is that it finds py2, not py3 22:56 <+bridge> [ddnet] <Дядя Женя> Where. 22:56 <+bridge> [ddnet] <Дядя Женя> ? 22:57 <+bridge> [ddnet] <Дядя Женя> It should not, but I'll check 22:57 <+bridge> [ddnet] Huh, thought when we specifically looked for Py3 it wouldn't take 2, @heinrich5991 is it possible for us to error out if it can't find a py3? 22:57 <+bridge> [ddnet] @Дядя Женя 3rd line from the bottom, it finds `C:\Program Files\Python27` 22:57 <+bridge> [ddnet] <Дядя Женя> Strange, ok 22:57 <+bridge> [ddnet] als ofurther above 22:58 <+bridge> [ddnet] <Дядя Женя> What should I do to help it find the right one 22:59 <+bridge> [ddnet] <Дядя Женя> lol, better 22:59 <+bridge> [ddnet] <Дядя Женя> there is NO python27 folder in c:program files 23:00 <+bridge> [ddnet] hmmmm 23:00 <+bridge> [ddnet] <Дядя Женя> https://cdn.discordapp.com/attachments/293493549758939136/764230713045286942/unknown.png 23:00 <+bridge> [ddnet] that seems weird 23:00 <+bridge> [ddnet] <Дядя Женя> :3 23:00 <+bridge> [ddnet] try with normal explorer 23:00 <+bridge> [ddnet] that application might be in 32-bit compatibility mode and not showing hte correct program files 23:02 <+bridge> [ddnet] <Дядя Женя> lol, no, not the case 23:02 <+bridge> [ddnet] explorer shows the same? 23:03 <+bridge> [ddnet] <Дядя Женя> ofc 23:03 <+bridge> [ddnet] this is probably a known bug, but if you click Connect/Disconnect Dummy and quickly press escape it doesn't work, next time you press escape it instantly disconnects dummy 23:03 <+bridge> [ddnet] So cmake is finding a python that doesn't exist, that seems very unlikely 😄 23:04 <+bridge> [ddnet] <Дядя Женя> it may look in env variables for the path 23:04 <+bridge> [ddnet] <Дядя Женя> and find something old, eat it and accept 23:04 <+bridge> [ddnet] Can you run the Visual Studio somethingsomething c++ something command prompt and check `where python.exe`? 23:05 <+bridge> [ddnet] Apparently it's called "x64 Native Tools Command Prompt" in this decade 23:05 <+bridge> [ddnet] <Дядя Женя> I'm reinstalling python now 23:06 <+bridge> [ddnet] <Дядя Женя> ``` 23:06 <+bridge> [ddnet] <Дядя Женя> Found PythonInterp: C:/Program Files/Python39/python.exe (found version "3.9") 23:06 <+bridge> [ddnet] <Дядя Женя> Looking for WavpackOpenFileInputEx 23:06 <+bridge> [ddnet] <Дядя Женя> Looking for WavpackOpenFileInputEx - not found 23:06 <+bridge> [ddnet] <Дядя Женя> Looking for WavpackCloseFile 23:06 <+bridge> [ddnet] <Дядя Женя> Looking for WavpackCloseFile - not found 23:06 <+bridge> [ddnet] <Дядя Женя> Configuring done 23:06 <+bridge> [ddnet] <Дядя Женя> ``` 23:07 <+bridge> [ddnet] <Дядя Женя> works now 23:07 <+bridge> [ddnet] Oh @heinrich5991 can you help me with #2754 not building on CI? 23:07 <+bridge> [ddnet] https://github.com/ddnet/ddnet/pull/2754 23:08 <+bridge> [ddnet] data_hash.h generates just fine on ubuntu-latest and on my computer, it doesn't anywhere else 23:13 <+bridge> [ddnet] don't see the error 23:13 <+bridge> [ddnet] where is it? 23:13 <+bridge> [ddnet] builds fine on macOS-latest? 23:13 <+bridge> [ddnet] <Дядя Женя> Can you tell me where can I find any UI classes or methods? 23:13 <+bridge> [ddnet] builds fine on ubuntu-latest and arch linux with gcc10 and clang10 23:14 <+bridge> [ddnet] ``` 23:14 <+bridge> [ddnet] /Users/runner/work/ddnet/ddnet/src/engine/client/updater.cpp:145:2: error: multiple conversions from switch condition type 'std::atomic' to an integral or enumeration type 23:14 <+bridge> [ddnet] switch(m_State) 23:14 <+bridge> [ddnet] ^ ~~~~~~~ 23:14 <+bridge> [ddnet] /Applications/Xcode_11.7.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/atomic:1489:5: note: conversion to integral type 'int' 23:14 <+bridge> [ddnet] operator _Tp() const volatile _NOEXCEPT {return load();} 23:14 <+bridge> [ddnet] ^ 23:14 <+bridge> [ddnet] /Applications/Xcode_11.7.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/atomic:1491:5: note: conversion to integral type 'int' 23:14 <+bridge> [ddnet] operator _Tp() const _NOEXCEPT {return load();} 23:14 <+bridge> [ddnet] ^ 23:14 <+bridge> [ddnet] ``` 23:14 <+bridge> [ddnet] I see this 23:14 <+bridge> [ddnet] @Дядя Женя ui.h has most of them, render.h has some helpers 23:14 <+bridge> [ddnet] on macos latest 23:14 <+bridge> [ddnet] Yeah pushing a "fix" for that I think. I couldn't figure out what's wrong on windows and ubuntu-16.04 23:15 <+bridge> [ddnet] ah, I think you need to manually declare dependencies for generated source headers 23:16 <+bridge> [ddnet] @heinrich5991 where? 23:20 <+bridge> [ddnet] Oh btw, should we opt-in to hacktoberfest? 23:20 <+bridge> [ddnet] you have to opt-in? 23:20 <+bridge> [ddnet] I thought every project participates automatically 23:20 <+bridge> [ddnet] This year they changed it, I guess some projects got spam 23:20 <+bridge> [ddnet] at least I got my hacktoberfest completed email 10 minutes after it started 😄 23:21 <+bridge> [ddnet] then yes, opt in 23:21 <+bridge> [ddnet] I guess you need to add it to `ENGINE_UUID_SHARED` @Learath2 23:22 <+bridge> [ddnet] so it knows that it needs it for the engine compilation 23:22 <+bridge> [ddnet] maybe rename it to ENGINE_SHARED_HACK or so 23:22 <+bridge> [ddnet] hm, I thought `GAME_GENERATED_SHARED` should be enough for that 23:29 <+bridge> [ddnet] well, engine doesn't depend on that 23:30 <+bridge> [ddnet] I see 23:35 <+bridge> [ddnet] MSVC is such a PITA 23:39 <+bridge> [ddnet] I don't get it, C89 and C99 both define a `hexadecimal-constant` C++11 defines it as a `hexadecimal-literal` which seems to have the same semantics. Why is MSVC choking on my 0x prefixed data? 23:41 <+bridge> [ddnet] Anyone on windows or have a windows vm at hands reach? 23:41 <+bridge> [ddnet] @Learath2 I think it stumbles on the filenames, not the 0x 23:43 <+bridge> [ddnet] `{"data/arrow.png",{0xd2,0x79,0xb3,0x93,0x15,0x3a,0x42,0xcb,0x3d,0xf1,0xe7,0x3c,0xf6,0x10,0xff,0x5e,0x17,0xb4,0x2c,0xeb,0x80,0x88,0x29,0x4c,0x00,0x75,0xa5,0x0e,0x60,0x4b,0xe5,0x4b}},` uhm I don't see how 23:43 <+bridge> [ddnet] (also I think DATA_FILE_COUNT is not needed) 23:44 <+bridge> [ddnet] @deen well I need a constant length to create the bitsets 23:45 <+bridge> [ddnet] I guess I could use the COUNT_OF macro 23:46 <+bridge> [ddnet] ah, ok 23:48 <+bridge> [ddnet] I found this: https://stackoverflow.com/questions/11837078/initialize-a-constant-sized-array-in-an-initializer-list 23:48 <+bridge> [ddnet] Some say it doesn't work in VS2012, not sure what version github is using 23:49 <+bridge> [ddnet] MSVC 19.27.29112.0 23:49 <+bridge> [ddnet] That's VS2019 iirc 23:49 <+bridge> [ddnet] it's also the latest on godbolt 23:51 <+bridge> [ddnet] Oh I know 23:51 <+bridge> [ddnet] DUH 23:51 <+bridge> [ddnet] On windows paths have \ as the separator, I need to escape that 😄 23:52 <+bridge> [ddnet] Hah, told you it's the paths 23:52 <+bridge> [ddnet] but didn't think of the \ 23:54 <+bridge> [ddnet] It should be enough to replace all \s with \\ right? 😄 23:55 <+bridge> [ddnet] with two backslashes? 23:56 <+bridge> [ddnet] Yeah with two backslashes, TIL discord does escapes too