00:13 < bridge> const auto [a, b] : {{1, "2"}, {3, "4"} 00:13 < bridge> const auto [a, b] : {{1, "2"}, {3, "4"}} 00:13 < bridge> might work idk 00:13 < bridge> xd 01:08 < bridge> new contributor? 01:08 < bridge> owo 01:09 < bridge> roby's alter ego 01:10 < bridge> oh wait really 01:10 < bridge> it is xddd 01:10 < bridge> dobrykafe! 01:10 < bridge> wait it might be 01:11 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1414750125078741062/image.png?ex=68c0b43a&is=68bf62ba&hm=29d8f99afd4deab6c8ac86c213b7d84273f870462c6d5bc757fa5c95d809b9e3& 01:12 < bridge> i heard roby did actually do shenangns getting 2 write access accounts to self approve prs 01:13 < bridge> https://github.com/ddnet/ddnet/commits?author=dobrykafe 01:13 < bridge> 01:14 < bridge> only contributes to ddnet, has write perms 01:14 < bridge> i wouldnt know tho 01:15 < bridge> @bencie. you follow them 01:15 < bridge> who is this mysterious person 01:18 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1414751768289742918/4wu9X67.png?ex=68c0b5c2&is=68bf6442&hm=d60c95380cb9bc95e160b6d70029be7663cb45ee6d5f1ae5199ab1702daf0995& 01:18 < bridge> "new contributor" ? 01:18 < bridge> [HUH](https://cdn.discordapp.com/emojis/1178720004980605089.gif?size=48&animated=true&name=HUH) 01:18 < bridge> anyways idk if they care about their ingame identity being known so ill just dm them and they can decide 01:21 < bridge> well i havetn sen them before 01:21 < bridge> obviously not 01:22 < bridge> i feel like every time i saw doby i though oh thats robeey 01:23 < bridge> doby did vote cancelling 01:23 < bridge> :deen_star: 01:24 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1414753318659686611/image.png?ex=68c0b734&is=68bf65b4&hm=a04f4ce7eb8e7652c049cd80fc966d33c26579acc08e1af667d2222cc60c21c9& 01:24 < bridge> cellgen has write access? 01:25 < bridge> https://github.com/Cellegen 01:25 < bridge> but no repos 01:25 < bridge> or contributions 01:25 < bridge> [confused~1](https://cdn.discordapp.com/emojis/1193969417122480138.gif?size=48&animated=true&name=confused%7E1) 01:26 < bridge> hello! 01:28 < bridge> where are u seeing who has write access 01:32 < bridge> they have commits without pr 01:32 < bridge> what are these files, they dont exist? 01:32 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1414755292159283351/image.png?ex=68c0b90a&is=68bf678a&hm=10fda48c27a758a7e4c9888c1fe55aeedddbbea1befc31fc3c66fab7f4cdd1e2& 01:33 < bridge> they have commits without pr 01:33 < bridge> 01:33 < bridge> they have commits without pr 01:33 < bridge> 01:33 < bridge> and generally who is making merge pr commits 01:39 < bridge> looks like no 01:39 < bridge> theyre in teeworlds 0.7 repo tho 01:39 < bridge> what happens do these images anyway? 01:40 < bridge> i think those commits have prs, u can click on the pr link from the commit 01:40 < bridge> unused in ddnet i guess 01:41 < bridge> thats why no errors when they dont exist 01:41 < bridge> you sure can 01:41 < bridge> my bad didnt see that 01:41 < bridge> and the screenshot i screenshotted may of been just for raw commits rather than merge commits 01:41 < bridge> well missing assets dont error 01:42 < bridge> i am making it error on tclient as a check for not copying the correct data directory 01:42 < bridge> some of the teeworlds assets are nice tho 01:42 < bridge> and i noticed it 01:42 < bridge> i heard a new ninja sound in 0.7 01:42 < bridge> i heard a new ninja sound in ddnet-rs 01:42 < bridge> what assets do u like in 0.7? 01:43 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1414758009103454289/level.png?ex=68c0bb92&is=68bf6a12&hm=c15c700ad7a6f7ee909ef4cdc5df62d16e83dc66b7585e44902b9be753cc58de& 01:43 < bridge> those are the difficulties 01:43 < bridge> theres not much point in backporting them 01:43 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1414758105954390107/sidebar.png?ex=68c0bba9&is=68bf6a29&hm=1c9dd3ded272942e40018e8dfb388e51b97a399153f59e663389c8aa176d8e7c& 01:43 < bridge> the tee with + is nice 01:43 < bridge> i do agree 01:43 < bridge> i think we have i and reload and serverlist icons from the font 01:44 < bridge> what if we use the tee with + in hud to indicate in hud that you have tunes 01:44 < bridge> what if we use the tee with + in hud to indicate that you have tunes 01:44 < bridge> 🧠 01:45 < bridge> tune lock wont be so confusing 01:46 < bridge> i am confused by what u mean 01:46 < bridge> so that didnt work 01:46 < bridge> i think most people dont know what a tune lock is 01:47 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1414759020241223842/image.png?ex=68c0bc83&is=68bf6b03&hm=e6ea9b392ff832eb2947fddf34d9b693ce33e6eafce0f3ee3b5e6d9578f77d49& 01:47 < bridge> here, so if you have custom tunes on you it shows extra icons 01:47 < bridge> here, so if you have custom tunes on you it shows extra icon 01:47 < bridge> i think having icons for each tune would be better 01:47 < bridge> which can use tees 01:48 < bridge> and have them like status effects, you can open chat and hover over them 01:48 < bridge> theres too many of them 01:48 < bridge> you arent 'posed to have all of em at once 01:49 < bridge> and you can always ... them, they werent being showed anyways 01:50 < bridge> ```cpp 01:50 < bridge> #include 01:50 < bridge> #include 01:50 < bridge> ``` 01:50 < bridge> 01:50 < bridge> these 2 includes r gone now 01:53 < bridge> too confusing for hud 01:53 < bridge> im sure you can make a convincing icon for all of the tunes 01:53 < bridge> like jupiter/moon gravity 01:54 < bridge> or some fancy shoes or a snail shell 01:54 < bridge> theres like 30 tunes rn, and you can have different combinations 01:54 < bridge> where do you fit all these icons 01:54 < bridge> you dont have all the icons active at once 01:54 < bridge> and if you do you hide them behind ... 01:54 < bridge> :nouis: 01:54 < bridge> :) 01:55 < bridge> someone would have to make all these icons 01:55 < bridge> it doesnt really matter how well they instantly potray the information as people iwll learn about them 01:55 < bridge> they just gotta be unique enough to not be confused for eachother 01:55 < bridge> and memorable 01:56 < bridge> its btter than "turn of entities" or server msgs in a single langugae or sometimes icons in the map itself 01:57 < bridge> some maps dont want u to know what tunes you have 01:57 < bridge> like oco 01:57 < bridge> why would u want to hide tunes? 01:57 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1414761719112269824/image.png?ex=68c0bf06&is=68bf6d86&hm=54750ba5d08a978024a16fec21d9cb7ddb4b1ec446b4cb65598330b239aee92c& 01:58 < bridge> troll map? 01:58 < bridge> also may be annoying for mods, but infclass the example of all time isnt too bad 02:03 < bridge> thanks for the idea 02:19 < bridge> ```cpp 02:19 < bridge> #include 02:19 < bridge> #include 02:20 < bridge> ``` 02:20 < bridge> 02:20 < bridge> these 2 includes r gone now 02:20 < bridge> 02:20 < bridge> edit: no they are now just generated/ 02:20 < bridge> https://tenor.com/view/and-its-all-thanks-to-you-cloud-guy-trolls-the-beat-goes-on-trolls-thank-you-gif-17494140 02:21 < bridge> the "giving evil genuis an evil idea accidentally" tenor pickings are slime 02:21 < bridge> https://tenor.com/view/qyu-qyuwi-qyuwiai-vtuber-meme-gif-15687444194120212113 02:23 < bridge> LOL 02:24 < bridge> the "giving evil genuis an evil idea accidentally" tenor pickings are slim 02:24 < bridge> i was more hoping for like 02:24 < bridge> dr doof 05:12 < bridge> > Always the question how it looks like if you have 4:3 screen or smth. 05:12 < bridge> There we go 05:12 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1414810675427151934/image.png?ex=68c0ec9e&is=68bf9b1e&hm=9c812d24996b8c4bc9285ac2caf0831f4ce7361fb471eb895474793da47ce2d3& 05:13 < bridge> These will open dropdowns that contain these stuff 05:13 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1414810872441868308/image.png?ex=68c0eccd&is=68bf9b4d&hm=36c46e2dff6c41b9a0ee6e09a5411d72c476c7806c3bb4e5bc4f9598c62ef94e& 05:13 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1414810872798515281/image.png?ex=68c0eccd&is=68bf9b4d&hm=7b2138116f8a314986c77702c31ecfd2855963b95601d661f3b437cd80f61a66& 05:13 < bridge> These will open dropdowns that contain these buttons 05:13 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1414810872441868308/image.png?ex=68c0eccd&is=68bf9b4d&hm=36c46e2dff6c41b9a0ee6e09a5411d72c476c7806c3bb4e5bc4f9598c62ef94e& 05:13 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1414810872798515281/image.png?ex=68c0eccd&is=68bf9b4d&hm=7b2138116f8a314986c77702c31ecfd2855963b95601d661f3b437cd80f61a66& 05:14 < bridge> actually yk what the stars still fit there 05:14 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1414811128449470564/image.png?ex=68c0ed0a&is=68bf9b8a&hm=e33f6480105b93ccc5ad0496b401f96f959721136adaef51d70fde803d84caf1& 08:24 < bridge> @bencie.: woah dobry plays the game? 08:25 < bridge> @learath2: can you irc today? 09:06 < bridge> Daaang 09:07 < bridge> Which client is that 09:07 < bridge> Yours? 09:07 < bridge> ddnet-rs https://github.com/ddnet/ddnet-rs 09:07 < bridge> [ddnet-rs](https://github.com/ddnet/ddnet-rs) 09:07 < bridge> Well I'm just working on the UI/UX 09:07 < bridge> Well I'm just working on the UI/UX of it 09:07 < bridge> U can see the contributors on the repo 09:08 < bridge> Deen jumpscare 09:09 < bridge> Is that gui already there or is it ur pr 09:09 < bridge> Is it commited i mean 09:10 < bridge> Uh, that's just a mockup. @blaiszephyr is working on adding it in-game 👍 09:10 < bridge> I'm not that fast 09:10 < bridge> yess work work and keep working 😈 09:10 < bridge> btw 09:10 < bridge> hi 09:10 < bridge> :feelsbadman: 09:10 < bridge> hyd melon 09:10 < bridge> Eepy, at work rn 09:10 < bridge> oof 09:11 < bridge> what hour is in your country? 09:11 < bridge> Eating Brezel and drinking spezi 09:11 < bridge> 9:11 am 09:11 < bridge> oh waow 09:11 < bridge> it's 4 AM here in South America 09:11 < bridge> Go to sleep my guy 09:11 < bridge> "sleep"? sry I don't know that ui design technique 09:11 < bridge> Gl Man, that looks dope 09:11 < bridge> Just dont cheat from kio's😉 09:12 < bridge> reading is back 09:12 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1414870942374428702/image.png?ex=68c124bf&is=68bfd33f&hm=480c168fc5252f65e4c0b25f335883acb44b82ccdd56f3c857cfdb8ced5f1212& 09:12 < bridge> I'm kios biggest fan wdym 09:12 < bridge> > Just dont cheat from kio's😉 09:12 < bridge> i may be needing context 09:12 < bridge> who's kio 09:12 < bridge> let's not give cheat devs more attention than they deserve 09:12 < bridge> XD 09:13 < bridge> oh alr 09:15 < bridge> Whats explore? 09:15 < bridge> There is servers already 09:15 < bridge> Servers is the DDNet browser 09:15 < bridge> the Explorer is to look for maps, users, clans, etc 09:15 < bridge> Communities, news, wiki pages, videos 09:15 < bridge> oh wellp that too 09:15 < bridge> lol 09:16 < bridge> That's what I thought it's used for 09:16 < bridge> :justatest: 09:16 < bridge> "Explore" is a really broad term 09:16 < bridge> so 09:16 < bridge> It fits for both our concepts no? 09:16 < bridge> We just dump everything in there 09:16 < bridge> And how do you plan getting those infos , afaik ddnets official api's doesnt give much 09:16 < bridge> It does in fact give a lot 09:16 < bridge> ^ 09:17 < bridge> Plus with the accounts database we could also attach more info (Biographies, social medias to link, etc) 09:17 < bridge> 😞 09:17 < bridge> Kinda like how Geometry Dash does 09:17 < bridge> Masterserver sends the names of all connected clients 09:17 < bridge> The player pages are available as Json 09:17 < bridge> 09:17 < bridge> And the DB can be downloaded 09:17 < bridge> There will be a clans database as well right @blaiszephyr? 09:17 < bridge> Only online players, thats a problem 09:18 < bridge> Website's like furo fetch activity: 09:18 < bridge> 09:18 < bridge> https://ddstats.tw/players/melon 09:18 < bridge> I mean, the clans system sure does need to be more safe. 09:18 < bridge> Since the current clans system security is... um... well... 09:18 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1414872558997868564/Z.png?ex=68c12641&is=68bfd4c1&hm=6a405f895119577f98ab2696204ec07a72b94e23a53f06c7885e3de867e04ec7& 09:18 < bridge> Website's like furo fetch activity: 09:18 < bridge> 09:18 < bridge> https://ddstats.tw/player/melon 09:18 < bridge> Sry wrong link 09:18 < bridge> Website's like furo beautify activity and other stats 09:18 < bridge> 09:18 < bridge> https://ddstats.tw/player/melon 09:18 < bridge> It would be so cool if clans were also able to have profiles 09:19 < bridge> And letting the players customize tf out of it 09:19 < bridge> Maybe in 10 years 09:19 < bridge> :justatest: 09:19 < bridge> Depending on unofficial apis didnt seem like an option 09:19 < bridge> https://zelamuss.github.io/TeeViewer/players.html?player=Melon 09:19 < bridge> And letting the clan owners customize tf out of it 09:19 < ws-client> **** @melon true bavarian 09:19 < bridge> There isn't a single unofficial API on ddstats 09:19 < bridge> hi chiller dragon from kings of gore 09:19 < bridge> I don't quite understand your point I'm afraid 09:20 < bridge> ddstats is unofficial 09:20 < bridge> it's a frontend for available data 09:20 < bridge> Also a backend ,but u cant depend on it can you? Could close at anytime 09:20 < ws-client> **** so can ddnet 09:21 < ws-client> **** already has actually 09:21 < bridge> ddnet.tw my beloved 09:21 < bridge> unlikely 09:21 < bridge> ddnet dot taiwan 09:21 < bridge> the point is that it already happened :justatest: 09:21 < ws-client> **** @zelamusinc sorry i didnt read entire backlog what are you looking for? 09:22 < bridge> ragebaiting melon 09:22 < bridge> I'm prett yusre 09:22 < bridge> I'm pretty sure 09:22 < bridge> Lmao 09:22 < ws-client> **** go on then 09:22 < bridge> Just asking questions 09:24 < bridge> ChillerDragon: this is the starting point of the conversation 09:24 < bridge> then zelamus said 09:24 < bridge> > And how do you plan getting those infos , afaik ddnets official api's doesnt give much 09:24 < bridge> then melon said it does give a lot and we could just use ddstats.tw 09:24 < bridge> then zelamus said depending on unofficial apis didnt seem like an option 09:24 < bridge> 09:25 < bridge> then spiderman fled above us and I said holy shit was that spiderman 09:26 < bridge> https://tenor.com/view/me-atrapaste-es-cine-its-cinema-cinema-esto-es-cine-gif-12869046600151364058 09:28 < bridge> also louis appeared and gave us free candy from his free candy wagon 09:29 < bridge> also louis appeared and gave us free candy from his free candy van 09:30 < bridge> anywayyy 09:30 < bridge> about [this](https://discord.com/channels/252358080522747904/295908390956433410/1414841457759617166) 09:30 < bridge> 09:30 < bridge> I updated it a little thanks to some feedback from @.paxtell (love u pookie) 09:30 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1414875593605906432/image.png?ex=68c12914&is=68bfd794&hm=cecc85b4970ddf5de1fc1fb366c5834295940a130314e01baa8c976354f6f6e8& 09:30 < bridge> I think it's better now 09:31 < bridge> as always any feedback is greatly appreciated 09:32 < bridge> The items are so inside the gameplay 09:32 < bridge> Idk how to say 09:33 < bridge> The space between the frame and the screen, and between the framing and the items could be less 09:33 < bridge> The space between the frame and the screen, and between the framing and the items could be smaller 09:34 < bridge> But its nice 09:34 < bridge> well the intention was to make it look kinda close to these, and these usually have around that distance 09:34 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1414876650729902151/camera-lens-view-finder-display-background_1017-36686.png?ex=68c12a10&is=68bfd890&hm=31952d441b30e8060ada9b62de7f89d5466b442fd657da11768e344cbc907592& 09:35 < bridge> and I don't think the space is much big honesly 09:35 < bridge> Maybe the items could be the outside the frame 09:35 < bridge> Alright then 09:36 < bridge> Hmmm 09:36 < bridge> I will try 09:36 < ws-client> **** @Solly (bun bun) @Ewan `sv_destroy_ball_in_death_tile` ? or `sv_destroy_ball_on_death_tile` or `sv_destroy_ball_through_spikers` xd help how to english 09:37 < bridge> ah nvmm it looks weird af 09:37 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1414877295662993418/image.png?ex=68c12aaa&is=68bfd92a&hm=0733abffda2d94f48f54be8138d8b868c940bd32a65e812361076dc6fb5e7b02& 09:37 < bridge> maybe reducing the border's size? 09:38 < bridge> oh shit even worse 09:38 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1414877506288357457/image.png?ex=68c12adc&is=68bfd95c&hm=64b61ac705f7ecec9ba01c7f09eb5e67abfe95b521d45a9324c4af5f61499c97& 09:38 < bridge> Yeah lol 09:38 < ws-client> **** @blazulite yea if @zelamusinc doesnt actually plan to build something im not going to bother to chip in :p 09:39 < bridge> Wdym by build 09:39 < bridge> Code? 09:40 < bridge> No not rn im in school 09:40 < bridge> :poggers2: :poggers2: :poggers2: :poggers2: :poggers2: :poggers2: :poggers2: 09:41 < bridge> pog 09:41 < bridge> Of all the options, this one is the best in my opinion 09:41 < bridge> :nouis: 09:44 < bridge> Ty! 09:44 < bridge> Add lua's:monkalaugh: 09:45 < bridge> ddnet-rs's commands system is already quite powerful i think 09:46 < bridge> ddnet-rs's commands system is already quite powerful i think. I don't think adding support for Lua will be much necessary, especially considering the use most of people give to the console 09:47 < bridge> :cammo: 09:48 < bridge> Alsoo! I don't really know if I mentioned this but I made prototypes for two different chat modes: 09:48 < bridge> - **Modern**: A Discord-inspired chat, adapted for the best readability possible 09:48 < bridge> - **Classic**: Inspired by the normal DDNet chat, but with a slight modernistic touch 09:48 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1414880045163479101/image.png?ex=68c12d39&is=68bfdbb9&hm=3f4bd3bbffa1ac66792aa0c90dd018c4f629a7893efc7e7b73d53f081aa50bde& 09:48 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1414880045956333588/image.png?ex=68c12d3a&is=68bfdbba&hm=e550ac687ca6d00ac8c8ff32ac2551e5949364e3d7e9702c07d0c322233a939c& 09:48 < bridge> Alsoo! I don't really know if I mentioned this already but I made prototypes for two different chat modes: 09:48 < bridge> - **Modern**: A Discord-inspired chat, adapted for the best readability possible 09:48 < bridge> - **Classic**: Inspired by the normal DDNet chat, but with a slight modernistic touch 09:48 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1414880045163479101/image.png?ex=68c12d39&is=68bfdbb9&hm=3f4bd3bbffa1ac66792aa0c90dd018c4f629a7893efc7e7b73d53f081aa50bde& 09:48 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1414880045956333588/image.png?ex=68c12d3a&is=68bfdbba&hm=e550ac687ca6d00ac8c8ff32ac2551e5949364e3d7e9702c07d0c322233a939c& 09:48 < bridge> oops forgot to update the font on one of them 09:50 < bridge> Modern's nice, but the height is waaaay to much 09:50 < bridge> Especially in the block servers, messages will fly through while youre reading it 09:51 < bridge> And how do you do these mockups 09:51 < bridge> What software do u us 09:51 < bridge> What software do u use? 09:52 < bridge> Wgat client is that 09:52 < bridge> Looks pretty 09:53 < bridge> Hmm true 09:53 < bridge> Should I reduce it? 09:54 < bridge> Figma! 09:54 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1414881587002347591/image.png?ex=68c12ea9&is=68bfdd29&hm=c3d9e8497ddd58bd2e122b0325567d83ca3e6f6200f8fa7470590d478f678b6b& 09:54 < bridge> https://github.com/ddnet/ddnet-rs 09:55 < bridge> Thank youu! 10:05 < bridge> tagging 10:05 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1414884286384832553/image.png?ex=68c1312d&is=68bfdfad&hm=225421a8aa9fc3edca719a3199282ad9f757832c2a7f8e8756ad29653f1fd2c5& 10:05 < bridge> (rushed af I'm sleepy) 10:05 < bridge> (will redesign tomorrow) 10:05 < bridge> :poggers2: 10:05 < bridge> but I mean u get the idea at least LOL 10:06 < bridge> Will do one last thing then I go to sleep 10:07 < bridge> Probably, why? 10:16 < bridge> @chillerdragon on 10:17 < bridge> Alright done 10:17 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1414887307055464609/image.png?ex=68c133fd&is=68bfe27d&hm=98d13455353e7e6f12fca6846852b4bc4b46dbc8320caf85b0b5e54ee2af2544& 10:17 < bridge> now yeah 10:17 < bridge> good night 10:17 < bridge> :justatest: 10:18 < bridge> The ddnet-rs UI is developing too quickly. I hope ddnet-rs will be released tomorrow?:kek: @blazulite 10:18 < bridge> The power of unemployment 10:19 < bridge> Anyway 10:19 < bridge> gn 10:19 < bridge> I know it's morning for y'all but It's freaking 5 AM for me 10:19 < bridge> ⚰️ 10:19 < bridge> I'm done 10:19 < bridge> I'm cooked 10:19 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1414888034436120636/image.png?ex=68c134aa&is=68bfe32a&hm=49310ecdb8e89521d04d24bd6ee83685c1e58168e18eb4e5fb5ab27649f3e8b5& 10:19 < bridge> :omo: 10:20 < bridge> woah 10:51 < ws-client> **** @learath2 i want to ask you a question that i would usually mail to heinrich but he started ghosting me 11:00 < bridge> mail :kek: 11:04 < bridge> :deen_star: 11:12 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1414901162926149724/image.png?ex=68c140e4&is=68bfef64&hm=de7b7d212e7c3260e5f33614fe9f18571192699b80d177b090e620dbf049151b& 11:12 < bridge> anyone know some good ocr that works on cn, en and ru 11:12 < bridge> should i just bite the bullet and do it myself 11:16 < Learath2> ChillerDragon: I'm here 11:20 < bridge> Nice 11:20 < bridge> I need 10s 11:21 < ws-client> **** @learath2 ok her 11:40 < ChillerDragon> responded 12:05 < chillerbot12> omagawd @Assa I almost forgor to mind you about: PR for other freeze shields 12:14 < bridge> after the issue discussion, somebody else should do it 12:23 < bridge> ngl if I could not suffer with the repo, then I could also develop on it 12:59 < bridge> 19.4 is out :3 13:06 < bridge> hi 13:06 < bridge> is git slow af? 13:06 < bridge> remote: Compressing objects: 100% (34/34), done. 13:06 < bridge> Receiving objects: 30% (337/1119), 404.00 KiB | 33.00 KiB/s 13:07 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1414930133017559121/image.png?ex=68c15bdf&is=68c00a5f&hm=99e71aac51c3fbe54bd29d0beb8b0978f05370b0786e6b492caa3a63b39493aa& 13:07 < bridge> What’s your remote? GitHub? 13:08 < bridge> ye 13:08 < bridge> They ratelimite sometimes I think 13:08 < bridge> i barely did push or pull 13:08 < bridge> i need to pull a work branch 13:08 < bridge> omg 13:08 < bridge> stupid ghj 13:20 < ws-client> **** @ryozuki mine is blazingly faste with 555 KiB/s 13:20 < ws-client> **** https://zillyhuhn.com/cs/.d2949d8e-fcae-4cb5-a559-f415575fa0f4.png 13:21 < bridge> 3rd try :lol: 13:22 < ws-client> **** xd 13:23 < ws-client> **** cloning at 12 MiB/s rn 🚀 13:23 < bridge> ci also slow 13:23 < bridge> downloading packages in prepare linux action takes ages 13:31 < bridge> glad to know im not only one 13:31 < bridge> lmao the ci is shared by every1 13:32 < bridge> @chillerdragon was gonna mske a container 4 android at;east 13:44 < bridge> Pray to my hard drive 13:44 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1414939437695111178/Screenshot_from_2025-09-09_13-43-33.png?ex=68c1648a&is=68c0130a&hm=4a07789417c00abcde846ad58e45bde7041bd0205b00d93b8d379227f00fb798& 13:44 < bridge> :feelsbadman: 🙏 13:44 < bridge> 1200 packages tells me you didn't disable a single opt out :justatest: 13:45 < bridge> I follow the instructions from your github page, wtf did you expect 13:45 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1414939887760834691/image.png?ex=68c164f5&is=68c01375&hm=b3a4b45e76ef44a1cf13d063c6a451ef37340b04d947e63b2f2070c5b774aa4b& 13:46 < bridge> I.. see that as ragebait and will go on with my day 13:46 < bridge> normally cargo build doesn't work cuz it needs specific libraries to download and compile xd 13:46 < bridge> Dude, wdym ragebait 13:46 < bridge> i also just folowed instructions 13:47 < bridge> I just wanna build the repo 😭 13:47 < bridge> Please update that description cuz it's very misleading if this is not intentional 13:49 < bridge> of course it's intentional, but you complained about disk space last time 13:49 < bridge> Idk, maybe don't enable explicit features then :ChooChoo: 13:50 < bridge> well yeah, and it's still claiming over 20GBs... ofc I complain 13:50 < bridge> but regardless, I setup my system now so that it's not an issue anymore 13:50 < bridge> so moving on 13:51 < bridge> well this is awkward... I have alsa installed yet it's not on PATH? 13:51 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1414941289472069642/image.png?ex=68c16643&is=68c014c3&hm=02f44e967968ecb503553de9e5c4a8f84de573ba9c0615d44b74a719b17a2aa0& 13:52 < bridge> or it needs "alsa" instead of "alsa-base"? 13:57 < bridge> https://github.com/pawurb/hotpath 14:04 < bridge> йобани сир 14:04 < ws-client> **** sto? 14:05 < bridge> <0xdeen> Maybe your ISP only has ipv6 and tunneling for ipv4? Because GitHub is weirdly ipv4-only still 14:06 < bridge> no, my isp only has ipv4 14:06 < bridge> i would love having ipv6 xd 14:06 < bridge> it seems it works again nicely 14:07 < bridge> <0xdeen> I only learned that github is ipv6-only when I tried to move my Hetzner servers to be ipv6 only to save a few € and realized I can't pull 😄 14:07 < bridge> <0xdeen> ipv4-only* 14:07 < bridge> <0xdeen> I only learned that github is ipv4-only when I tried to move my Hetzner servers to be ipv6 only to save a few € and realized I can't pull 😄 14:11 < bridge> lol 14:23 < bridge> println("on the cpu"); :kek: 14:24 < bridge> after reading the repo description 14:25 < bridge> erm, akshually prinln is a macro 14:25 < bridge> was wondering if that's even real rust code here, seemingly not 14:25 < bridge> 👀 14:25 < bridge> is there some ! missing or something along the lines? 14:26 < bridge> ye 14:26 < bridge> before `(` 14:26 < bridge> I see 14:27 < bridge> println!("your code spends time in the cpu"); :kek: 14:27 < bridge> println!("your code spends time on the cpu"); :kek: 14:28 < ws-client> **** bru now i messed up my settings and forgot how they were 14:28 < ws-client> **** Jupstar should i limit cpu or gpu refresh rate? 14:29 < ws-client> **** nvm i got it in git i forgor 14:29 < ws-client> **** cpu limit it is 14:29 < ws-client> **** GPU 14:29 < ws-client> **** aiohdoad 14:29 < ws-client> **** cl_refresh_rate 0 and gfx_refresh_rate 666 14:32 < bridge> 666 is a weird choice for fps but I 'll allow it. but you need to keep hailing the goat 14:40 < bridge> ☹️ 14:42 < bridge> Well my pc is too bad for 1337 fps 14:47 < bridge> 420 is an exact multiple of 60 :) 14:47 < bridge> sadly doesn't work for 120 15:05 < bridge> i am in the change log 15:05 < bridge> nice 15:44 < bridge> with my quad cluster update I can hold 1337 on every map :justatest: 15:50 < bridge> https://media.discordapp.net/attachments/1411487806567481449/1414744917888078026/1.jpg?ex=68c0af61&is=68bf5de1&hm=7597e7c5ebddc2c51d72c30e03f7f0f9323c2728a02143304c0c4fb3ecbb8471&=&format=webp&width=1208&height=1610 https://media.discordapp.net/attachments/1411487806567481449/1414744918496120892/2.jpg?ex=68c0af61&is=68bf5de1&hm=351589c12b967c301c2e19f91e889c3a033b103d7417003ba124608f8c4c7555&=&format=webp&width=1208&height=1610 https://media.discorda 16:04 < ChillerDragon> @davide55 17:18 < ws-client> **** peekaboo 17:19 < ws-client> **** <:hisnail:768893210726367232> w emoji 17:21 < bridge> :giftee:WHY IS THIS EMOJI NOT ON THE SITE 17:22 < ws-client> **** :giftee: test 17:23 < bridge> I don't know not Klingon neither Braille 17:27 < bridge> :giftee_green: 17:37 < ws-client> **** @markar2000_ i need to manually add them :c 17:48 < bridge> https://github.com/ddnet/ddnet/issues/10856 17:48 < bridge> are there any examples of read only configs? 18:08 < bridge> https://www.aikido.dev/blog/npm-debug-and-chalk-packages-compromised 18:08 < bridge> 18:08 < bridge> tl;dr some npm packages have been infected, every system that has these installed is considered compromised, check your deps and clean your package manager's cache 18:08 < bridge> 18:08 < bridge> Affected packages and their versions: 18:08 < bridge> 18:08 < bridge> backslash 0.2.1 18:08 < bridge> chalk-template 1.1.1 18:08 < bridge> supports-hyperlinks 4.1.1 18:08 < bridge> has-ansi 6.0.1 18:08 < bridge> simple-swizzle 0.2.3 18:08 < bridge> color-string 2.1.1 18:08 < bridge> error-ex 1.3.3 18:08 < bridge> color-name 2.0.1 18:08 < bridge> is-arrayish 0.3.3 18:08 < bridge> slice-ansi 7.1.1 18:08 < bridge> color-convert 3.1.1 18:08 < bridge> wrap-ansi 9.0.1 18:08 < bridge> ansi-regex 6.2.1 18:08 < bridge> supports-color 10.2.1 18:09 < bridge> strip-ansi 7.1.1 18:09 < bridge> chalk 5.6.1 18:09 < bridge> debug 4.4.2 18:09 < bridge> ansi-styles 6.2.2 18:09 < bridge> also on this note, i have used at least some of these packages, can someone help me write a bash script or smth to check my system? :OHNOOOO: 18:15 < bridge> but was any malware actually distributed? 18:16 < bridge> i guess it's just a crypto stealer 18:16 < bridge> nothing to worry about lol 18:17 < ChillerDragon> sv_port was readonly i think 18:17 < ChillerDragon> try searching for ReadOnly xd 18:17 < bridge> still i'd be waray ¯\_(ツ)_/¯ 18:18 < bridge> still i'd be wary ¯\_(ツ)_/¯ 18:18 < bridge> oh ok 18:18 < bridge> i guess it's trivial then 18:19 < bridge> i was expecting there to be a read only flag 18:20 < bridge> because like why wouldn't it be a flag? 18:24 < bridge> anyways 18:24 < bridge> another thing to consider is that if we are making `sv_endless_drag` and `sv_hit` read only why not make other map setting read only too? 18:26 < ChillerDragon> FRA #1 laggy? 193.70.37.160:8303 18:26 < chillerbot12> https://github.com/ddnet/ddnet/issues/1 18:26 < ChillerDragon> @avolicious 18:27 < ChillerDragon> @davide55 is there a ddos? 18:27 < ChillerDragon> not all players seem affected but most 18:27 < ChillerDragon> 5 ppl write in chat "ddos" and the 6th writes "why is everyone afk" xxxxxxxxxxxxxxxxxxxxD 18:28 < bridge> actually setting those configs to read only prevents maps from modifying them lol 18:28 < ChillerDragon> oh yikes 18:28 < ChillerDragon> not good first issue then 18:28 < bridge> also is there any reason for it to not be a flag? 18:29 < ChillerDragon> wdym a flag 18:30 < ChillerDragon> ah u mean a CFGFLAG_READONLY 18:30 < ChillerDragon> idk 18:32 < bridge> this issue is actually quite complicated 18:32 < bridge> it's a waste of time honestly xd 18:32 < ChillerDragon> might be yes 18:33 < ChillerDragon> updating it for all tees on change might actually be easier then 18:33 < ChillerDragon> imo being able to set a config from rcon that only gets partially applied is quite confusing and a bug worth fixing 18:34 < ChillerDragon> there should be more time budget for fixing bugs than for adding features 18:34 < ChillerDragon> @davide55 still ongoing hmm is this a ddos? 18:36 < bridge> Because then nobody could change the variable, which means it's a constant and would be pointless in the configuration 18:37 < bridge> Right 18:37 < bridge> So what does read only actually mean? 18:37 < ChillerDragon> maybe u can call the readonly thing after the map config is loaded 18:37 < bridge> When can a read only variable be set? 18:37 < ChillerDragon> readonly means it can not be set at runtime via rcon but in the config 18:37 < bridge> When can a read only config be set? 18:37 < bridge> You can set and unset whether variables are read-only at runtime 18:37 < ChillerDragon> ah nice 18:38 < bridge> So why not allow changing flags at runtime then? 18:39 < bridge> But if that's the case i guess it should be possible to set those specific commands to be writable during a map load 18:39 < bridge> But this seems like a duplicate of #7589. We should only allow game settings to be changed by the map. 18:39 < bridge> https://github.com/ddnet/ddnet/issues/7589 18:39 < bridge> But this seems like a duplicate of #7589. We should allow game settings to be changed only by the map. 18:39 < bridge> Yeah that actually makes sense 18:42 < bridge> It would feel least arbitrary 18:45 < bridge> Let's say the snippets are larger, than expected 18:46 < bridge> maaaaaybe reducing the thickness of the lines by half would make it more interesting? 18:47 < bridge> @blaiszephyr what cargo command should I use to get rid of that shitty alsa lib error? 18:47 < bridge> I cannot use anything else, but alsa-base 19:10 < bridge> somehow i wasted half the day on this issue 19:19 < bridge> I guess i could use a debugger to find where in the code map settings are set 19:19 < bridge> Because it's so hard to find 19:37 < bridge> chiller: destroy ball in death tile 19:44 < bridge> balls 19:45 < bridge> Thanks 19:46 < bridge> theres visual studio 2026 beta now 19:59 < bridge> but we are in 2025 20:01 < bridge> it's like cars ig 20:12 < bridge> https://github.com/ddnet-insta/ddnet-insta/pull/411 20:12 < bridge> i do code review now 20:12 < bridge> r u proud of me 20:17 < bridge> Poor foxy got absolutely destroyed 20:17 < bridge> Massive nitpick attack 20:19 < bridge> i learnt from the best 20:19 < bridge> (roby) 20:19 < bridge> there was some dead code ones!!! 20:19 < bridge> to be fair 20:20 < bridge> @byfox <3 20:21 < bridge> Ye the dead code one was epic 20:32 < bridge> @sollybunny Is #10837 ready to be merged? There's a TODO in the PR description. 20:32 < bridge> https://github.com/ddnet/ddnet/pull/10837 20:33 < bridge> (If ready, then update the description) 20:35 < bridge> Destroy ball on death tile or 20:35 < bridge> Death tiles destroy ball or 20:36 < bridge> Death tile destroys ball 20:36 < bridge> Oh sorry that's a future todo 20:36 < bridge> As in I'm too scared to touch that right now 20:36 < bridge> Ermm 20:39 < bridge> I think I also did test it in game 20:39 < bridge> May of been a different commit 20:39 < bridge> I'm so comfy in bed 20:40 < bridge> :justatest: 20:40 < bridge> LGTM, the diff is pretty short if you ignore whitespace: https://github.com/ddnet/ddnet/pull/10837/files?w=1 20:40 < bridge> xD 20:40 < bridge> Yas 20:41 < bridge> It looks long to me but gh mobile probably not respecting the w 20:42 < bridge> holy shit 20:43 < bridge> I died with this alone 20:43 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1415044927166873660/image.png?ex=68c1c6c8&is=68c07548&hm=a04fa0bf76429b6b2b010a6b6bd0908276a036320b272ffa8683bb85422ed5b8& 20:46 < bridge> I had fun for a few nights :) 20:48 < bridge> Learning experience! 20:58 < bridge> https://tenor.com/view/pipotam-baby-hippo-hippo-wash-shower-gif-3406421565683572068 22:02 < bridge> pipo chat 22:19 < bridge> @jupeyy_keks I answered you on github, I believe it might make more sense to discuss here 22:20 < bridge> Nah after 22 no discussions 22:21 < bridge> understandable, have a nice evening 👌 22:29 < bridge> 😆 22:31 < bridge> @robyt3 ive read the const by reference book point, and i know how it works 22:32 < bridge> but why use it over std::move here? just stylistic choice? 22:32 < bridge> ddnet code uses move in some places too 22:34 < bridge> But in this case you are copying anyway because the parameter is passed by value. If you wanted to avoid the move you'd have to pass by rvalue reference as far as I understand it. I think we don't move often in setters where the argument is passed by value. Having it consistently use const references except when we explicitly want to move something makes more sense to me. Otherwise the PR itself mixes different styles, e.g. for `std::function`s. 22:40 < bridge> Based work life balance 22:41 < bridge> DDNet is life 22:41 < bridge> Yes no life after 22 22:41 < bridge> const-reference is also 1 move 1 copy 22:41 < bridge> move into function, then copy into variable 22:41 < bridge> by value then move, is 1 copy first then 1 move 22:43 < bridge> I think it's the compiler's job to optimize that, and passing by const reference should presumably give it enough information to do it 22:43 < bridge> I don’t trust std @robyt3 are you sure std::vector is the way to go to optimize performance? 22:44 < bridge> Do you only want a finite number of flags in your mod? :justatest: 22:44 < bridge> If it’s faster maybe 22:44 < bridge> There is snap size limits anyways 22:45 < bridge> Usually I am okay with vector because it’s convienient and speed doesn’t always matter 22:46 < bridge> idk if you can move when its cons 22:46 < bridge> will check 22:46 < bridge> idk if you can move when its const 22:46 < bridge> i think not 22:46 < bridge> But adding heap allocations to snap to make it faster sounds wrong. But I didn’t think it through. Just wanted to say that. I guess it won’t do anything expensive on tick. 22:47 < bridge> Sorry for 2v1ing after 22 @robyt3 just a thought. Trying to avoid that I butchered your performance pr into something that’s not performant and then everyone is sad 22:50 < bridge> No, moving explicitly means modifying the original object. I don't think it matters much, but as a style choice we should mostly stick to const references unless in cases where the move is intentional and useful 22:50 < bridge> So what's a reasonable number of flags? 128? 22:52 < bridge> yea it does compile 22:52 < bridge> I think my snap filled at 1010 iirc 22:52 < bridge> not sure how that works when its const will check 22:52 < bridge> Rule only applies to me. Robyte has no time off 22:52 < bridge> So 1024 I guess 22:53 < bridge> Sounds reasonable. I am quite confident that nobody will run into its limits 22:53 < bridge> chat gpt says bcs its const in practice it does copy and not move 22:53 < bridge> If two tees are visible it already goes down to 1005 flags 22:53 < bridge> so ig by value+move is same number of operations as reference+copy 22:54 < bridge> but can stick to reference for ddnet 22:54 < bridge> Your code doesn't move since you didn't use && for the parameter 22:54 < bridge> Rvalue 22:54 < bridge> Also a move only works for heap allocated objects. For pod it's simply copying 22:54 < bridge> @jupeyy_keks: yes ofc but it’s not pollite to hijack conversation like that i should have written on GitHub or waited but too lazy 22:55 < bridge> yeah so if its heap allocated function variable it does move? 22:55 < bridge> ``` 22:55 < bridge> void func(const int &num) { 22:55 < bridge> a = num; 22:55 < bridge> } 22:55 < bridge> 22:55 < bridge> void func( int num) { 22:55 < bridge> a = std::move(num); 22:55 < bridge> } 22:55 < bridge> ``` 22:55 < bridge> That does nothing 22:56 < bridge> Bcs int is simply copy 22:56 < bridge> Move only works for smart pointers 22:56 < bridge> They can change the ownership without deallocation 22:57 < bridge> Basically they copy the internal pointer and then set their pointer to zero 22:57 < bridge> The last thing is ofc not strictly required 22:57 < bridge> @robyt3: oh and btw i do not have such mod actually. I just coded it to test the pr. But I think it’s cool to have and someone might be using it and I for sure could see it being used in the future. 22:58 < bridge> So all the structures as vector and shared ptr and unique ptr can move 22:58 < bridge> If you want to take a moved value you have to use std:: vector && myvalue 22:59 < bridge> i think everything can be moved 22:59 < bridge> But moving is still a copy 22:59 < bridge> It's not like u can move a stack object into heap 23:00 < bridge> Moving is about changing owner ship.. But a simple type like int cannot be owned 23:00 < bridge> A vector owns a heap object 23:01 < bridge> The internal pointer again is copied 23:01 < bridge> That cannot be moved 23:01 < bridge> So even for vector a move does copy 23:01 < bridge> ok for int sure 23:01 < bridge> but when its CCharacterCore like in my pr 23:01 < bridge> ` void SetCore(CCharacterCore Core) { m_Core = std::move(Core); }` 23:01 < bridge> But see the parameter 23:01 < bridge> its on heap from copying into function and then move 23:01 < bridge> The parameter itself is already a copy 23:02 < bridge> wouldnt that be inlined 23:02 < bridge> `CCharacterCore` is POD, so there's nothing to move 23:02 < bridge> Is it? 23:02 < bridge> Hashset 23:02 < bridge> Or smth 23:02 < bridge> Hooked by 23:03 < bridge> Ok, it also contains a `std::set` yeah 23:03 < bridge> Anyway the parameter has to be changed 23:03 < bridge> The signature 23:04 < bridge> so copy works in that case? 23:04 < bridge> so move works in that case? 23:04 < bridge> If the compiler is smart enough to move a local variable (argument) is a different question 23:04 < bridge> or am i understanding the std::move wrong 23:05 < bridge> If you add && after the type yes 23:05 < bridge> Unless there is a move constructor that `std::move` won’t do anything 23:05 < bridge> That too 23:06 < bridge> idk then 23:06 < bridge> doesnt && make it so it can only take rvalues 23:06 < bridge> That is the sense of moving 23:09 < bridge> ok i see 23:10 < bridge> but if i want to make a copy first, to not always take by rvalue, im avoiding a second copy with the move? 23:11 < bridge> But then simply take const ref 23:11 < bridge> Also this depends on compiler 23:11 < bridge> I'd assume for built in operator it's smart enough to move the object, but dunno, compile in release build and look xd 23:12 < bridge> Might be inlined anyway 23:12 < bridge> makes sense 23:13 < bridge> so move is kinda useless except for smart pointers 23:13 < bridge> You aren’t, `std::move` is a very misunderstood thing, it literally only does one thing, turns what you give it into an `xvalue` 23:13 < bridge> Yes but tbf there is a set in game core 23:13 < bridge> And that can be moved 23:14 < bridge> But instead of moving your local variable, change parameter to r value or const ref 23:14 < bridge> Cleaner design 23:14 < bridge> a cpp book i was reading went straight into explaining rvalues lvalues and xvalues from ch 1 so i just gave up 23:14 < bridge> Very useful for stuff with move constructors, like vectors, strings, maps etc 23:15 < bridge> From ch1 is a little early, but you do need to understand value types if you want to learn C++ at a decent level 23:16 < bridge> `xvalue`s are very simple to understand, they are `eXpiring`, as in they won’t be used anymore, so you are allowed to plunder their resources as needed, e.g. steal an already allocated buffer instead of needing to allocate your own 23:16 < bridge> yeah it seemed like a decently advanced book, not in a rush to learn cpp though 23:17 < bridge> Stuff like `prvalue materialization` is where it can start to get extremely confusing, with copy elision and stuff 23:20 < bridge> makes sense now 23:21 < bridge> ty @jupeyy_keks @learath2 23:27 < bridge> ``` 23:27 < bridge> CLayerTilesEnvelopeReference(std::shared_ptr pLayerTiles) : 23:27 < bridge> m_pLayerTiles(std::move(pLayerTiles)) 23:27 < bridge> ``` 23:27 < bridge> and this can be move, or should i prefer const reference anyway? 23:30 < bridge> Idk what this does or what it is for, but you almost always want to move shared ptrs when possible so as not to incur a refcount bump and immediate drop 23:31 < bridge> Most shared pointers are currently passed by const reference though, because that's what clang-tidy suggests 23:32 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1415087431320994044/image.png?ex=68c1ee5e&is=68c09cde&hm=facf15cb232ad9054fcd0d79870d4cef70e288cff753672496d7737063734153& 23:32 < bridge> @mr.gh0s7 Hey, I'm trying dfng again and umm, the "restart while frozen" dummy literally crashes my server LOL 23:32 < bridge> 23:32 < bridge> I did not modify anything related to these stuff 23:32 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1415087571876446308/image.png?ex=68c1ee80&is=68c09d00&hm=3f0f31b785b6dcee89fe045155ca4e6aa297d598b0dc57879c0c1672ce3deb9b& 23:32 < bridge> @mr.gh0s7 Hey, I'm trying dfng again and umm, the "restart while frozen" dummy literally crashes my server LOL 23:32 < bridge> 23:32 < bridge> I did not modify anything related to these things 23:32 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1415087571876446308/image.png?ex=68c1ee80&is=68c09d00&hm=3f0f31b785b6dcee89fe045155ca4e6aa297d598b0dc57879c0c1672ce3deb9b& 23:33 < bridge> @mr.gh0s7 Hey, I'm trying dfng again and umm, the "restart while frozen" dummy literally crashes my server LOL 23:33 < bridge> 23:33 < bridge> And just in case, I did not modify anything related to the backend at all 23:33 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1415087571876446308/image.png?ex=68c1ee80&is=68c09d00&hm=3f0f31b785b6dcee89fe045155ca4e6aa297d598b0dc57879c0c1672ce3deb9b& 23:33 < bridge> Hm, and what you store the reference after or make a copy? 23:33 < bridge> As long as you don’t pass by value then immediately make another copy the performance is the same 23:35 < bridge> Sometime the const references are only used, sometimes also copied to the object 23:35 < bridge> How do I can get my Client or ClientId in gameclient.cpp? And how does m_aLocalIds work? 23:36 < bridge> Only really safe as long as you can guarantee that the object outlives the reference by some means, but yeah I see 23:37 < bridge> yeah these two have different ownership semantics 23:37 < bridge> can use m_pLocalCharacter, m_aLocalIds[0] = main m_aLocalIds[1] = dummy, m_aLocalIds[g_Config.m_ClDummy] = what's currently acrtive 23:37 < bridge> so what would be best here, move or const-reference? 23:38 < bridge> looks like ddnet code uses move for similar 23:39 < bridge> there's pros and cons to all options but I think taking it by value and doing std::move makes sense 23:39 < bridge> taking a const lvalue reference means you can't take an rvalue which may be annoying 23:39 < bridge> scott meyers says 23:39 < bridge> > Consider pass by value for copyable 23:39 < bridge> > parameters that are cheap to move and always 23:39 < bridge> > copied 23:39 < bridge> scott meyers says 23:39 < bridge> > Consider pass by value for copyable parameters that are cheap to move and always copied 23:39 < bridge> and I believe this applies here 23:40 < bridge> If unsure what you did is definitely safe and performant. If you are sure this object never outlives that reference you’d be passing in then a const ref would be “better” 23:41 < bridge> But it may outlive it, this Reference object is part of the editor history 23:42 < bridge> Then 100% pass by value then move it in 23:43 < bridge> and thats why it's a shared ptr in the first place 23:44 < bridge> alr will update pr, everwhere const-ref except this on screenshot