00:15 < bridge> where is the boundery between cheating and dummy commands? your dummy automatcly watching you and hits you in time periods. he can mirror your movements. so what exactly sets away dummy commands from botting? 00:17 < bridge> That’s skill issue on my side 00:18 < bridge> @teero777: xd 08:29 < bridge> <0xdeen> Dummy is part of official DDNet client, so it's ok. 08:35 < bridge> Botting is considered a person using tools / cheats which unrelates to actual, intended features, thus being bannable and illegal. 08:36 < bridge> dummy, as well as it's commands provided by the DDNet community is considered legal in their own terms in many cokmunities such as Gores and Block. Other servers might restrict you from using dummy, but thats about it. 08:37 < bridge> dummy, as well as it's commands provided by the DDNet community is considered legal in their own terms in many communities such as Gores and Block. Other servers might restrict you from using dummy, but thats about it. 10:00 < bridge> thursday vulkan 10:00 < bridge> sadly no jupstar 10:13 < bridge> https://twitter.com/icculus/status/1773056354984317398 10:13 < bridge> @robyt3 sdl3 soon out :justatest: :poggers2: 10:13 < bridge> https://vxtwitter.com/icculus/status/1773056354984317398 10:13 < bridge> https://vxtwitter.com/icculus/status/1773073603119972786 11:37 < bridge> https://teerank.io 11:40 < bridge> (connecting) :gigachad: 12:15 < bridge> :feelsbadman: 12:15 < bridge> fake 12:15 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1222866744561893537/image.png?ex=6617c667&is=66055167&hm=dc04bcd6efedef74819cb000ced992127e0b379277a57aa030d10d4e704ddb80& 12:16 < bridge> Imagine ryo actually playing the Game :kek: 12:16 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1222866994592874606/image.png?ex=6617c6a3&is=660551a3&hm=1055a96f16c72555c876bd367487da039cb567947588d738d2ac00996c62c3b1& 12:16 < bridge> i played it before it was on steam more tho 12:17 < bridge> also i play using the gentoo build 12:17 < bridge> so it doesnt count xd 12:18 < bridge> My brain automatically corrected: 11,17 GB required. 12:18 < bridge> I used to play teeworlds on Ubuntu 8.04 Back in 2009, since that was the only Game that looked interesting back then 12:19 < bridge> Fetched IT freshly Out the App Store :greenthing: 12:20 < bridge> It's very concerning how much chiller is working on 0.7 stuff no one asked for 12:20 < bridge> :KEKW: 12:20 < bridge> xd 12:20 < bridge> whats going on? i havent followed lately 12:21 < bridge> I'm serious, he'll get angry when we don't feel like merging things we don't want 12:21 < bridge> He got His GitHub acc locked by copying upstream 0.7 with issues and prs and stuff, and now Hes cooking 0.7^2 12:22 < bridge> lol 12:22 < bridge> https://github.com/teeworlds-community/teeworlds 12:25 < bridge> Chiller fact Check that btw, that was what i remember 12:25 < bridge> Dont wanna accuse you of anything :justatest: 12:33 < bridge> wtf is this logo 12:53 < bridge> just stole the repository name and logo from tee-community repository :pepeW: :lol: 12:53 < bridge> https://github.com/tee-community/ 12:53 < bridge> just stole the organization name and logo from tee-community organization :pepeW: :lol: 12:53 < bridge> https://github.com/tee-community/ 13:22 < bridge> chiller stole the organization name and logo from tee-community organization :pepeW: :lol: 13:22 < bridge> https://github.com/tee-community/ 13:23 < bridge> chiller stole the organization name and logo idea from tee-community organization :pepeW: :lol: 13:23 < bridge> https://github.com/tee-community/ 13:25 < bridge> chiller stole the organization name and logo idea from tee-community organization :pepeW: :lol: 13:25 < bridge> https://github.com/tee-community/ 13:25 < bridge> 13:25 < bridge> * but `tee` in `tee-community` it's not teeworlds, it's name of game characters 13:25 < bridge> chiller stole the organization name and logo idea from tee-community organization :pepeW: :lol: 13:25 < bridge> https://github.com/tee-community/ 13:25 < bridge> 13:25 < bridge> \* but `tee` in `tee-community` it's not teeworlds, it's name of game characters 15:39 < bridge> Looking at the player count at https://steamcharts.com/app/380840 it really seems like a pointless use of life energy 16:19 < bridge> Doesn't seem like the update is immediately relevant for us though. https://www.phoronix.com/news/SDL-3.0-Preview-Release 16:22 < bridge> # Free 24/7 Onlyfans LEAKS 16:22 < bridge> **https://discord.gg/onlyfansleaks ** 16:22 < bridge> @everyone @here 16:22 < bridge> "pro player" - clicks on spoofed links :kek: 16:22 < bridge> gawd damn you mods are fast 17:04 < bridge> okay thanks 17:58 < bridge> another day, another quick c++ question. 17:58 < bridge> when iterating over an std::vector by doing smth like for(auto &t : MyVector) 17:58 < bridge> will it go from begin() to end() or the other way around? 17:58 < bridge> another day, another quick c++ question. 17:58 < bridge> when iterating over an `std::vector` by doing smth like `for(auto &t : MyVector)` 17:58 < bridge> will it go from begin() to end() or the other way around? 17:59 < bridge> another day, another quick c++ question. 17:59 < bridge> when iterating over an `std::vector` by doing smth like `for(auto &t : v)` 17:59 < bridge> will it go from begin() to end() or the other way around? 18:00 < bridge> or is it bound by some condition? im kinda confused rn since in my program it seems to be going from end to begin where as when i try it as a minimal example it goes from begin to end 18:01 < bridge> who 18:01 < bridge> ```cpp 18:01 < bridge> #include 18:01 < bridge> #include 18:01 < bridge> 18:01 < bridge> int main() { 18:01 < bridge> std::vector v = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9}; 18:01 < bridge> for (auto &t : v) { 18:01 < bridge> std::cout << t; 18:01 < bridge> } 18:01 < bridge> std::cout << '\n'; 18:01 < bridge> } 18:01 < bridge> ``` 18:01 < bridge> output: `0123456789` 18:02 < bridge> shouldnt it? :D 18:03 < bridge> an iteration in a ranged-based loop should always iterate from begin to end 18:03 < bridge> thats what i thought too 18:04 < bridge> `m_vPriority.emplace(m_vPriority.begin(), z);` should emplace z to the start of the vector right? 18:04 < bridge> so when iterating it should be the first element 18:05 < bridge> yes 18:05 < bridge> that is correct 18:05 < bridge> im kinda confused 18:05 < bridge> my code doesnt work 18:05 < bridge> classic 18:06 < bridge> what you learn in school vs whats asked in the exam 18:06 < bridge> :kek: 18:06 < bridge> ah wait - you're using emplace 18:06 < bridge> try it with .insert 18:07 < bridge> `m_vPriority.insert(m_vPriority.begin(), z);` 18:07 < bridge> okay no i think i know where the problem was 18:08 < bridge> i was doing `for(int &i : v)` and then returned the element `i` instead of what place it was 18:08 < bridge> so i was returning like 23 instead of 0 since 23 was the 0th element 18:09 < bridge> <-StormAx> :sendhelp: - how do i set oppisite side for Y? 18:09 < bridge> <-StormAx> so i have Graphics()->DrawRect(0.0f, 0.0f, 250.0f, 12.5f, ColorRGBA(0.0f, 0.0f, 0.0f, 0.7f), IGraphics::CORNER_B, 3.75f); 18:09 < bridge> <-StormAx> but i want Y to draw in down side of the screen 18:15 < bridge> what do you mean? 18:21 < bridge> Use `Ui()->Screen()` to get the size of the screen and then offset the Y position of the rect so the bottom side of the rect aligns with the bottom of the screen, if I understand the question correctly 18:54 < bridge> <-StormAx> i hope i understand right 18:54 < bridge> <-StormAx> but 18:54 < bridge> <-StormAx> ```cpp 18:54 < bridge> <-StormAx> 18:54 < bridge> <-StormAx> float rectY = UI()->Screen()->h; 18:55 < bridge> <-StormAx> 18:55 < bridge> <-StormAx> Graphics()->DrawRect(0.0f, rectY, 250.0f, 12.5f, ColorRGBA(0.0f, 0.0f, 0.0f, 0.7f), IGraphics::CORNER_B, 3.75f); 18:55 < bridge> <-StormAx> ``` 18:55 < bridge> <-StormAx> idk is that supposed to work like that 18:55 < bridge> The Y position is the top edge, so this rect would appear outside of the screen 18:56 < bridge> You need to subtract the height of the rect 18:56 < bridge> <-StormAx> fair 18:56 < bridge> <-StormAx> ohh 18:56 < bridge> <-StormAx> let's try 18:58 < bridge> <-StormAx> wait, height of the rect? 18:59 < bridge> UI()->Screen()->h - 12.5f 18:59 < bridge> <-StormAx> float rectY = ScreenRect - 12.5 18:59 < bridge> <-StormAx> yeah 19:00 < bridge> UI()->Screen()->h - 12.5f ig 19:00 < bridge> Or `ScreenRect.HSplitBottom(12.5f, nullptr, &Row)` 19:00 < bridge> <-StormAx> well, somewhere here supposed to appear line xd https://i.imgur.com/z5DhqOR.png 19:01 < bridge> <-StormAx> lets find out ;0 19:01 < bridge> This won't set the width yet though 19:19 < bridge> <-StormAx> https://i.imgur.com/6omOoQU.png 19:19 < bridge> <-StormAx> i've just noticed 20:03 < bridge> @heinrich5991 artkukumomo@gmail.com 20:03 < bridge> ops wrong copy paste 20:03 < bridge> anyway @heinrich5991 look at this when u can https://bugs.gentoo.org/927880 20:09 < bridge> its possible its a new thing in gcc 14 20:10 < bridge> Want to fix it? Seems like a missing `#include ` in `jobs.cpp` which was previously supplied from some other header I assume 20:11 < bridge> but why is it detected only there? 20:11 < bridge> ok by only there i mean, why ci doesnt detect that 20:11 < bridge> but yeah i can fix it 20:12 < bridge> Maybe different (order of) includes in standard headers 20:12 < bridge> Definitely looks like algorithm include is missing there 20:12 < bridge> hm i dont have gcc 14 20:29 < bridge> when are you doing this 20:29 < bridge> because it's probably not the best idea 20:30 < bridge> when you emplace an item the vector will move every item after your index later by the amount you're inserting 20:31 < bridge> so if you do this in a loop it means it's really spending most of its time moving shit in the vector 20:32 < bridge> you might just wanna use a different container 20:33 < bridge> it depends on the amount of elements in the vector, but the time complexity will increase for each element newly added - might want to just use std::deque or std::list 20:33 < bridge> deque is probably best 20:33 < bridge> agreed 20:44 < bridge> maybe he even needs std::stack only 20:44 < bridge> possible 20:45 < bridge> i think he really only needs the O(1) reads/writes to front and back 20:45 < bridge> which stack gets from deque 20:47 < bridge> i think he really only needs the O(1) writes to front and back 20:49 < bridge> Or add to the back and iterate backwards instead 20:50 < bridge> can't do that with the epic loop syntax though 20:52 < bridge> u can in rust tho 🤓 ☝️ 20:52 < bridge> if you want, i can ask him to either turn it back on or just shut it down. He uses it for other game as well (not sure he's still playing as he used to). Snail also has ways to contact him 20:52 < bridge> ye snail plays dota with him 20:53 < bridge> @snailx3 20:53 < bridge> wake up sleeper 20:53 < bridge> if it's been shut down and nobody's complained for a while then i think it should just be kept off 20:53 < bridge> i would use it over discord if any american ddracers used teamspeak but alas 20:54 < bridge> even then maybe not if it's located in a far off land 20:58 < bridge> it was quite useful before discord, back in time, from 2014 to 2016 i'd say 21:14 < bridge> How do I convert timestamp to date? 22:01 < bridge> i have at most 20 elements and this is only done when clicking on another window so its probably fine imo 22:01 < bridge> You can with C++20 22:02 < bridge> just for context: that was for layering windows (like a floating window manager) 22:02 < bridge> why is a vector better than a deque in this case though 22:03 < bridge> if you can make an optimization you should 22:03 < bridge> even if it’s fine without it 22:03 < bridge> can you iterate over a deque without popping elements? 22:04 < bridge> `for(auto i : vec | std::ranges::views::reverse)` 22:05 < bridge> whats that syntax? ive never seen it before? (exept bit operations) 22:05 < bridge> is this a bitwise or overload 22:05 < bridge> cursed 22:05 < bridge> whats that syntax? ive never seen it before? (except bit operations) 22:06 < bridge> ah ok you can just do [] 22:06 < bridge> https://stackoverflow.com/questions/8965504/what-is-the-best-way-to-access-deques-element-in-c-stl 22:06 < bridge> okay thx 22:06 < bridge> i will try 22:11 < bridge> Deque gives you O(1) push at both ends, it is implemented differently to a vector. Might not be desirable the way it allocates 22:11 < bridge> Indexing into a deque always entails 2 levels of indirection 22:12 < bridge> Overload 22:14 < bridge> this is barely shorter than just writing the full non-range based for with rbegin and rend 22:15 < bridge> xDD 22:15 < bridge> its for the flex 22:15 < bridge> actually 22:15 < bridge> ```cpp 22:15 < bridge> for(auto it : vec | std::ranges::views::reverse) ; 22:15 < bridge> for(auto it = vec.rbegin; it != vec.rend; it++) ; 22:15 < bridge> ``` 22:15 < bridge> longer by 1 22:15 < bridge> 😃 22:15 < bridge> There is also `std::ranges::reverse_view` 22:16 < bridge> innovation 22:16 < bridge> i almost feel like you should be able to use an iterator in the range expression of the range based for 22:18 < bridge> ```cpp 22:18 < bridge> for(auto it : vec.rbegin()) ; 22:18 < bridge> ``` 22:18 < bridge> also i forgot parens on my rbegin and rend here 22:18 < bridge> it's actually longer by several 22:18 < bridge> actually 22:18 < bridge> ```cpp 22:18 < bridge> for(auto it : v | std::ranges::views::reverse) ; 22:18 < bridge> for(auto it = v.rbegin(); it != vec.rend(); it++) ; 22:18 < bridge> ``` 22:18 < bridge> Problem is that end is not trigvial to derive from begin 22:18 < bridge> trivial* 22:19 < bridge> yeah 22:19 < bridge> oh well 22:20 < bridge> longer by at least 3 when not tapped into any of `std::/ranges::/views::` 22:20 < bridge> longer by at least 2 when not tapped into any of `std::/ranges::/views::` 22:21 < bridge> longer by at least 3 when not tapped into any of `std::/ranges::/views::` 22:21 < bridge> brain off rn 22:21 < bridge> If ranges were types we could have had a more rust like interface. But I'm sure there are issues with that too 22:26 < bridge> yes i said is this "bitwise or overload" 22:26 < bridge> not a logical or in the sentence 22:26 < bridge> :d 22:28 < bridge> Sorry far too tired 22:29 < bridge> Some guy on the metro asked me for directions. I replied with "Don't you know?". That tired 22:37 < bridge> poor guy 23:30 < bridge> @learath2 u know my name is Edgar right 23:30 < bridge> someone made a IA 23:30 < bridge> https://playedgar.netlify.app/ 23:32 < bridge> someone made a AI 23:32 < bridge> :justatest: 23:37 < bridge> Cute little “game”/“experience” 23:37 < bridge> ye