00:05 <+bridge> [ddnet] %02x 00:06 <+bridge> [ddnet] Ah, I didn't know that worked in this situation. Nice 00:15 <+bridge> [ddnet] all arguments smaller than `int` are cast to `int` before being passed to `str_format` (or any variadic function) 01:24 <+bridge> [ddnet] ill take care of the clang formatting 01:43 <+bridge> [ddnet] We can also stop running the closed source mod until coffee complains. And I guess taking the 0.6.5 antispoof would be easier 01:43 <+bridge> [ddnet] for the remaining Vanilla mods 07:47 <+bridge> [ddnet] hi 07:47 <+bridge> [ddnet] may be we should do extra har versions of maps with no teleports and checkpoints? 07:47 <+bridge> [ddnet] may be we should do extra hard versions of maps with no teleports and checkpoints? 07:48 <+bridge> [ddnet] i would like to play 2 years to finish run_antibuguse with freeze instead of tp xd 08:01 <+bridge> [ddnet] @deen 08:02 <+bridge> [ddnet] Please keep blockZ alive, we play from time to time. 08:02 <+bridge> [ddnet] Its not even about blockZ, its updated and doesnt make problems. 08:03 <+bridge> [ddnet] Its basically about any other mod, as they are so old and dont have the antispoof. 08:13 <+ChillerDragon> when proper ddnet modding support and blockZ mod? 09:14 <+bridge> [ddnet] I never managed to move less than 0.09 pixels 10:41 <+ChillerDragon> skill issue 11:10 <+bridge> [ddnet] its closed source so dont host it 11:51 <+bridge> [ddnet] Just make them again on ddnet sources, you just need to clean everything up, add flags, teams and old shotgun :troll: , oh and make this a template repo on github 11:51 <+bridge> [ddnet] That's an optimistic estimate 12:45 <+ChillerDragon> "just need o clean everything up" 12:45 <+ChillerDragon> lmao 12:54 <+bridge> [ddnet] if we could make it open source, I'd be more sympathetic to hosting it 12:54 <+bridge> [ddnet] Lol, it's been hosted for years, and DDNet even asked for hosting it back then 12:55 <+bridge> [ddnet] I dont think it would be nice not hosting it anymore 12:55 <+bridge> [ddnet] Also, why is it a problem now? We were talking about other mods, that require anti spoof for the current problem. 12:56 <+bridge> [ddnet] it's a problem now because I now realized we host non-open source mods 12:56 <+bridge> [ddnet] After years you realize xd 12:56 <+bridge> [ddnet] Ryozuki apparently also doesn't like it 12:56 <+bridge> [ddnet] yes 12:56 <+bridge> [ddnet] Did it seem to be a problem over the years when you just discovered it now? I think there were no issues 12:56 <+bridge> [ddnet] (discovered aka I told you) 12:57 <+bridge> [ddnet] Being honest doesnt seem to be the right way when people want to take something for being honest xd sadge 12:59 <+bridge> [ddnet] Hm, I guess we discussed this before 12:59 <+ChillerDragon> sos how does c++ work 12:59 <+ChillerDragon> is this pData https://github.com/ddnet/ddnet/blob/65a3cdff02ba9d5f51b795aaba224704c5064680/src/game/client/gameclient.cpp#L934 the same as this Data() https://github.com/ddnet/ddnet/blob/65a3cdff02ba9d5f51b795aaba224704c5064680/src/engine/shared/snapshot.cpp#L121 ? 13:00 <+bridge> [ddnet] I guess since the mod is pretty much dead, there is no community split that might happen. Maybe ask coffee to open source it now? 13:01 <+bridge> [ddnet] . 13:01 <+bridge> [ddnet] apparently not everyone is happy with that 13:01 <+bridge> [ddnet] what's the point of not making it open-source? 13:02 <+bridge> [ddnet] Then we would need to publish his old mod, the current version has some of my code which shouldnt be shared currently. 13:03 <+bridge> [ddnet] Noby fng is also closed source and in ddnet tab. So you were aware of it xd 13:03 <+bridge> [ddnet] I guess the original developer didn't want to 13:03 <+bridge> [ddnet] And he gave his reasons on the message I replied to 13:04 <+bridge> [ddnet] 👍 13:04 <+bridge> [ddnet] but as you said, they seem to be moot now 13:04 <+bridge> [ddnet] That was the main reason he even agreed on giving the mod to you guys 13:05 <+bridge> [ddnet] Yes, still doesn't give us the right to violate his wishes 13:05 <+bridge> [ddnet] yes 13:05 <+bridge> [ddnet] but we can stop hosting the mod 13:05 <+bridge> [ddnet] given that I think that it's not very aligned with the ddnet philosophy 13:05 <+bridge> [ddnet] @Learath2 im ready 13:05 <+bridge> [ddnet] https://cdn.discordapp.com/attachments/293493549758939136/1029711439713288263/unknown.png 13:05 <+bridge> [ddnet] :BASED: 13:05 <+bridge> [ddnet] If you dont want to contribute to teeworlds' variety anymore and ignore the fact that it didnt harm you since years + you remove servers even tho you know we play there from time to time, sure 13:06 <+bridge> [ddnet] I was sure you were an i3gaps user 13:06 <+bridge> [ddnet] because i didnt know it was closed source 13:06 <+bridge> [ddnet] You knew 13:06 <+bridge> [ddnet] i am, but i have it disabled 13:06 <+bridge> [ddnet] the gaps 13:06 <+bridge> [ddnet] From the conversations 3 years ago 13:06 <+bridge> [ddnet] wasted space 13:06 <+bridge> [ddnet] that doesn't matter; opinions can change 13:07 <+bridge> [ddnet] the thing that matters is that Ryozuki now knows, and doesn't like it 13:07 <+bridge> [ddnet] I will refrain from giving my opinion on this. I'm in no mood to get into a lengthy discussion and get insulted 13:07 <+bridge> [ddnet] even if he was okay with it three years ago 13:07 <+bridge> [ddnet] Since when does Ryozuki have the permission to allow that? 13:07 <+bridge> [ddnet] what 13:07 <+bridge> [ddnet] I'm saying he's allowed to give an opinion even if it's different than three years ago 13:08 <+bridge> [ddnet] Did you compile your firefox to get your 1% performance improvement? 13:08 <+bridge> [ddnet] Not what I said, I just said he knew it was open src, cuz he said he didnt 13:08 <+bridge> [ddnet] gonna have dinner 13:08 <+bridge> [ddnet] not yet, ill do it some day i go afk 13:08 <+bridge> [ddnet] yes, I'm saying it doesn't matter 13:08 <+bridge> [ddnet] if he knew it was open source or not 13:08 <+bridge> [ddnet] but my kernel is compiled using zen3 native options 13:08 <+bridge> [ddnet] it's focusing on the wrong thing 13:09 <+bridge> [ddnet] Takes about 40 mins on my ancient cpu, yours should blaze through it 13:09 <+bridge> [ddnet] i think today i compiled llvm in 10 mins or so 13:09 <+bridge> [ddnet] You can do load-average 4.0 or sth and have it slowly compile on the background too. That's how I use it 13:09 <+bridge> [ddnet] Jesus. That one takes me almost an hour 13:09 <+bridge> [ddnet] I really need a new cpu 13:09 <+bridge> [ddnet] and my cpu is 5600x 13:09 <+bridge> [ddnet] its medium range 13:10 <+bridge> [ddnet] i wanna get the 5900x 13:10 <+bridge> [ddnet] wait there is a 5950x 13:10 <+bridge> [ddnet] jeez 13:10 <+bridge> [ddnet] https://cdn.discordapp.com/attachments/293493549758939136/1029712763263647745/unknown.png 13:11 <+bridge> [ddnet] to get a 7000 processor i would need to change my 150€ motherboard 13:11 <+bridge> [ddnet] idk if worth 13:11 <+bridge> [ddnet] I kinda always upgrade to the top of the line since I upgrade so slowly 13:12 <+bridge> [ddnet] then get a 7000 gen processor 13:12 <+bridge> [ddnet] https://www.amd.com/en/processors/ryzen 13:12 <+bridge> [ddnet] marketing xd 13:12 <+bridge> [ddnet] https://cdn.discordapp.com/attachments/293493549758939136/1029713205590757446/unknown.png 13:12 <+bridge> [ddnet] If I'll stick to a CPU for 8 years, it can be a little more expensive since per year it'll come out to not very much 13:13 <+bridge> [ddnet] https://cdn.discordapp.com/attachments/293493549758939136/1029713333567356958/unknown.png 13:13 <+bridge> [ddnet] that insane base clock when having 32 threads 13:13 <+bridge> [ddnet] lmao 13:14 <+bridge> [ddnet] I'm willing to pay up to an extra 100$ for the 4 extra cores, if it's more expensive I'd probably grab the 12 core version 13:15 <+bridge> [ddnet] look at this use flag for firefox 13:15 <+bridge> [ddnet] "pgo Add support for profile-guided optimization for faster binariesthis option will double the compile time " 13:15 <+bridge> [ddnet] im sure jupstar would use it 13:16 <+bridge> [ddnet] Jupstar would also have systemwide lto 13:17 <+bridge> [ddnet] Btw the gentoo channel on libera is pretty nice, still active and you can get decent support 13:20 <+bridge> [ddnet] oh nice 13:20 <+bridge> [ddnet] i gotta setup a irc client 13:21 <+bridge> [ddnet] kek 13:21 <+bridge> [ddnet] https://cdn.discordapp.com/attachments/293493549758939136/1029715477204844616/unknown.png 13:21 <+bridge> [ddnet] weechat, go 13:22 <+bridge> [ddnet] im compiling firefox 13:22 <+bridge> [ddnet] Let me know how long it takes 13:22 <+bridge> [ddnet] Oh and also maybe get `genlop` 13:22 <+bridge> [ddnet] It parses emerge logs so you can get average compile times for packages or estimate compilation times for running emerges 13:22 <+bridge> [ddnet] do you count in the deps? 13:22 <+bridge> [ddnet] oh ok 13:23 <+bridge> [ddnet] No, just firefox 13:23 <+bridge> [ddnet] firefox prefers clang instead of gcc curiously 13:24 <+bridge> [ddnet] for some reason it says iti will build 102.3 but i have the ~amd64 thingy 13:24 <+bridge> [ddnet] so idk 13:24 <+bridge> [ddnet] Probably because they link with rust stuff and rust uses llvm 13:25 <+bridge> [ddnet] Did you unmask the non -bin one? 13:25 <+bridge> [ddnet] https://cdn.discordapp.com/attachments/293493549758939136/1029716479974834256/unknown.png 13:25 <+bridge> [ddnet] this? 13:27 <+bridge> [ddnet] Yes, try `emerge -avt www-client/firefox:rapid` 13:27 <+bridge> [ddnet] oh rapid 13:27 <+bridge> [ddnet] https://cdn.discordapp.com/attachments/293493549758939136/1029717059686367242/unknown.png 13:28 <+bridge> [ddnet] autounmask=y is my friend 13:28 <+bridge> [ddnet] Ofc you need to unmask nss aswell, it might ask for like 3 more libraries to be unmasked 13:28 <+bridge> [ddnet] now it says 105.0.2 nice 13:29 <+bridge> [ddnet] I won't say don't use autounmask since it does make it much more convenient, but I just do it by hand so I can keep them in one file 13:30 <+bridge> [ddnet] i love that i can run emerge at the same time 13:30 <+bridge> [ddnet] with different packages 13:30 <+bridge> [ddnet] no lockfiles 13:31 <+bridge> [ddnet] There are actual lockfiles, but they apply to separate steps 13:31 <+bridge> [ddnet] https://cdn.discordapp.com/attachments/293493549758939136/1029717915701886986/unknown.png 13:31 <+bridge> [ddnet] sus-devel :amogus: 13:31 <+bridge> [ddnet] ❯ sudo genlop -t sys-devel/llvm 13:31 <+bridge> [ddnet] * sys-devel/llvm 13:32 <+bridge> [ddnet] 13:32 <+bridge> [ddnet] Wed Oct 12 11:40:22 2022 >>> sys-devel/llvm-14.0.6-r2 13:32 <+bridge> [ddnet] merge time: 29 minutes and 24 seconds. 13:32 <+bridge> [ddnet] Now I want a new cpu damn 13:32 <+bridge> [ddnet] 30 minutes for llvm 13:32 <+bridge> [ddnet] Is the mod creator still against it? Maybe he changed his opinion too xd 13:33 <+bridge> [ddnet] Against os 13:33 <+bridge> [ddnet] mesa compiles in 2 minutes 13:36 <+bridge> [ddnet] @Learath2 what terminal you use? 13:36 <+bridge> [ddnet] i ofc use alacritty 13:37 <+bridge> [ddnet] urxvt, idk why but all these modern terminals give me this feeling of input lag 13:38 <+bridge> [ddnet] Idk if it's true input lag or maybe some configuration error, but it feels wrong 13:38 <+bridge> [ddnet] hmm 13:38 <+bridge> [ddnet] alacritty is the fastest to me 13:38 <+bridge> [ddnet] gpu accelerated even 13:38 <+bridge> [ddnet] aaand rust 13:38 <+bridge> [ddnet] The output is definitely faster 13:39 <+bridge> [ddnet] But the time it takes from a keypress to the character to appear on my screen seems slower for whatever reason idk 13:39 <+bridge> [ddnet] Never debugged it too far 13:39 <+bridge> [ddnet] im glad i ditched polybar 13:39 <+bridge> [ddnet] for i3blocks 13:40 <+bridge> [ddnet] way more minimal 13:40 <+bridge> [ddnet] and good config 13:40 <+bridge> [ddnet] 13:40 <+bridge> [ddnet] good premade scripts 13:41 <+bridge> [ddnet] I spent sometime making something similar to i3bar with lemonbar. If you have way too much time on your hand you could have some fun with that too 😄 13:41 <+bridge> [ddnet] and i just cant stop using i3 13:41 <+bridge> [ddnet] i tried awesome but i cant like it 13:41 <+bridge> [ddnet] I went to bspwm, maybe you could enjoy that. I love the separate keyboard handler, very unix very cool 13:42 <+bridge> [ddnet] Also wasnt there a sort of port of i3 in rust? Did you try that? 13:42 <+bridge> [ddnet] bloated software kek 13:42 <+bridge> [ddnet] https://cdn.discordapp.com/attachments/293493549758939136/1029720610919690370/unknown.png 13:42 <+bridge> [ddnet] true 13:42 <+bridge> [ddnet] but i think its for wayland only 13:42 <+bridge> [ddnet] sway 13:43 <+bridge> [ddnet] Ah, hm idk how I feel about wayland yet. I'm not a huge fan of massive opinionated changes 13:43 <+bridge> [ddnet] https://wiki.gentoo.org/wiki/Sway 13:43 <+bridge> [ddnet] oh wait 13:43 <+bridge> [ddnet] this is a compositor? 13:43 <+bridge> [ddnet] idk 13:44 <+bridge> [ddnet] > Sway is a tiling Wayland compositor and a drop-in replacement for the i3 window manager for X11. 13:44 <+bridge> [ddnet] ah ok 13:44 <+bridge> [ddnet] weird usage of words 13:44 <+bridge> [ddnet] ye iif they force vsync i wont migrate 13:45 <+bridge> [ddnet] ah wait sway is made in C 13:45 <+bridge> [ddnet] 13:45 <+bridge> [ddnet] it seemed too much effort to install so i jsut went with my trusty i3 13:45 <+bridge> [ddnet] and i got the config already made 13:46 <+bridge> [ddnet] Wayland is just a weird piece of software. Why they would make a replacement for X but make such big changes idk. They should have just made a clean rewrite of X and XLib 13:46 <+bridge> [ddnet] look it follows ur philosohpy 13:46 <+bridge> [ddnet] https://cdn.discordapp.com/attachments/293493549758939136/1029721664713408562/unknown.png 13:46 <+bridge> [ddnet] brb food 13:46 <+bridge> [ddnet] Instead we have this weird wm/compositor combo deal 13:53 <+bridge> [ddnet] How many files did it compile 13:53 <+bridge> [ddnet] . 13:55 <+bridge> [ddnet] idk 13:56 <+bridge> [ddnet] all 13:56 <+bridge> [ddnet] https://cdn.discordapp.com/attachments/293493549758939136/1029724158961123428/unknown.png 13:57 <+bridge> [ddnet] https://cdn.discordapp.com/attachments/293493549758939136/1029724391191351357/unknown.png 13:57 <+bridge> [ddnet] damn clang 13:57 <+bridge> [ddnet] well im compiling clang and nodejs at the same time 13:58 <+bridge> [ddnet] firefox needs nodejs for some reason xd 13:59 <+bridge> [ddnet] @Learath2 does emerge do clean builds always? 14:00 <+bridge> [ddnet] It'll start from a clean build dir unless you use some trick I don't remember to resume the build after interrupting it 14:00 <+bridge> [ddnet] i mean for e.g updates 14:00 <+bridge> [ddnet] It won't create a new chroot and get all the deps new like clean aur builds on arch 14:00 <+bridge> [ddnet] Yes, these will be clean, no incremental compilation 14:02 <+bridge> [ddnet] ok now its compiling firefox 14:10 <+bridge> [ddnet] @Learath2 https://packages.gentoo.org/packages/net-p2p/transmission 14:10 <+bridge> [ddnet] how can i install the 4.0 version 14:10 <+bridge> [ddnet] its not even under testing 14:12 <+bridge> [ddnet] `emerge -avt =net-p2p/transmission-4.0.0_beta1` 14:12 <+bridge> [ddnet] pog 14:12 <+bridge> [ddnet] they just released this major update 14:12 <+bridge> [ddnet] Or `>= 4.0.0` 14:13 <+bridge> [ddnet] https://news.ycombinator.com/item?id=33118471&ref=upstract.com 14:14 <+bridge> [ddnet] > 14:14 <+bridge> [ddnet] > yborg 4 days ago | prev | next [–] 14:14 <+bridge> [ddnet] > 14:14 <+bridge> [ddnet] > 15.7 MB binary on macOS, in an age where it's usual to deliver a 400 MB Electron package. I kneel. 14:14 <+bridge> [ddnet] the alpine package is 1mb 14:14 <+bridge> [ddnet] 400 MB Electron package, just reading that gives me anxiety 14:14 <+bridge> [ddnet] 4.5mb on debian 14:15 <+bridge> [ddnet] xd 14:15 <+bridge> [ddnet] we're 50 MiB these days, I think 14:15 <+bridge> [ddnet] https://cdn.discordapp.com/attachments/293493549758939136/1029729067190206484/unknown.png 14:15 <+bridge> [ddnet] rewritten in c++ kek 14:16 <+bridge> [ddnet] > The code has been extensively profiled and improved to fix inefficient code and memory use. For example, a stress test of starting transmission-daemon with 25,000 torrents is almost entirely IO-bound, using 50% fewer CPU cycles and 70% fewer memory allocations than Transmission 3.00. 14:16 <+bridge> [ddnet] there was some serious bloat there i guess 14:16 <+bridge> [ddnet] did I ask how you run your virtual machines btw? 14:16 <+bridge> [ddnet] This might ask for a `**` unmask btw 14:16 <+bridge> [ddnet] I have heard one should stay away from virtualbox due to it being oracle 14:16 <+bridge> [ddnet] im still compiling firefox, 16 mins in 14:17 <+bridge> [ddnet] true i guess 14:17 <+bridge> [ddnet] also 14:17 <+bridge> [ddnet] opus is doing shady moves 14:17 <+bridge> [ddnet] trying to patent 14:17 <+bridge> [ddnet] https://news.ycombinator.com/item?id=33158475 14:17 <+bridge> [ddnet] I use qemu 14:17 <+bridge> [ddnet] > jefftk 21 hours ago | next [–] 14:17 <+bridge> [ddnet] > 14:17 <+bridge> [ddnet] > Context: Opus was specifically designed to avoid known existing patents, except for ones that are available royalty-free [1]. If Fraunhofer and Dolby believed Opus infringed on their patents they could have said so a decade ago, but instead they've waited for it to become widely deployed. 14:17 <+bridge> [ddnet] > 14:17 <+bridge> [ddnet] > This is also a peculiar choice from Dolby because the patents that do cover Opus are licensed with an exception for companies that sue saying they have patents covering Opus [2]. Dolby has at least one product that uses Opus [3] so if this pool goes ahead and sues someone then it looks like Dolby is open to being sued themselves. 14:17 <+bridge> [ddnet] > 14:18 <+bridge> [ddnet] > [1] https://www.opus-codec.org/license/ 14:18 <+bridge> [ddnet] > 14:18 <+bridge> [ddnet] > [2] "If you ... file a Claim for patent infringement against any entity alleging that an Implementation in whole or in part constitutes direct or contributory patent infringement ... then any patent rights granted to you under this License shall automatically terminate retroactively as of the date you first received the grant." 14:18 <+bridge> [ddnet] > 14:18 <+bridge> [ddnet] > [3] https://professional.dolby.com/product/dolby-voice/dolby-voi... 14:18 <+bridge> [ddnet] we use opus right 14:18 <+bridge> [ddnet] we do 14:19 <+bridge> [ddnet] > After so many years that idea should be laughed at at court. Patents are one thing but waiting for your "free" codec to gain usage across the world only then to reap the benefits should be called fraud. 14:19 <+bridge> [ddnet] shame 14:20 <+bridge> [ddnet] Who even made opus? 14:20 <+bridge> [ddnet] @Learath2 woah 14:20 <+bridge> [ddnet] https://cdn.discordapp.com/attachments/293493549758939136/1029730293646622771/unknown.png 14:20 <+bridge> [ddnet] that was faster 14:20 <+bridge> [ddnet] than i thought 14:21 <+bridge> [ddnet] Well I have 8 threads, takes me 45 minutes, you have 16, it is kinda reasonable 😄 14:22 <+bridge> [ddnet] Thanks Capitalism 👍 14:22 <+bridge> [ddnet] @Ryozuki como se dice "column" de un texto en español? 14:24 <+bridge> [ddnet] also, use edge and bing to search for "firefox", "There's no need to download a new web browser." 14:24 <+bridge> [ddnet] i have 12! 14:24 <+bridge> [ddnet] columna 14:25 <+bridge> [ddnet] and "de" is wrong, you would use "en" 14:25 <+bridge> [ddnet] "column" en un texto? 14:25 <+bridge> [ddnet] in the sentence above 14:25 <+bridge> [ddnet] what you mean exactly by column? 14:26 <+bridge> [ddnet] are you asking "how to say "column" in spanish?" 14:26 <+bridge> [ddnet] if so, it's "columna" 14:26 <+bridge> [ddnet] como en un periódico 14:27 <+bridge> [ddnet] @Learath2 idk if its a placebo effect, but firefox feels faster and snappier 14:27 <+bridge> [ddnet] for real 14:27 <+bridge> [ddnet] sí 14:30 <+bridge> [ddnet] eNglIsH OnLY 14:30 <+bridge> [ddnet] Let’s mod @ReiTW 14:30 <+bridge> [ddnet] (masked by: missing keyword) 14:30 <+bridge> [ddnet] do i add missing? 14:30 <+bridge> [ddnet] I'm sorry. translations were provided by ryozuki ^^ 14:31 <+bridge> [ddnet] oh ** is missing 14:31 <+bridge> [ddnet] https://wiki.gentoo.org/wiki/Knowledge_Base:Missing_keywords_and_keyword_requests 14:32 <+bridge> [ddnet] `**` just unmasks everything. You can unmask everything for all versions or for a specific version if you want 14:33 <+bridge> [ddnet] Imo you should leave the live ebuild masked like they suggest in the wiki 14:33 <+bridge> [ddnet] 9999 will get you the untested github master branch 14:34 <+bridge> [ddnet] by live ebuild 14:34 <+bridge> [ddnet] net-p2p/transmission** 14:34 <+bridge> [ddnet] like this? 14:34 <+bridge> [ddnet] Gentoo calls version 9999 as live ebuild 14:34 <+bridge> [ddnet] This unmasks all versions 14:35 <+bridge> [ddnet] im not using the live ebuild 14:35 <+bridge> [ddnet] im using the beta 4.0 14:35 <+bridge> [ddnet] ` [ddnet] oh pog 14:43 <+bridge> [ddnet] if i have DDEV=ON and RelWithDebInfo does it work? xd 14:43 <+bridge> [ddnet] yes 14:44 <+bridge> [ddnet] -DDEV=ON changes some things to make it nicer for frequent recompilation 14:44 <+bridge> [ddnet] without it, it's optimized for a packager 14:44 <+bridge> [ddnet] but it says ddev toggles debug 14:44 <+bridge> [ddnet] it doesn't override CMAKE_BUILD_TYPE if it is set 14:44 <+bridge> [ddnet] but if i speicfy RelWithDebInfo after 14:44 <+bridge> [ddnet] ah ok 14:46 <+bridge> [ddnet] when postgresql support 14:46 <+bridge> [ddnet] now i gotta install mariadb bloat 14:46 <+bridge> [ddnet] xd 14:46 <+bridge> [ddnet] you can also use sqlite ^^ 14:46 <+bridge> [ddnet] oh true 14:48 <+bridge> [ddnet] Lately I’ve been thinking these things might actually belong in a walled off container so they don’t dirty my system 14:49 <+bridge> [ddnet] I sadly haven’t had time to explore any of the light container solutions that aren’t a weird mix of proprietary and open source (looking at you docker). I think I might use something like podman in the future 14:53 <+bridge> [ddnet] it'd be better if these programs were easy to run without trying to tame their complexity using the operating system 14:54 <+bridge> [ddnet] everything ready 14:54 <+bridge> [ddnet] https://cdn.discordapp.com/attachments/293493549758939136/1029738770804772924/unknown.png 14:54 <+bridge> [ddnet] :BASED: 14:54 <+bridge> [ddnet] the first two lines look like they're the wrong way around 14:54 <+bridge> [ddnet] ah 14:54 <+bridge> [ddnet] hm 14:54 <+bridge> [ddnet] maybe not 14:54 <+bridge> [ddnet] xd 14:55 <+bridge> [ddnet] the first line looks unnecessary ^^ 14:55 <+bridge> [ddnet] maybe it doesnt exist 14:55 <+bridge> [ddnet] does cmake create it? 14:55 <+bridge> [ddnet] cmake will create it 14:55 <+bridge> [ddnet] oh 14:57 <+bridge> [ddnet] https://cdn.discordapp.com/attachments/293493549758939136/1029739513876058193/unknown.png 14:57 <+bridge> [ddnet] now its truly ready 14:57 <+bridge> [ddnet] may I continue nitpicking? 14:57 <+bridge> [ddnet] yes 14:57 <+bridge> [ddnet] xd 14:57 <+bridge> [ddnet] oh i forgot to enable mysql 14:58 <+bridge> [ddnet] `#!/usr/bin/env bash`, although if you only target gentoo, it's probably fine 14:58 <+bridge> [ddnet] what's the compile_commands.json thing doing? 14:58 <+bridge> [ddnet] IDE support? 14:58 <+bridge> [ddnet] i copied the shebang from integration_testing.sh 14:58 <+bridge> [ddnet] xd 14:58 <+bridge> [ddnet] ^^ 14:58 <+bridge> [ddnet] for the language server support 14:58 <+bridge> [ddnet] clangd in this case 14:58 <+bridge> [ddnet] ah 14:58 <+bridge> [ddnet] cmake automatically generates it? 14:58 <+bridge> [ddnet] with the option i give it yes 14:58 <+bridge> [ddnet] oh 14:58 <+bridge> [ddnet] didn't see ^^ 14:58 <+bridge> [ddnet] clangd reads it to know how its compiled 14:59 <+bridge> [ddnet] so it can give proper info 14:59 <+bridge> [ddnet] nice. I needed something like that before 15:01 <+bridge> [ddnet] why is it called run_tests 15:01 <+bridge> [ddnet] instead of test 15:01 <+bridge> [ddnet] ninja test 15:02 <+bridge> [ddnet] because test is reserved by cmake and can't be made compatible with what we do IIRC 15:02 <+bridge> [ddnet] ah 15:05 <+bridge> [ddnet] so 15:05 <+bridge> [ddnet] https://github.com/ddnet/ddnet/pull/5917 15:05 <+bridge> [ddnet] is this wanted or not 15:05 <+bridge> [ddnet] im confused there 15:06 <+bridge> [ddnet] I'm not entirely sure. @Learath2? 15:09 <+bridge> [ddnet] in principle, I like this extra information 15:09 <+bridge> [ddnet] ^^ 15:10 <+bridge> [ddnet] same 15:17 <+bridge> [ddnet] But what’d it be used for? Since we don’t have delta compression anywhere these extra bytes will be travelling around a lot 15:18 <+bridge> [ddnet] Sure our archive will compress just fine, but it does make each individual snapshot much bigger, especially if you start including 0.7 data aswell 15:19 <+bridge> [ddnet] E.g. is it negligible to json_parse the entire thing? We aren’t parsing the json lazily after all 15:20 <+bridge> [ddnet] @Learath2 how do u init ur ssh-agent? 15:21 <+bridge> [ddnet] I don’t use one. Back when I did, I started it in bashrc (it’s only ran interactively) 15:21 <+bridge> [ddnet] I also set it up to die every hour or when the laptop was locked 15:23 <+bridge> [ddnet] i found where 15:23 <+bridge> [ddnet] in xinitrc 15:23 <+bridge> [ddnet] exec ssh-agent i3 15:32 <+bridge> [ddnet] is it true that if i have for example `void x(char aBuf[512])` and do a `sizeof(aBuf)` it will return the size of char* instead? 15:32 <+bridge> [ddnet] well clang says so 15:33 <+bridge> [ddnet] i guess parameter arrays are downcasted to its pointer type regardless 15:34 <+bridge> [ddnet] https://cdn.discordapp.com/attachments/293493549758939136/1029748778753855530/unknown.png 15:35 <+bridge> [ddnet] It is true 15:38 <+bridge> [ddnet] https://cdn.discordapp.com/attachments/293493549758939136/1029749834598588497/unknown.png 15:38 <+bridge> [ddnet] embrace modernity 15:38 <+bridge> [ddnet] yes, C decided you can't pass arrays by value 15:38 <+bridge> [ddnet] it's a bit weird 15:39 <+bridge> [ddnet] we could use it to show the tees in the serverlist, although I agree it's only a "could" right now 15:44 <+bridge> [ddnet] @Learath2 to know if a skin is 0.6 or 0.7 should i check if part_names is empty? 15:50 <+bridge> [ddnet] <𝕵𝖔𝖊𝖑> It would be cool if you also add ping on server info 15:50 <+bridge> [ddnet] that's unfortunately impossible 15:50 <+bridge> [ddnet] the server can't know what ping it has to you 15:50 <+bridge> [ddnet] i think he means the ping players have 15:50 <+bridge> [ddnet] thats possible 15:51 <+bridge> [ddnet] ah 15:51 <+bridge> [ddnet] do you mean that? @𝕵𝖔𝖊𝖑 15:59 <+bridge> [ddnet] hmm 16:00 <+bridge> [ddnet] @heinrich5991 is there a easy way to test the master server registration/ info 16:00 <+bridge> [ddnet] without hosting a public one 16:00 <+bridge> [ddnet] you can create a local masterserver easily 16:00 <+bridge> [ddnet] cargo run suffices, IIRC 16:01 <+bridge> [ddnet] ok im running one 16:01 <+bridge> [ddnet] whats the port? 16:01 <+bridge> [ddnet] `sv_register_url http://localhost:8080/ddnet/15/register` `http_allow_insecure 1` 16:02 <+bridge> [ddnet] ``` 16:02 <+bridge> [ddnet] sv_register_url http://localhost:8080/ddnet/15/register 16:02 <+bridge> [ddnet] http_allow_insecure 1 16:02 <+bridge> [ddnet] ``` 16:02 <+bridge> [ddnet] and to list? 16:03 <+bridge> [ddnet] it leaves a servers.json in the current directory 16:04 <+bridge> [ddnet] cat servers.json 16:04 <+bridge> [ddnet] {"servers":[]} 16:04 <+bridge> [ddnet] hmm 16:05 <+bridge> [ddnet] it times out after like 15 seconds 16:05 <+bridge> [ddnet] ``` 16:05 <+bridge> [ddnet] ❯ cat autoexec_server.cfg 16:05 <+bridge> [ddnet] sv_register 1 16:05 <+bridge> [ddnet] sv_register_url http://localhost:8080/ddnet/15/register 16:05 <+bridge> [ddnet] http_allow_insecure 1 16:05 <+bridge> [ddnet] ``` 16:05 <+bridge> [ddnet] you can get some logging from the masterserver with `RUST_LOG=debug` 16:05 <+bridge> [ddnet] what does the server log output say? 16:05 <+bridge> [ddnet] registered successfully? 16:06 <+bridge> [ddnet] i see 2022-10-12 16:05:36 I console: executing 'autoexec_server.cfg' 16:06 <+bridge> [ddnet] but nothing about registering 16:06 <+bridge> [ddnet] where did you place the autoexec.cfg? 16:06 <+bridge> [ddnet] probably in the wrong directory 16:06 <+bridge> [ddnet] you can pass the arguments directly to DDNet-Server 16:06 <+bridge> [ddnet] ah it needs to be named myServerconfig.cfg 16:07 <+bridge> [ddnet] `./DDNet-Server "sv_register_url http://…"` 16:08 <+bridge> [ddnet] oh lol 16:08 <+bridge> [ddnet] i changed map and it segfaulted 16:08 <+bridge> [ddnet] ``` 16:08 <+bridge> [ddnet] 2022-10-12 16:07:54 I http: http://localhost:8080/ddnet/15/register failed. libcurl error (22): The requested URL returned error: 400 16:08 <+bridge> [ddnet] 2022-10-12 16:07:54 E register/6/ipv6: error response from master 16:08 <+bridge> [ddnet] 2022-10-12 16:07:55 I server: player has entered the game. ClientID=0 addr=<{192.168.0.163:52376}> sixup=0 16:08 <+bridge> [ddnet] 2022-10-12 16:07:55 I chat: *** 'Ryozuki' entered and joined the game 16:08 <+bridge> [ddnet] 2022-10-12 16:07:55 I ddnet: cid=0 version=16040 16:08 <+bridge> [ddnet] 2022-10-12 16:07:55 I sql: load player data done on read database 0 16:08 <+bridge> [ddnet] 2022-10-12 16:07:55 I http: http://localhost:8080/ddnet/15/register failed. libcurl error (22): The requested URL returned error: 400 16:08 <+bridge> [ddnet] 2022-10-12 16:07:55 E register/6/ipv4: error response from master 16:08 <+bridge> [ddnet] 2022-10-12 16:08:03 I chat: *** 'Ryozuki' called vote to change server option 'Map: Gold Mine' (No reason given) 16:08 <+bridge> [ddnet] 2022-10-12 16:08:03 I chat: *** Vote passed 16:08 <+bridge> [ddnet] 2022-10-12 16:08:03 I git-revision: b6fe955ed9eb6f2c 16:08 <+bridge> [ddnet] 2022-10-12 16:08:03 I sql: load best time done on read database 0 16:08 <+bridge> [ddnet] Segmentation fault 16:08 <+bridge> [ddnet] ``` 16:09 <+bridge> [ddnet] it spams this libcurl error tho 16:10 <+bridge> [ddnet] which libcurl error? 16:10 <+bridge> [ddnet] https://cdn.discordapp.com/attachments/293493549758939136/1029757876719337482/unknown.png 16:10 <+bridge> [ddnet] 400 bad requests 16:10 <+bridge> [ddnet] you could open wireshark to see what it's sending 16:10 <+bridge> [ddnet] unfortunately, the game server doesn't print out what the masterserver answers 16:10 <+bridge> [ddnet] ah 16:10 <+bridge> [ddnet] i guess im sending malformed json 16:11 <+bridge> [ddnet] You can run with dbg_curl 1 and log_level trace 16:11 <+bridge> [ddnet] i can just dbg_print the thing before sending it 16:11 <+bridge> [ddnet] xd 16:11 <+bridge> [ddnet] that doesn't give you request bodies though :/ 16:11 <+bridge> [ddnet] why not wireshark? ^^ 16:12 <+bridge> [ddnet] i dont have it installed yet 16:12 <+bridge> [ddnet] Huh, sure? I thought curl called the debug handler on request too 16:12 <+bridge> [ddnet] yes, but only for headers for request and resposne 16:13 <+bridge> [ddnet] xd 16:13 <+bridge> [ddnet] https://cdn.discordapp.com/attachments/293493549758939136/1029758717337554994/unknown.png 16:14 <+bridge> [ddnet] ah btw 16:14 <+bridge> [ddnet] just the serverinfo is already printed out with log_level debug 16:14 <+bridge> [ddnet] you should try that 😛 16:14 <+bridge> [ddnet] oh 16:14 <+bridge> [ddnet] or trace maybe 16:14 <+bridge> [ddnet] with debug it is 16:14 <+bridge> [ddnet] ah 16:15 <+bridge> [ddnet] `str_format(aBuf.begin(), aBuf.size(), something)` 16:15 <+bridge> [ddnet] this is how u do it when using a std::array right? 16:15 <+bridge> [ddnet] somehow i put garbage there 16:15 <+bridge> [ddnet] did you pass the array by value? 16:16 <+bridge> [ddnet] oh 16:16 <+bridge> [ddnet] i see 16:16 <+bridge> [ddnet] yep by reference works now 16:17 <+bridge> [ddnet] i see 16:17 <+bridge> [ddnet] broken json indeed 16:17 <+bridge> [ddnet] Do we even use std::arrays? What use are they even? 16:18 <+bridge> [ddnet] fixed size arrays 16:18 <+bridge> [ddnet] that dont downcast to pointers 16:18 <+bridge> [ddnet] idk modern cpp xd 16:18 <+bridge> [ddnet] https://cdn.discordapp.com/attachments/293493549758939136/1029759964694192178/unknown.png 16:18 <+bridge> [ddnet] wanted to do this 16:18 <+bridge> [ddnet] just do a `char *pBuf, int BufSize` like always ^^ 16:18 <+bridge> [ddnet] smh 16:18 <+bridge> [ddnet] why cant we be modern 16:19 <+bridge> [ddnet] and isnt size_t better 16:19 <+bridge> [ddnet] I’m old 16:19 <+bridge> [ddnet] what does "modern" actually give you there except being "modern"? 16:19 <+bridge> [ddnet] it gives me some safety 16:19 <+bridge> [ddnet] cuz i know the size 16:19 <+bridge> [ddnet] xd 16:19 <+bridge> [ddnet] and u cant miss passing a invalid size 16:19 <+bridge> [ddnet] size_t is better but teeworlds hates unsigned integers with a burning passion for some reason 16:20 <+bridge> [ddnet] how do I run custom cmake targets in MSVS? 16:20 <+bridge> [ddnet] cant std::array optimize better in some places 16:20 <+bridge> [ddnet] due to const stuff 16:20 <+bridge> [ddnet] it probably optimizes worse ^^ 16:21 <+bridge> [ddnet] what is the const stuff that could optimize better? 16:21 <+bridge> [ddnet] idk xD 16:21 <+bridge> [ddnet] since the array decays to a pointer 16:21 <+bridge> [ddnet] but a std::array always keeps the size info 16:21 <+bridge> [ddnet] maybe it can allow some optimizations 16:21 <+bridge> [ddnet] but you're passing it by-reference, too ^^ 16:21 <+bridge> [ddnet] in the best case it's exactly like passing the pointer to the array 16:22 <+bridge> [ddnet] in the worst case, it's worse because the class misses some optimizations that native arrays have 16:23 <+bridge> [ddnet] i think this depends 16:23 <+bridge> [ddnet] I doubt it ever performs worse than just a plain array 16:23 <+bridge> [ddnet] if we use iterators everywhere 16:24 <+bridge> [ddnet] we might avoid some range checks? 16:24 <+bridge> [ddnet] no 16:24 <+bridge> [ddnet] we don't do range checks 16:24 <+bridge> [ddnet] std::array might introduce some though ^^ 16:24 <+bridge> [ddnet] we do segfaults kek 16:24 <+bridge> [ddnet] There is only the range check, so you have to use .at to access 16:25 <+bridge> [ddnet] https://godbolt.org/z/hexjWTv8c 16:25 <+bridge> [ddnet] as predicted, same or worse, worse on MSVC++ 16:26 <+bridge> [ddnet] microsoft xd 16:27 <+bridge> [ddnet] @heinrich5991 isnt there a fold in c++? 16:27 <+bridge> [ddnet] idk 16:27 <+bridge> [ddnet] https://en.cppreference.com/w/cpp/language/fold 16:28 <+bridge> [ddnet] ugh 16:28 <+bridge> [ddnet] this shows how c++ can be so ugly 16:29 <+bridge> [ddnet] that's a language construct I didn't know 😮 16:31 <+bridge> [ddnet] Huh, doesn’t look that bad 16:31 <+bridge> [ddnet] how to use this 16:32 <+bridge> [ddnet] ```cpp 16:32 <+bridge> [ddnet] template 16:32 <+bridge> [ddnet] int sum(Args&&... args) 16:32 <+bridge> [ddnet] { 16:32 <+bridge> [ddnet] // return (args + ... + 1 * 2); // Error: operator with precedence below cast 16:32 <+bridge> [ddnet] return (args + ... + (1 * 2)); // OK 16:32 <+bridge> [ddnet] } 16:32 <+bridge> [ddnet] ``` 16:32 <+bridge> [ddnet] ?? 16:32 <+bridge> [ddnet] on rust i just use .fold from iter trait 16:32 <+bridge> [ddnet] here i gotta decipher a weird language 16:32 <+bridge> [ddnet] xd 16:32 <+bridge> [ddnet] that's a different thing 16:32 <+bridge> [ddnet] this is about compile-time folds 16:33 <+bridge> [ddnet] ah 16:33 <+bridge> [ddnet] Different sort of fold yeah 😄 16:34 <+bridge> [ddnet] `std::accumulate` is the one you are looking for I think 16:36 <+bridge> [ddnet] https://godbolt.org/z/x1cd7z1T8 16:37 <+bridge> [ddnet] looko 16:37 <+bridge> [ddnet] on gcc 16:37 <+bridge> [ddnet] it has 1 instruction less 16:37 <+bridge> [ddnet] lol 16:37 <+bridge> [ddnet] whathever setne al does 16:37 <+bridge> [ddnet] its just microsoft being bad 16:37 <+bridge> [ddnet] it sets the return value 16:38 <+bridge> [ddnet] oh 16:38 <+bridge> [ddnet] xd 16:38 <+bridge> [ddnet] it sets al to 1 if the result of the last addition wasn't 0 16:38 <+bridge> [ddnet] wait 16:38 <+bridge> [ddnet] is that a miscompilation? 16:38 <+bridge> [ddnet] 1 instruction less is not the best measure tbf. I wouldn’t be too surprised if all 3 performed very similarly on modern architectures given the insanely long pipelines 16:38 <+bridge> [ddnet] ah 16:38 <+bridge> [ddnet] it's bool sum 16:38 <+bridge> [ddnet] 😄 16:39 <+bridge> [ddnet] bool sum? 16:39 <+bridge> [ddnet] the second function returns a bool ^^ 16:39 <+bridge> [ddnet] > Sets the destination operand to 0 or 1 depending on the settings of the status flags (CF, SF, OF, ZF, and PF) in the EFLAGS register. The destination operand points to a byte register or a byte in memory. The condition code suffix (cc) indicates the condition being tested for. 16:39 <+bridge> [ddnet] > 16:39 <+bridge> [ddnet] > More information available in the context menu. 16:39 <+bridge> [ddnet] ah 16:39 <+bridge> [ddnet] now they identical 16:39 <+bridge> [ddnet] https://godbolt.org/z/xhz6191vK 16:40 <+bridge> [ddnet] kinda dope that std array is zero cost tho 16:40 <+bridge> [ddnet] it should be 16:40 <+bridge> [ddnet] unless u use msvc that is 16:40 <+bridge> [ddnet] but it isn't on msvc, unfortunately 16:44 <+bridge> [ddnet] xD 16:44 <+bridge> [ddnet] https://cdn.discordapp.com/attachments/293493549758939136/1029766440854765588/unknown.png 16:44 <+bridge> [ddnet] i was escaping the json 2 times 16:44 <+bridge> [ddnet] notepad was "updated" on windows 11? 16:45 <+bridge> [ddnet] @Learath2 know how? 16:45 <+bridge> [ddnet] how to* 16:45 <+bridge> [ddnet] Where are you checking this? 16:45 <+bridge> [ddnet] nowhere yet 16:45 <+bridge> [ddnet] i wanna check to avoid adding 0.7 where it isnt 16:45 <+bridge> [ddnet] rn i just add all 16:45 <+bridge> [ddnet] https://cdn.discordapp.com/attachments/293493549758939136/1029766857357541417/unknown.png 16:45 <+bridge> [ddnet] I don't want to start nitpicking the protocol before we decide to add it 😦 16:46 <+bridge> [ddnet] then we need to decide 16:46 <+bridge> [ddnet] I don’t think I store that info yet. Maybe just add a bool and set it if we receive a setskin 0.7 message? 16:46 <+bridge> [ddnet] oh okay 16:46 <+bridge> [ddnet] i never rly checked the 0.7 stuff 16:47 <+bridge> [ddnet] i think we should add it, the size is not a big difference, compresses well, it allows us to show more info on the web, client, etc, and possibly better statistics in the long run 16:47 <+bridge> [ddnet] e.g, calculate most popular skins, how long players are afk, colors, etc 16:47 <+bridge> [ddnet] Can we atleast check if our jank json library parses this in a sane amount of time? 16:48 <+bridge> [ddnet] we should use rapidjson 16:48 <+bridge> [ddnet] or 16:48 <+bridge> [ddnet] we could use serde 16:48 <+bridge> [ddnet] https://www.reddit.com/r/rust/comments/6albr0/serde_compared_to_the_fastest_c_json_library/ 16:48 <+bridge> [ddnet] ^^ that's kind of unrelated because we don't yet ^^ 16:48 <+bridge> [ddnet] serde is some kind of black magick 16:48 <+bridge> [ddnet] if we do add it, I think custom colors should be shown in hex, and only included when use_custom_color is true, use_custom_color can then be dropped 16:49 <+bridge> [ddnet] This might be an issue. I don’t think hex rgb is roundtrip safe to tw colors 16:49 <+bridge> [ddnet] We should make sure that’s the case 16:49 <+bridge> [ddnet] @heinrich5991 i think we should also use 0 or 1 instead of bool true or false 16:49 <+bridge> [ddnet] we can drop some bytes xd 16:50 <+bridge> [ddnet] that's actually probably eaten by compression 16:51 <+bridge> [ddnet] but you can remove it entirely and only use the presence of `custom_body` and `color_feet` to decide if it has custom colors 16:51 <+bridge> [ddnet] eh 😦 16:51 <+bridge> [ddnet] what format are ddnet colors in? 16:51 <+bridge> [ddnet] HSL? 16:52 <+bridge> [ddnet] I mean how could I make sure. I wasn’t allowed to break peoples old vanilla colors, so I have 4 bytes, one for h, one for s, one for l, one for a 16:52 <+bridge> [ddnet] One byte for h isn’t even enough for 360 degrees of hue 16:52 <+bridge> [ddnet] HSLA is also a sane format, but it probably comes with a quirk? 16:53 <+bridge> [ddnet] 1 byte per component in rgba spans a larger amount of the color space than 1 byte per component hsla 16:53 <+bridge> [ddnet] ah 16:55 <+bridge> [ddnet] @Learath2 what clang-analyzer u use 16:55 <+bridge> [ddnet] on arch there was a aur with all 16:55 <+bridge> [ddnet] clang format 16:55 <+bridge> [ddnet] * 16:57 <+bridge> [ddnet] There was one github repo with the statically linked builds of clang-format and stuff. I just fetched from there and put them in $HOME/.local/bin 16:57 <+bridge> [ddnet] My reasoning for just using that was that we always use an older version of clang-format. So I don’t really need to ever update it. And I’d rather not be fetching executables regularly from a git repo controlled by someone else 16:58 <+bridge> [ddnet] yeah 16:59 <+bridge> [ddnet] where is the repo tho 16:59 <+bridge> [ddnet] xd 16:59 <+bridge> [ddnet] we should have a github bot 16:59 <+bridge> [ddnet] u ask it to format ur code 16:59 <+bridge> [ddnet] https://aur.archlinux.org/cgit/aur.git/tree/PKGBUILD?h=clang-format-static-bin#n8 17:00 <+bridge> [ddnet] Yes, that’s the one I got it from 17:01 <+bridge> [ddnet] where do i put the binary 17:01 <+bridge> [ddnet] ah 17:01 <+bridge> [ddnet] .local bin 17:13 <+bridge> [ddnet] I'm stuck trying to get rust to link the tests on windows in the rust PR https://github.com/ddnet/ddnet/pull/5599 17:14 <+bridge> [ddnet] I can reproduce it locally, in a VM 17:14 <+bridge> [ddnet] I wanted to ask if someone knows what I could do to progress again 17:14 <+bridge> [ddnet] my own answer to that question is probably: try to find a minimal reproducing example 17:15 <+bridge> [ddnet] windows is not my comfortable environment, but I guess that's what one should always do 17:15 <+bridge> [ddnet] I mean I like it in local bin, some might prefer $HOME/bin. Others maybe /opt/bin even 17:16 <+bridge> [ddnet] i put it in usr local bin 17:18 <+bridge> [ddnet] That also works 17:19 <+bridge> [ddnet] I think very technically the correct place is opt bin since this is unbundled software, but who really cares about decades old unix conventions 17:20 <+bridge> [ddnet] https://cdn.discordapp.com/attachments/293493549758939136/1029775480913670184/unknown.png 17:20 <+bridge> [ddnet] ok now it shows either 0.6 or 0.7 17:20 <+bridge> [ddnet] /usr/local/bin is for the sysadmin adding their own software, I thought 17:20 <+bridge> [ddnet] /opt is for stuff not fitting in the fhs 17:20 <+bridge> [ddnet] im a sys admin :ez: 17:21 <+bridge> [ddnet] I guess just random binaries do fit the fhs 17:21 <+bridge> [ddnet] opt is where ppl put 17:21 <+bridge> [ddnet] gaming servers 17:21 <+bridge> [ddnet] or docker stuff 17:21 <+bridge> [ddnet] iirc 17:21 <+bridge> [ddnet] It’s for packages that don’t have split libraries and assets and stuff. Like a from zip installation of teeworlds/ddnet 17:22 <+bridge> [ddnet] Though we do support the fhs conforming way of installing things 17:30 <+bridge> [ddnet] great 17:30 <+bridge> [ddnet] steam overlay crashes factorio 17:30 <+bridge> [ddnet] or probs any game 17:37 <+bridge> [ddnet] works now 17:37 <+bridge> [ddnet] i installed random stuff 17:39 <+bridge> [ddnet] I have this feeling that steam also belongs in a container 17:47 <+bridge> [ddnet] <𝙺𝚞𝚛𝚘𝚜𝚒𝚘> Detail map from ddnet it's what? 17:47 <+bridge> [ddnet] some map authors mark some layers with the "detail" flag 17:48 <+bridge> [ddnet] those layers usually don't have significant meaning and just look good. they can be disabled with the "map details" flag in the settings 17:49 <+bridge> [ddnet] <𝙺𝚞𝚛𝚘𝚜𝚒𝚘> Thx 17:49 <+bridge> [ddnet] <𝙺𝚞𝚛𝚘𝚜𝚒𝚘> I'm doing Frankenstein from 0.7 to 0.6 to ddnet xD 17:49 <+bridge> [ddnet] you're doing what? ^^ 17:49 <+bridge> [ddnet] converting a map? writing a client? writing a server? 17:52 <+bridge> [ddnet] <𝙺𝚞𝚛𝚘𝚜𝚒𝚘> Server xD 17:52 <+bridge> [ddnet] <𝙺𝚞𝚛𝚘𝚜𝚒𝚘> Clean 0.7 ported to ddnet, with its features like protocolex and flags, everything else is a vanilla server 18:00 <+bridge> [ddnet] https://gitlab.com/wireshark/wireshark/-/issues/18457 18:02 <+bridge> [ddnet] gitlab has non-gigantic infoboxes 😮 18:04 <+bridge> [ddnet] Thanks gitlab, very cool 18:04 <+bridge> [ddnet] gitlab always have more stuff than github cuz github sucks 18:04 <+bridge> [ddnet] (joke but true, you always have to wait 10 years for a small feature) 18:08 <+bridge> [ddnet] cant agree generally 18:08 <+bridge> [ddnet] gitlab defs missing features github has 18:08 <+bridge> [ddnet] - better contributor stats 18:08 <+bridge> [ddnet] - the web editor already allows extensions 18:08 <+bridge> [ddnet] - "private" profiles 18:11 <+bridge> [ddnet] it doesnt matter 18:12 <+bridge> [ddnet] if u want ur software to get contributors 18:12 <+bridge> [ddnet] u gotta use github 18:12 <+bridge> [ddnet] end of story 18:12 <+bridge> [ddnet] unless u are the linux kernel 18:12 <+bridge> [ddnet] xDD 18:12 <+bridge> [ddnet] hmm, gitlab is also fine, probably 18:12 <+bridge> [ddnet] yeah gitlab is fine for sure 18:12 <+bridge> [ddnet] but it has a smaller community, so its maybe harder for less known projects 18:13 <+bridge> [ddnet] freedesktop also hosts it own gitlab 18:13 <+bridge> [ddnet] 18:13 <+bridge> [ddnet] in fact i have an account there and not on gitlab xD 18:13 <+bridge> [ddnet] private profiles? wdym 18:13 <+bridge> [ddnet] i woudl use sourcehut instead of gitlab 18:13 <+bridge> [ddnet] so u can look more edgy 18:13 <+bridge> [ddnet] profiles that basically show no information 18:13 <+bridge> [ddnet] well you can manage your information on gitlab 18:14 <+bridge> [ddnet] everyone comes across this one project that still chills there some day xD 18:14 <+bridge> [ddnet] @Ryozuki how long did firefox compile? 18:14 <+bridge> [ddnet] 29 mins 18:14 <+bridge> [ddnet] ah ok 18:15 <+bridge> [ddnet] less than i expected 18:15 <+bridge> [ddnet] 19 mins 18:15 <+bridge> [ddnet] * 18:15 <+bridge> [ddnet] https://cdn.discordapp.com/attachments/293493549758939136/1029789392614739989/unknown.png 18:15 <+bridge> [ddnet] 18:15 <+bridge> [ddnet] apparently im leaking 18:16 <+bridge> [ddnet] typical c++ dev smh 18:16 <+bridge> [ddnet] nice, do u have more stats like these? 18:16 <+bridge> [ddnet] ^ btw idk if u saw my message 18:16 <+bridge> [ddnet] llvm, gcc 18:16 <+bridge> [ddnet] oh its ub 18:16 <+bridge> [ddnet] "UMMARY: UndefinedBehaviorSanitizer: undefined-behavior" 18:16 <+bridge> [ddnet] can u send? 18:16 <+bridge> [ddnet] or is it in the DB? 18:17 <+bridge> [ddnet] its in db 18:17 <+bridge> [ddnet] i didnt make the skin but its what i always use 18:17 <+bridge> [ddnet] for me it works 18:18 <+bridge> [ddnet] did the download maybe fail bcs of a ddos 18:18 <+bridge> [ddnet] just restart the client 18:18 <+bridge> [ddnet] or reload skins 18:18 <+bridge> [ddnet] Did you maybe change your skin download url? Or is this a community skin? You could have unmarked community 18:19 <+bridge> [ddnet] its normal 18:19 <+bridge> [ddnet] its official db skin 18:19 <+bridge> [ddnet] can u click reload and show f1? 18:19 <+bridge> [ddnet] this problem also occured one time after an update before and you fixed it 18:19 <+bridge> [ddnet] but that was a different issue 18:21 <+bridge> [ddnet] i dunno, tried all configs 18:21 <+bridge> [ddnet] https://cdn.discordapp.com/attachments/293493549758939136/1029790905525346345/unknown.png 18:21 <+bridge> [ddnet] always works 18:21 <+bridge> [ddnet] just look if f1 shows smth 18:22 <+bridge> [ddnet] weird 18:22 <+bridge> [ddnet] when i check "download community skins" the skin appears again 18:23 <+bridge> [ddnet] but i had it unchecked for a long time now and i could always see my skin 18:24 <+bridge> [ddnet] i'd say thats more weird xD 18:24 <+bridge> [ddnet] and why does "MummyFoxy" work without "download community skins" even tho its from the same creator and same skin pack 18:24 <+bridge> [ddnet] maybe it was moved to normal 18:24 <+bridge> [ddnet] bcs the website says its normal 18:24 <+bridge> [ddnet] https://ddnet.org/skins/index.php?search=MummyFoxy 18:25 <+bridge> [ddnet] https://cdn.discordapp.com/attachments/293493549758939136/1029791885620944946/unknown.png 18:25 <+bridge> [ddnet] out of all these 3 i can only see mummyfoxy without community skins 18:25 <+bridge> [ddnet] and with community skins, "Mummy" is missing 18:25 <+bridge> [ddnet] i think thats not normal 18:26 <+bridge> [ddnet] can u show f1 18:26 <+bridge> [ddnet] what u wanna see there? 18:26 <+bridge> [ddnet] its alot 18:26 <+bridge> [ddnet] i dunno some curl logs 18:28 <+bridge> [ddnet] @Lukamane btw if we talk about latest client, do you mean nightly or normal release? 18:29 <+bridge> [ddnet] https://cdn.discordapp.com/attachments/293493549758939136/1029792820787154994/unknown.png 18:29 <+bridge> [ddnet] nightly 18:29 <+bridge> [ddnet] Nah, it will be cool feature. Top players, who already did all maps will have new goal, and it would be actually cool to play such maps. Like for me-all maps are easy, and boring, imagine moderate maps BRUH 18:29 <+bridge> [ddnet] But moderate map without tp is hard for me and I would enjoy it 18:29 <+bridge> [ddnet] im looking for something in the console myself and i dont see anything that indicates that something is wrong with skin loading 18:30 <+bridge> [ddnet] except forthe sRGB profile warnings 18:30 <+bridge> [ddnet] mh and reloading still doesnt fix it? 18:30 <+bridge> [ddnet] reloading? 18:30 <+bridge> [ddnet] in tee settings bottom right 18:30 <+bridge> [ddnet] is a reload button 18:31 <+bridge> [ddnet] https://cdn.discordapp.com/attachments/293493549758939136/1029793366952656936/unknown.png 18:31 <+bridge> [ddnet] doesnt work 18:31 <+bridge> [ddnet] but i really think one of ur recent nightly updates did something 18:31 <+bridge> [ddnet] because i didnt change anything 18:31 <+bridge> [ddnet] ok, then i guess its a bug, i'll look 18:32 <+bridge> [ddnet] maybe a recent change did it 18:38 <+bridge> [ddnet] @Lukamane seeing your entire log might help, otherwise idk, doesn’t make much sense that the community button helps at all 18:38 <+bridge> [ddnet] @Not Keks have a rich sister, she buys the 4090 because she can, i get a 3080 ti for free, ???, profit 18:38 <+bridge> [ddnet] ill benchmark ddnet soon 18:39 <+bridge> [ddnet] :BASED: 18:40 <+bridge> [ddnet] i can imagine it came with favorite skins 18:40 <+bridge> [ddnet] tho its weird that it doesnt load these skins then, bcs its more of an UI change 18:40 <+bridge> [ddnet] a friend also bought 18:40 <+bridge> [ddnet] so i'll see in 1-2 days anyway 18:40 <+bridge> [ddnet] poggers 18:41 <+bridge> [ddnet] but windows nobo 18:41 <+bridge> [ddnet] oof 18:41 <+bridge> [ddnet] so it wont beat my record 18:41 <+bridge> [ddnet] ill have to install nvidia driverrs tho 18:41 <+bridge> [ddnet] im so used to comfy amd 18:41 <+bridge> [ddnet] Take linux on a usb to his house 18:41 <+bridge> [ddnet] ez 18:41 <+bridge> [ddnet] does linux have good open source nvidia drivers? 18:41 <+bridge> [ddnet] Ofc not 18:42 <+bridge> [ddnet] Nouveau only works decently on ancient cards 18:44 <+bridge> [ddnet] is there any other info we can add on the mastersrv thing 18:45 <+bridge> [ddnet] now that i have it at hand 18:45 <+bridge> [ddnet] tell tell 18:45 <+bridge> [ddnet] this is rn 18:45 <+bridge> [ddnet] https://cdn.discordapp.com/attachments/293493549758939136/1029796898997030994/unknown.png 18:45 <+bridge> [ddnet] (new stuff is after is_player) 18:46 <+bridge> [ddnet] why does the macos build take ages 18:46 <+bridge> [ddnet] smh apple 18:46 <+bridge> [ddnet] player ping? 18:48 <+bridge> [ddnet] Ping might not be the best idea, it could enable some sort of fingerprinting or sth 18:48 <+bridge> [ddnet] hmm 18:49 <+bridge> [ddnet] i dont think u can do much more than now tho 18:49 <+bridge> [ddnet] It also doesnt play great with serverinfo caching, no? 18:50 <+bridge> [ddnet] probs 18:51 <+bridge> [ddnet] Is it maybe planned to show team colors or an indicator in the info tab 18:52 <+bridge> [ddnet] Like when you press tab in game it groups players in the same team and shows colors 18:58 <+bridge> [ddnet] it could be possible 18:59 <+bridge> [ddnet] with this info added 19:08 <+bridge> [ddnet] Would be great cause then I wouldn't be joining a server if it's all people in a team 19:08 <+bridge> [ddnet] Or afk people 19:09 <+bridge> [ddnet] @Alexander_ we could even render their tee with skins 19:09 <+bridge> [ddnet] in the list 19:09 <+bridge> [ddnet] and if they are afk put the afk animation state 19:09 <+bridge> [ddnet] I just thought about that lmao 19:09 <+bridge> [ddnet] Would look epic 19:10 <+bridge> [ddnet] Would it be a problem if its a server with 128 people and a lot had like 8k skins 19:11 <+bridge> [ddnet] 1. never use such skins 19:11 <+bridge> [ddnet] 2. they are client side 19:11 <+bridge> [ddnet] depends on ur computer xd 19:11 <+bridge> [ddnet] @Ryozuki can you remove the `use_custom_color` field? it's kinda redundant 19:12 <+bridge> [ddnet] true 19:13 <+bridge> [ddnet] I mean I'm just asking cause people use skins.tw and they have high res skins 19:13 <+bridge> [ddnet] @heinrich5991 on 0.7 too? 19:13 <+bridge> [ddnet] "\"use_custom_colors\":[%s,%s,%s,%s,%s,%s]," 19:14 <+bridge> [ddnet] I haven't looked at 0.7 yet, perhaps we can find good names there, too 19:14 <+bridge> [ddnet] does 0.7 have an official json format? 19:15 <+bridge> [ddnet] idk 19:15 <+bridge> [ddnet] im using names from teeinfo.h 19:32 <+bridge> [ddnet] @Not Keks my fps 19:32 <+bridge> [ddnet] https://cdn.discordapp.com/attachments/293493549758939136/1029808869293162557/unknown.png 19:32 <+bridge> [ddnet] @Kallemy kek 19:33 <+bridge> [ddnet] kernel with native march etc 19:33 <+bridge> [ddnet] on vulkan 19:33 <+bridge> [ddnet] server on 33/63 19:33 <+bridge> [ddnet] 53fps? :YEP: 19:33 <+bridge> [ddnet] thats the ping xd 19:34 <+bridge> [ddnet] oh 19:34 <+bridge> [ddnet] 11k is quite high 19:34 <+bridge> [ddnet] best is that i get 9k fps with details 19:34 <+bridge> [ddnet] 11k with entities 19:35 <+bridge> [ddnet] my fps do not chagne when changing 19:35 <+bridge> [ddnet] set 19:35 <+bridge> [ddnet] cl_refresh_rate 0 19:35 <+bridge> [ddnet] and 19:35 <+bridge> [ddnet] gfx_refresh_rate 0 19:35 <+bridge> [ddnet] still 19:35 <+bridge> [ddnet] bad pc i guess 19:35 <+bridge> [ddnet] cl_showfps 1 19:35 <+bridge> [ddnet] wtf 19:36 <+bridge> [ddnet] nais 19:36 <+bridge> [ddnet] before i got 4k iirc 19:36 <+bridge> [ddnet] with wayland u'd beat me xd 19:36 <+bridge> [ddnet] xd 19:36 <+bridge> [ddnet] wdym bad pc? it's better when it doesnt change when im switching to entities and back 19:36 <+bridge> [ddnet] how many fps u have 19:36 <+bridge> [ddnet] its chilling at 1.7k always 19:36 <+bridge> [ddnet] its normal for it to change xd 19:36 <+bridge> [ddnet] entities use less resources 19:36 <+bridge> [ddnet] so if its uncapped it goes higher 19:36 <+bridge> [ddnet] to 11k for example 19:37 <+bridge> [ddnet] oh okay it's at 1.6-1.7k with design and at 1.8k-1.9k without 19:37 <+bridge> [ddnet] :Wowee: 19:37 <+bridge> [ddnet] makes sense 19:37 <+bridge> [ddnet] this is the power of linux 19:38 <+bridge> [ddnet] :BASED: 19:38 <+bridge> [ddnet] chillin at 11k fps 19:38 <+bridge> [ddnet] with vulcan im at 2.5k 19:39 <+bridge> [ddnet] the game looks way better 19:41 <+bridge> [ddnet] why u didnt use vulkan? 19:41 <+bridge> [ddnet] im at vulkan too ofc 19:41 <+bridge> [ddnet] the modern renderer 19:41 <+bridge> [ddnet] made by the gigachad jupstar 19:41 <+bridge> [ddnet] idk, i thought its for something special 19:41 <+bridge> [ddnet] no lol 19:41 <+bridge> [ddnet] Im playing with fps locked to 120, more smooth for me :troll: 19:41 <+bridge> [ddnet] unlike opengl its not decades outdated 19:41 <+bridge> [ddnet] if u have a gpu from after 2014 19:41 <+bridge> [ddnet] use vulkan 19:41 <+bridge> [ddnet] more or less 19:43 <+bridge> [ddnet] @Lukamane can u test https://github.com/ddnet/ddnet/actions/runs/3236734042 if its finished building (around 25min) 19:44 <+bridge> [ddnet] a map makes the most sense for skins 19:44 <+bridge> [ddnet] why was this not made before kek 19:45 <+bridge> [ddnet] although unordered_map is slow 19:45 <+bridge> [ddnet] cuz c++ std sucks 19:45 <+bridge> [ddnet] but its probs faster 19:45 <+bridge> [ddnet] than vec 19:45 <+bridge> [ddnet] for this 19:46 <+bridge> [ddnet] boost is 6x~~ faster iirc 19:48 <+bridge> [ddnet] https://cdn.discordapp.com/attachments/293493549758939136/1029812870562713630/unknown.png 19:50 <+bridge> [ddnet] https://github.com/sparsehash/sparsehash 19:50 <+bridge> [ddnet] yes but good enough 19:50 <+bridge> [ddnet] ye xd 19:50 <+bridge> [ddnet] but probs should use string view, dunno if unordered map auto supports it in .find( 19:50 <+bridge> [ddnet] 19:50 <+bridge> [ddnet] look into it later 20:09 <+bridge> [ddnet] https://www.youtube.com/watch?v=fBsoR64QPJk 20:10 <+bridge> [ddnet] a 30th IDE 20:12 <+bridge> [ddnet] I mean the coding with other ppl sounds *sort of* fun 20:13 <+bridge> [ddnet] hmm 20:14 <+bridge> [ddnet] pair coding 20:14 <+bridge> [ddnet] never did it 20:14 <+bridge> [ddnet] yet so many companies advertize it 20:14 <+bridge> [ddnet] i just can see myself there being silent for 30 mins while thinking 20:15 <+bridge> [ddnet] https://crates.io/crates/islam lmao some funny libs 20:16 <+bridge> [ddnet] lmao 20:26 <+bridge> [ddnet] https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2018/p0919r2.html 20:26 <+bridge> [ddnet] not in c++20 20:26 <+bridge> [ddnet] rip 20:27 <+bridge> [ddnet] https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2018/p0919r2.html 20:27 <+bridge> [ddnet] not in c++17 20:52 <+bridge> [ddnet] i wanna find easy issues to fix 20:52 <+bridge> [ddnet] but idk 21:26 <+bridge> [ddnet] https://cdn.discordapp.com/attachments/293493549758939136/1029837431207362692/unknown.png 21:26 <+bridge> [ddnet] https://cdn.discordapp.com/attachments/293493549758939136/1029837507782782986/unknown.png 21:27 <+bridge> [ddnet] xd 21:35 <+bridge> [ddnet] @Learath2 know why discord wont open links? 21:35 <+bridge> [ddnet] it works on my terminal hmm 21:41 <+bridge> [ddnet] mhhhhhhhh 21:41 <+bridge> [ddnet] 21:41 <+bridge> [ddnet] how can i force a std::string to be a heap object so that c_str is 100% safe to use in specific scenarios 21:41 <+bridge> [ddnet] @Learath2 u know such stuff 21:41 <+bridge> [ddnet] Yes, you probably don't start a dbus session properly 21:41 <+bridge> [ddnet] xd 21:42 <+bridge> [ddnet] Pass an allocator? 21:42 <+bridge> [ddnet] mh ok 21:43 <+bridge> [ddnet] @Not Keks .c_str() is always safe to use 21:43 <+bridge> [ddnet] i mean as a heap object 21:43 <+bridge> [ddnet] okay, maybe I misunderstand 21:43 <+bridge> [ddnet] idk what im doing wrong tho 21:43 <+bridge> [ddnet] what kind of "as a heap object" do you need to use? 21:43 <+bridge> [ddnet] its kinda annoying, i currently want to rewrite it a bit to use string_view, but the string object has to retain lifetime 21:43 <+bridge> [ddnet] what part of "as a heap object" do you need to use? 21:43 <+bridge> [ddnet] shouldnt the default dbus config work 21:44 <+bridge> [ddnet] since only c++20 seems to allow string_views for unoredered_map.find 21:44 <+bridge> [ddnet] (for char arrays) 21:44 <+bridge> [ddnet] but maybe all skin strings are small enough anyway 21:44 <+bridge> [ddnet] that sounds like an optimization that is likely to break 21:44 <+bridge> [ddnet] You should be starting your i3 with dbus, something along the lines of `dbus-launch --exit-with-session i3` 21:45 <+bridge> [ddnet] i just fear micro heap allocations for every .find we call 21:45 <+bridge> [ddnet] oh 21:45 <+bridge> [ddnet] that would introduce heap allocations in our loop 21:45 <+bridge> [ddnet] you need to have a std::string to look up a std::unordered_map? 21:45 <+bridge> [ddnet] If you did it right your terminal environment should have the variable `DBUS_SESSION_BUS_ADDRESS` set properly 21:45 <+bridge> [ddnet] need to learn some more C++ apparently 21:45 <+bridge> [ddnet] not in c++20 21:45 <+bridge> [ddnet] ah ^^ 21:45 <+bridge> [ddnet] but in c++17 yes 21:46 <+bridge> [ddnet] eh 21:46 <+bridge> [ddnet] nothing shows up oof 21:46 <+bridge> [ddnet] i added dbus to default now 21:46 <+bridge> [ddnet] on openrc 21:46 <+bridge> [ddnet] Not enough 21:47 <+bridge> [ddnet] sudo /etc/init.d/dbus start 21:47 <+bridge> [ddnet] * WARNING: dbus has already been started 21:47 <+bridge> [ddnet] That'll launch the system bus, your issue is that your environment isn't set properly 21:47 <+bridge> [ddnet] ah 21:47 <+bridge> [ddnet] do i need smth in xinitrc 21:47 <+bridge> [ddnet] Yes 21:47 <+bridge> [ddnet] Launch i3 with `dbus-launch --exit-with-session` 21:47 <+bridge> [ddnet] check `man dbus-launch` I don't know if I remember the argument correctly 21:48 <+bridge> [ddnet] exec dbus-launch --exit-with-session ssh-agent i3 21:48 <+bridge> [ddnet] will this work? xd 21:49 <+bridge> [ddnet] Don't need the exec 21:49 <+bridge> [ddnet] Don't know about the ssh-agent, I guess it should be fine 21:49 <+bridge> [ddnet] u sure i dont need exec 21:49 <+bridge> [ddnet] they always put it on xinitrc 21:50 <+bridge> [ddnet] exec dbus-launch --exit-with-session -- ssh-agent i3 21:50 <+bridge> [ddnet] 90% sure 21:50 <+bridge> [ddnet] maybe this is better 21:51 <+bridge> [ddnet] c++17 allocator are so verbose, they require more implmentation xD 21:51 <+bridge> [ddnet] https://en.cppreference.com/w/cpp/memory/allocator 21:51 <+bridge> [ddnet] and in c++20 they remove everything 21:52 <+bridge> [ddnet] maybe i'll just use an heap object for now for the whole skin 21:54 <+bridge> [ddnet] @Learath2 works now 21:55 <+bridge> [ddnet] tricky thing to work out 😮 22:17 <+bridge> [ddnet] well, I'm taking a break with Godot and start learning game maker studio 2, anybody who has experience on it can tell me how much do you need to learn the interface? 22:32 <+bridge> [ddnet] @Not Keks so what were you trying to do? sorry I was in a game, didn't really follow 22:33 <+bridge> [ddnet] i was trying to use a heap string so i can abuse it for string_views without it going out of scope bcs of a stack dealloc 22:33 <+bridge> [ddnet] c++20 makes it easier 22:33 <+bridge> [ddnet] allocators too much work 22:33 <+bridge> [ddnet] The memory for a string is always in heap though, except in the case of SSO 22:33 <+bridge> [ddnet] just went with heap skins now 22:33 <+bridge> [ddnet] yes, skin names are small and 64bit points are huge 22:34 <+bridge> [ddnet] yes, skin names are small and 64bit pointers are huge 22:35 <+bridge> [ddnet] in the end it doesnt matter lot anyway 22:35 <+bridge> [ddnet] in worst case it allocs a string 22:35 <+bridge> [ddnet] now it allocs a skin always 22:36 <+bridge> [ddnet] What are you doing with a string_view anyway? 22:37 <+bridge> [ddnet] i use it as key for the hash map 22:37 <+bridge> [ddnet] but if i use string, in c++17 it could cause micro allocs 22:37 <+bridge> [ddnet] Ah, I understand the issue 22:37 <+bridge> [ddnet] bcs this missing 22:38 <+bridge> [ddnet] and the issue with c_str() is that the string might not be in the heap 22:38 <+bridge> [ddnet] yes 22:39 <+bridge> [ddnet] Where is the std::string stored anyway? Don't skins have their name in the skin class? 22:40 <+bridge> [ddnet] yes, but i changed the name to string 22:40 <+bridge> [ddnet] 22:40 <+bridge> [ddnet] as said in the end wont matter too much 22:40 <+bridge> [ddnet] a string would be bit more space efficient 22:40 <+bridge> [ddnet] actually not even true probs 22:40 <+bridge> [ddnet] since it now basically allocates a CSkin pointer 22:41 <+bridge> [ddnet] the CSkin is allocated anyway in maps 22:41 <+bridge> [ddnet] so its all fine xd 22:41 <+bridge> [ddnet] 👍 was just curious 22:42 <+bridge> [ddnet] yeah funny problems 22:42 <+bridge> [ddnet] :justatest: thx 22:42 <+bridge> [ddnet] the "real" solution is to have the storage the CSkin object inside the map will be located 22:42 <+bridge> [ddnet] so i can save one allocation total 😄 22:43 <+bridge> [ddnet] somehow u can probably do that, custom allocators and shit, but too lazy for that xDD