01:06 < bridge> @robyt3 did something in newer ddnet version change regarding snap items or something? My ddnet gets quite high cpu & gpu when a lot of items are there 01:06 < bridge> didnt happen before 01:57 < bridge> maybe #8588 01:57 < bridge> https://github.com/ddnet/ddnet/pull/8588 02:31 < bridge> We need benchmarks in the CI hehe 02:48 < bridge> chillerdragon: I'm currently working on a translation layer that would allow the 0.7 compatibility (and all the other backward compatibility code) to live in a single place. I haven't looked at pull requests recently 02:50 < bridge> chillerdragon: be the change you want to see in the world 03:02 < ws-client> be the change hasnt been working out so well for me 03:02 < ws-client> since my change is not merged :p 03:03 < ws-client> @heinrich5991 so what does that mean for the 0.7 client pr? 03:03 < ws-client> also the CI is slow enough I don't think its a good idea was more a joke thus the "hehe" 03:04 < bridge> I think adding benchmarks has a quicker turn around time adding 0.7 support 03:04 < bridge> doesn't need to always run in the CI. benchmarks for stuff like this just sounds like a net benefit 03:04 < ws-client> Oh like something that can be triggered manually ye that would be cool 03:05 < ws-client> Yea im not doing it. 03:05 < ws-client> 0.7 first 03:05 < ws-client> So what about the pr now? Are you keeping it on hold until its replaced by your translation layer? 03:06 < ws-client> Do you even need to have a look? You had 2 years time to have a look and robsti approved it. 03:07 < bridge> I'm not taking a look at it currently, nor am I taking a look at most of the other PRs currently 03:07 < ws-client> Do you need to take a look for it to be merged? 03:08 < bridge> if someone else merges it, then it'll be merged. I don't know if someone else will merge it 03:08 < ws-client> @0xdeen your time to shine. The merge machine! 03:08 < ws-client> click da green btn pls uwu https://github.com/ddnet/ddnet/pull/5949 04:14 < bridge> what is the status on #8283 ? 04:14 < bridge> https://github.com/ddnet/ddnet/pull/8283 05:03 < ws-client> @louis the status is waiting for heinrich. He does not like the color codes 0.7 does but did not say yet which format would be acceptable. 05:19 < bridge> ChillerDragon: do u know any good resources or repos to look at for getting started with vanilla-ish mods on ddnet codebase? 07:29 < bridge> stencil moment 07:33 < ws-client> @louis you want damage and vanilla weapons? Then start with this source as a base https://github.com/JSaurusRex/ddnet/tree/vanilla 09:06 < bridge> ddnet 3DS 09:06 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1264478492406321233/image.png?ex=669e04dd&is=669cb35d&hm=baa3842ec10186b1447aca40a930b83318b428c60d5c422dfd15a9ec21499e4b& 09:24 < bridge> console porting specialist be like 09:24 < bridge> :justatest: 09:51 < bridge> Hello! I have already graduated from university, got married and had 2 wonderful children. Maybe there is news about the android version now? 10:02 < bridge> wow and you still can't afford a computer? poor guy 10:10 < bridge> :KEKW: good morning btw 10:46 < bridge> If it's happening consistently then you can use git bisect to identify the responsible commit 10:47 < bridge> You could first write a small benchmark of the code you think is slower now, then run that with git bisect 11:36 < ws-client> @hekkeyne ye robsti is working on it. So there is news! But nothing finished yet as far as i know. May I ask what you need the android version for? Playing on a computer should be smoother. 11:37 < bridge> no, of course there is 11:38 < bridge> I don’t know, my question has already become a habit 11:38 < ws-client> So you don't even need the android version? xd 11:38 < bridge> gm 11:39 < bridge> why, the android version would be a great thing for traveling (or for the toilet) 11:40 < bridge> i really do want to play block on my phone while taking a dumpy 11:40 < ws-client> Yea maybe for some. 11:40 < ws-client> I personally don't even play on my laptop. If I don't have a good setup I just don't play at all. 11:41 < ws-client> But yea different people have different taste. So you do play on the computer and would not mind to also play on the phone? That should be a huge skill decrease. 11:41 < bridge> What chillerdragon wants to say is: 11:41 < bridge> 0.7 has more players than there are mobile players. 11:41 < bridge> 11:41 < bridge> He feels superior 11:41 < ws-client> Does the current version of ddnet android run on your phone did you ever play it? @hekkeyne 11:42 < bridge> which? 0.9.x? 11:42 < ws-client> yes 11:42 < ws-client> @Jupstar ✪ I have 0.6 on my iPad lmao 11:42 < bridge> Nope 11:42 < bridge> how did u do that 11:42 < ws-client> used to be in the appstore 11:42 < bridge> huuuh? 11:42 < bridge> when :o 11:42 < bridge> didnt know someone compiled to ios 11:42 < ws-client> A few years ago 11:43 < ws-client> Ye some madlad did a pretty solid ios port ran smooth on my phone and ipad and that dude even paid to get it into the official stores 11:43 < ws-client> vanilla teeworlds not ddnet 11:43 < bridge> so it was just removed because of ios's tos? 11:43 < ws-client> How would that be tos? 11:44 < bridge> it aint making money for apple 11:44 < ws-client> I assume the author did not care enough to keep it in the store forever 11:44 < bridge> thats against the tos xdd 11:44 < ws-client> is it tos to make money? 11:44 < ws-client> rly? xd 11:44 < bridge> i dunno 11:44 < bridge> from apple i'd expect that 11:44 < ws-client> its making apple money 11:44 < ws-client> you gotta pay to have the app published 11:44 < bridge> oh yeah there was this developer license thingy right 11:44 < bridge> for 100$ :KEK: 11:44 < bridge> for 100$ :kek: 11:44 < bridge> 100 bucks are not enough for apple xd 11:45 < bridge> you are destroying other paid apps with it 11:45 < bridge> 😬 11:45 < bridge> XCode also requires a license iirc? 11:45 < ws-client> i assume who ever it was did not want to spend 100 a year forever 11:46 < ws-client> @hekkeyne so you are asking for ddnet mobile so long that it became a habit and you also got 2 kids during that time of asking. And you never bothered to try the android version thats already there? xd 11:46 < ws-client> trol 11:47 < bridge> there are many ppl here asking all the time.. i bet it's all the alter egos of a single person 11:47 < bridge> I wrote that 0.9.x does not work (android 14) 11:48 < ws-client> @meloƞ downloading xcode is free and requires no account. Unlike vs :P so apple is smoother than microsoft in that regard. vs forced me to signup to compile at some point xd 11:48 < bridge> huuuuuh really? XD 11:48 < ws-client> ah i see @hekkeyne i must have overseen that 11:49 < bridge> it's okay 12:47 < bridge> @robyt3 do you have a branch on your gh for the touch controls or are they still too unfinished to be worth it? 12:50 < bridge> I still need to finish them up a bit, but they should be ready for a first draft PR tomorrow. 12:50 < bridge> ah great to hear 12:52 < bridge> Jopsti mobile enjoyer 13:15 < bridge> Not very consistently, idk, will try 14:36 < bridge> https://github.com/ddnet/ddnet/graphs/contributors #97 :gigachad: 14:36 < bridge> https://github.com/ddnet/ddnet/issues/97 14:57 < bridge> #80 :gigachad: 14:57 < bridge> https://github.com/ddnet/ddnet/issues/80 14:57 < bridge> ah gg it linked the issue 14:57 < bridge> :kek: 14:57 < bridge> https://github.com/ddnet/ddnet/graphs/contributors #80:gigachad: 15:07 < bridge> pro ddnet githubber 15:11 < bridge> bors[bot] 15:16 < bridge> i think bors[bot] is cheating someone needs to ban him from the github leaderboard 15:16 < bridge> you are just jealous 15:27 < bridge> bors is actually my dummy. I would like to merge stats pls, thank 15:49 < bridge> according to #town-hall dummies have rights and you should ask bors first 16:07 < ws-client> Hello I am ChillerDragon's dummy 16:10 < bridge> ? 16:23 < ws-client> xxxxxxxxD 17:16 < bridge> he is conscious 😮 19:02 < bridge> Im currently building like this (:justatest:): 19:02 < bridge> ```1. rm -Force build 19:02 < bridge> 2. mkdir build 19:02 < bridge> 3. cd build 19:02 < bridge> 4. cmake .. 19:02 < bridge> 5. cmake --build . -j 19:03 < bridge> 6. cd debug 19:03 < bridge> 7. mv .\steam_api.dll .\DDNet.exe ..``` 19:03 < bridge> I think there is a lot of "unnecessary" stuff happening. someone told me a better way to build, although I forgot. Can someone maybe point out whats "unnecessary"? 19:03 < bridge> Im currently building like this (:justatest:): 19:03 < bridge> ```1. rm -Force build 19:03 < bridge> 2. mkdir build 19:03 < bridge> 3. cd build 19:03 < bridge> 4. cmake .. 19:03 < bridge> 5. cmake --build . -j 19:03 < bridge> 6. cd debug 19:03 < bridge> 7. mv .\steam_api.dll .\DDNet.exe ..``` 19:03 < bridge> I think there is a lot of "unnecessary" stuff happening. someone told me a better way to build, although I forgot. Can someone maybe point out a better way to build? 19:07 < bridge> Was it not having to delete `/build` ? 19:07 < bridge> for moderators command /forceswap , that immediately swaps him with blocker and after he bans that person and saves tees that were blocked . 19:07 < bridge> would be helpful if that blocker is somewhere in middle or almost in finish of the map . 19:15 < bridge> i dont think moderators should be able to cheat 19:17 < bridge> dont use msvc :P - if you type them one by one, consider adding a simple .ps script maybe 19:19 < bridge> Im not sure how `cmake --build . -j` works exactly. Does it overwrite changes making the `rm` unnecessary? 19:21 < bridge> `cmake --build` should only recompile necessary changes. `rm` shouldn't be necessary 19:23 < bridge> you could also just add a `--clean-first` if you want a.. well.. clean rebuild 19:23 < bridge> what does clean mean 19:24 < bridge> removing everything 19:25 < bridge> `cmake --clean-first --build . -j` or `cmake --clean-first,``cmake --build . -j` 19:26 < bridge> `cmake --clean-first --build . -j` or `cmake --clean-first`, `cmake --build . -j` 19:26 < bridge> don't clean 19:26 < bridge> `cmake --clean-first --build . -j` 19:26 < bridge> or 19:26 < bridge> `cmake --clean-first`, `cmake --build . -j` 19:26 < bridge> that just makes the build take longer 19:26 < bridge> it re-does work that was already done 19:26 < bridge> yes, but just for curiousity 19:27 < bridge> yes, but just for curiosity 19:27 < bridge> use clean-first if your cmakecache changed and it requires you to, otherwise just use `cmake ..` and `cmake --build . -j` 19:27 < bridge> `-j` shouldn't be necessary either btw 19:27 < bridge> really? 19:27 < bridge> do you use `ninja` for building? 19:27 < bridge> always thought it fallsback to 1 19:27 < bridge> `ninja` does the correct thing 19:28 < bridge> (if you use `make`: switch to ninja. it's faster) 19:28 < bridge> is that an alternative to msvc? 19:28 < bridge> no. (`cmake .. -GNinja`) 19:29 < bridge> ah. msvc is something different, sorry 19:29 < bridge> I don't know about msvc and `-j`. maybe it's necessary there 19:29 < bridge> tbh, I have very little knowledge about the whole building process, especially with c++ 19:30 < bridge> i usually recommend using an IDE of choice with builtin cmake support, it really helps not having to care about it all that much 19:31 < bridge> its mostly a "click here to run x" button in most modern IDE'S :P 19:32 < bridge> I do care, just not very knowledgeable yet 19:37 < bridge> maybe https://discord.com/channels/252358080522747904/293493549758939136/1232683170969681931 can answer some of your questions? - i had a similar issue with msvc and chatted with ewan and roby about it 19:37 < bridge> only for banning blockers and helping blocked tees to be safe 19:38 < bridge> mods shouldn't be able to interfere with that, this seems prone to be abused 19:39 < bridge> I love coding, though its not all I do. So I'm very welcome for any knowledge by people who are more knowledgeable 19:45 < bridge> If a mod abuses it then he shouldn't be a mod. 19:45 < bridge> Could be used to clean the mod team a bit ^^ 19:46 < bridge> :justatest: 19:50 < bridge> It would be the first mod feature which could potentially give yourself an advantage instead of only "punishing" others 19:56 < bridge> but as soon as it is abused (e.g. to steal a r1) it cannot be undone 19:56 < bridge> the rank can only be deleted 19:57 < bridge> I'm not a huge fan of giving any rcon user including admins any ability to modify gameplay directly at all. There is a reason even the admins can't enable test commands in a release build after server start. (I know we technically can but it's the principle rather than the practical) 20:33 < bridge> ping me next time ! 20:45 < bridge> Adding `spectate_free_view` and `spectate_recent` to the Spectate-Mode 20:45 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1264654438287806475/new_spectate_functions.mp4?ex=669ea8ba&is=669d573a&hm=22bb9a29df4dc162710fa5767b921d225f1d0ff4ae85281439bfbc77eb1ecc4e& 20:46 < bridge> Idea: Adding `spectate_free_view` and `spectate_recent` to the Spectate-Mode 20:46 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1264654438287806475/new_spectate_functions.mp4?ex=669ea8ba&is=669d573a&hm=22bb9a29df4dc162710fa5767b921d225f1d0ff4ae85281439bfbc77eb1ecc4e& 20:47 < bridge> Idea: Adding `spectate_free_view` and `spectate_recent` to the Spectate-Mode 20:47 < bridge> `spectate_free_view`: changes to Free View 20:47 < bridge> `spectate_recent`: Spectates the most recently spectated player 20:47 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1264654438287806475/new_spectate_functions.mp4?ex=669ea8ba&is=669d573a&hm=22bb9a29df4dc162710fa5767b921d225f1d0ff4ae85281439bfbc77eb1ecc4e& 20:49 < bridge> You can `spectate -1` for Free View 20:49 < bridge> tbf, thats all the code does :justatest: 20:51 < bridge> tbf, thats all the code does :justatest: I didnt know until i looked in the code tho. maybe adding it to the command description would help some 20:53 < bridge> yeah, would be useful to explain this in the description 20:54 < bridge> wb `spectate_recent`. When I spectate someone else, I often want to check out parts of the map in free view, then switch back to spectating that particular player 21:02 < bridge> Not sure it's worth the added complexity, seems alright without saving and restoring Multi View 21:07 < bridge> ChillerDragon: review ddnet-insta pr pls 🐈 21:12 < bridge> wrong mod to code for 21:12 < bridge> :angy: 21:12 < bridge> this change was essential 21:14 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1264661900369854494/image.png?ex=669eafad&is=669d5e2d&hm=4275a717dd1982ff5bbba5559c69c1e105719031519b9925211ecf9445799d61& 21:14 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1264661900646547536/image.png?ex=669eafad&is=669d5e2d&hm=e9941e35486495cccbe13369f0e09f786c0892d5a5aa917e139567111cc00019& 21:15 < bridge> advertising? 21:15 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1264661900646547536/image.png?ex=669eafad&is=669d5e2d&hm=e9941e35486495cccbe13369f0e09f786c0892d5a5aa917e139567111cc00019& 21:15 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1264662015037931570/image.png?ex=669eafc8&is=669d5e48&hm=5656a95566f2129aac99f59a472c1c520cd05b9c7fa792cdfe8781375e66c141& 21:16 < bridge> oh yeah whattafak is dix 21:20 < bridge> @ninekeem @sedonya 21:25 < bridge> they also had some server with just 6 bots that were displayed in player list 21:25 < bridge> seems somebody attacks them kekw 21:26 < bridge> ye that's because its nudelsaft's js lib based bots 21:26 < bridge> they're testing them for fng or something 21:26 < bridge> those bots were just telling the time lmao 21:26 < bridge> ye currently 21:27 < bridge> also you can curl some data from them xd 21:27 < bridge> https://bots.teesports.org/names 21:30 < bridge> wowo 22:00 < bridge> ```rust 22:00 < bridge> #[derive(Debug, Clone, PartialEq)] 22:00 < bridge> pub struct ExprStruct { 22:00 < bridge> name: String, 22:00 < bridge> fields: BTreeMap, 22:00 < bridge> } 22:00 < bridge> 22:00 < bridge> impl IntoIterator for ExprStruct { 22:00 < bridge> type Item = (String, Expr); 22:00 < bridge> type IntoIter = as IntoIterator>::IntoIter; 22:00 < bridge> 22:00 < bridge> fn into_iter(self) -> Self::IntoIter { 22:00 < bridge> self.fields.into_iter() 22:00 < bridge> } 22:00 < bridge> } 22:00 < bridge> ``` 22:00 < bridge> 22:00 < bridge> is this a cursed way to implement `.into_iter()` or is it ok? 22:07 < bridge> what about the name structz 22:07 < bridge> what about the name struct - isn't it unused? 22:09 < bridge> i will use it before into_iter, so it should be fine(maybe) 22:10 < bridge> Lgtm tho, seems a little unflexibel tho 22:10 < bridge> Lgtm, seems a little unflexibel tho 22:10 < bridge> But If its Just for that one thing, i wouldnt Change it 22:12 < bridge> my development methodology is called "do first, think later" 22:12 < bridge> :gigachad: as all things should be 22:13 < bridge> i was thinking i wont use unwrap but here we are 22:13 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1264676575258087496/image.png?ex=669ebd58&is=669d6bd8&hm=53c41b17d4b867f2b6dc938a033af911085a52bee97b315575ad712529bee057& 22:13 < bridge> unwrap_or_else() is goated change my mind 22:14 < bridge> unwrap's shorter change my mind 22:26 < bridge> Yes, we are being attacked by bots, I don't know who is doing it. But since I'm not at home, only ninekeem can help, and he already knows about the attack 22:27 < bridge> One of the players took a screenshot 22:27 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1264680209844797440/image.png?ex=669ec0ba&is=669d6f3a&hm=76ac9a0d96656c8c26694fe36bf6657360d77dbb57a63ac4c4f3ec1d99dc7f75& 22:28 < bridge> "adogit" appears to be a bot creator, his nickname is similar to the others, but 99.9% it's not his main nickname 22:28 < bridge> nice emojis btw 22:31 < bridge> what's cursed about it? 22:33 < bridge> i dont really understand ` as IntoIterator>::IntoIter` part, maybe it's bad ¯\_(ツ)_/¯ 22:33 < bridge> no, that's fine 22:33 < bridge> Turkey bots ddosed us. I already ban them. I hope… 22:34 < bridge> you could also use `btree_map::IntoIter` 22:34 < bridge> why are they doing this 22:34 < bridge> I don't know. I already met this about half year ago, but bots were on all TeeSports servers. 22:34 < bridge> weird people 22:34 < bridge> that actually looks much nicer 😄 22:35 < bridge> why dont u make fields public 22:38 < bridge> half of my structs have public fields but sometimes something snaps in my head and im like "public - bad" and use private fields xd 22:39 < bridge> sure public _can_ be bad.. but getters and setters (and intoiter here is kinda a getter) can be annoying and _bad_ too i guess 22:39 < bridge> depends on your goal i guess, if u fear someone modifies fields without any reason then yeah 22:40 < bridge> it's my code so noone will change it =] 22:40 < bridge> @jupeyy_keks did you read this? xd 22:41 < bridge> @jupeyy_keks did you see this? xd 22:42 < bridge> ah yeah that sucks 😄 22:42 < bridge> did u use a hashmap or what 22:42 < bridge> yup :gigachad: 22:42 < bridge> linked hash map best 22:42 < bridge> keeps order 22:42 < bridge> keeps O(1) in avg case 22:42 < bridge> haters gonna hate 22:42 < bridge> 😬 22:43 < bridge> performance for nerds, my goal is to make code run :justatest: 22:43 < bridge> python has a that data structure by default 22:43 < bridge> yeah 22:43 < bridge> insert is kinda slow tho, must be said 😄 22:43 < bridge> at least the crate i was using.. and slow ofc doesnt mean 10 times slower 22:43 < bridge> but slower than the std hashmap 22:44 < bridge> the std hashmap is already said to be slow 22:44 < bridge> true 22:44 < bridge> indexmap is next best 22:44 < bridge> but only keeps order in certain cases 22:44 < bridge> delete will swap 22:44 < bridge> fxhashmap is a faster hashmap than the default AFAIK 22:48 < bridge> https://pastebin.com/Ck0ZwzwX 22:49 < bridge> ignore `#access` for vec, i need a very special case... access by index is ofc almost instant 22:49 < bridge> and ofc these benchmarks are rather simple and dont reflect a real world example 22:50 < bridge> what i especially like is that iterating is so fast 22:50 < bridge> can you do https://docs.rs/rustc-hash/2.0.0/rustc_hash/type.FxHashMap.html ? 22:51 < bridge> ok 22:58 < bridge> quite impressive but suffers similar stuff like hashmaps 22:58 < bridge> https://pastebin.com/7f2GCU2U 22:58 < bridge> but for normal hashmaps good replacement 22:59 < bridge> clone and clone_from are insane 22:59 < bridge> almost on pair with vec 22:59 < bridge> at least for few elements 23:51 < bridge> cool. ty ❤️ 23:51 < bridge> the rust compiler uses it internally 23:52 < bridge> Всем привет Стим раздает 10 $ В Честь лета Начинаем отдыхать ,получаем приятные подарки 23:52 < bridge> Всем удачи ^:https://shorturl.at/qlKNm