08:31 < bridge_> morning people who are in vacations and others 08:31 < bridge_> morning people who are on vacations and others 08:39 < bridge_> morning people who are not on vacations and others 08:42 < bridge_> gm 08:57 < bridge_> Morming 09:05 < bridge_> norming 09:06 < bridge_> morning 09:29 < bridge_> <0xdeen> @gorp_tw Thanks! ^ 09:29 < bridge_> ofc, thank you for taking the time to hear us out. πŸ™‚ 09:36 < bridge_> good morning ❀️ 09:37 < bridge_> and others :kek: 09:49 < bridge_> @gorp_tw where are those servers hosted exactly 09:49 < bridge_> cuz im wondering where i would get the best ping 09:49 < bridge_> European players that want to play with us would get the best ping on USA2 which is on the east coast (Virginia) 09:50 < bridge_> East Asian players would get decent ping to USA4 which is on the west coast 09:51 < bridge_> @alw5 now you can LARP as an American more easily, gg 09:59 < bridge_> everyone was complaining about usa3 but i got the best ping there xd 09:59 < bridge_> i had like 120-130 usually 09:59 < bridge_> while on other its closer to 160 09:59 < bridge_> i mean you would, it's farther north 10:00 < bridge_> USA1 is south 10:03 < bridge_> ez 10:04 < bridge_> i could always argue im a west coast player and thats why i get 100 ping 10:04 < bridge_> or like alaska 10:06 < bridge_> i actually don't think ive met a single Alaskan player 10:06 < bridge_> not one that is outted as Alaskan anyway 10:06 < bridge_> probably not very American of me but I think of Alaska like some other country :kek: 10:07 < bridge_> imagine trying to play DDNet in Hawaii though 10:36 < bridge_> ```cpp 10:37 < bridge_> static auto s_ReadLine = [pFile](char *pBuf, int Length) -> bool { 10:37 < bridge_> if(!std::fgets(pBuf, sizeof(pBuf), pFile)) 10:37 < bridge_> ``` 10:37 < bridge_> pro programmers, spot the mistake 10:37 < bridge_> spoiler: ||sizeof(pBuf) == 4|| 10:49 < bridge_> Watch out with static and pFile 10:50 < bridge_> should be & 10:50 < bridge_> i think 10:51 < bridge_> yes but static lambdas are only initialized once, this was the issue last time with mine 10:51 < bridge_> and an issue i was debugging as you said that 10:51 < bridge_> i also wansnt closing the files 10:52 < bridge_> dangling fd!!! 10:53 < bridge_> &pFile = stack use after return 10:57 < bridge_> Why are you staticing all the lambdas? 10:58 < bridge_> i dont know 10:59 < bridge_> pro programmers, spot the mistake 10:59 < bridge_> spoiler: ||sizeof(pBuf) == 4|| 10:59 < bridge_> spoiler2: ||static == explosion|| 10:59 < bridge_> Then just don't static the lambda 10:59 < bridge_> thats what i did 11:01 < bridge_> how do lambdas/closures look in assembly? :thonk: 11:02 < bridge_> Like a function mostly. With a this argument that points to the closure object if it's capturing 11:03 < bridge_> Like a function mostly. With a first argument that points to the closure object if it's capturing 11:06 < bridge_> They get very often inlined 11:12 < bridge_> interesting 11:12 < bridge_> https://cdn.discordapp.com/attachments/293493549758939136/1361267773321379891/image.png?ex=67fe22e8&is=67fcd168&hm=45b1d1f5e5b20e0b26f6c787c9bc0f5c4ec95ec20dcd9373319b48fc31df0783& 11:14 < bridge_> does anyone want to hold hands in the code maybe 😳 11:14 < bridge_> show me around 11:15 < bridge_> i want to get involved with ddnet stuff directly instead of just memeposting on issues 11:17 < bridge_> try again with -O2 11:18 < bridge_> might jsut get reutnr 0x67 11:18 < bridge_> It will remove all the code xd 11:18 < bridge_> oh yeah πŸ˜‚ 11:18 < bridge_> I wanted to see generated code for lambdas 11:20 < bridge_> if life is determanistic it would be constexpr meaning it would be optimized to just a return value meaning life wouldnt be exist 11:20 < bridge_> thus life is not deteramistic 11:20 < bridge_> take that dermatologists 11:32 < bridge_> you assume the universe get's optimized 11:33 < bridge_> maybe we it is but we are in the compile step currently trying to optimize us 11:33 < bridge_> maybe it is but we are in the compile step currently trying to optimize us 11:37 < bridge_> woaw 11:37 < bridge_> thats deep 11:41 < bridge_> so no one wants to hold hands... ok 11:42 < bridge_> i will buy the big o Reilly book with a squirrel on it or something like this to learn cpp 12:46 < bridge_> @gorp go on github, search for issues good for beginners, implement PR, profit 12:48 < bridge_> @gorp_tw go on github, search for issues good for beginners, implement PR, profit 12:53 < bridge_> There are tons of minor things you can fix 12:53 < bridge_> Just don't do them all at once with no regard for the reviewers time like me 13:35 < bridge_> Is that not mostly what I said? Perhaps I was wrong about the first argument, holding the closure object. It might be using rcx in an hope to avoid clobbering the callers arguments 13:36 < bridge_> It is. I'll learn more when I'll try to make closures in my lang. 13:36 < bridge_> yes, make them small chunks, incoming maplayers-5 13:41 < bridge_> make them volatile xd 14:17 < bridge_> @gorp_tw here a beginner issue, should be easy for you ^.^ 14:17 < bridge_> Phy changes are end game 14:36 < bridge_> this is no change, it's just an addition :justatest: :justatest: :justatest: 14:38 < bridge_> @gorp_tw: you could add accounts 14:39 < bridge_> can you remove 0.7 14:40 < bridge_> Oh yea good idea drop this legacy 15 year old 0.6 protocol 14:41 < bridge_> implement 0.9 14:41 < bridge_> MODULAR SKINSSS 14:41 < bridge_> if no one wants to touch it, i might 14:42 < bridge_> Touch what 14:42 < bridge_> modular skins 14:42 < bridge_> We already have them 14:42 < bridge_> 0.7 are eeeeh 14:42 < bridge_> ! 14:42 < bridge_> ! 14:42 < bridge_> souly > dolly 14:43 < bridge_> Omg autocorrect 14:43 < bridge_> haha you cant edit cuz ur an app 14:43 < bridge_> solly wins 14:43 < bridge_> souly > solly 14:43 < bridge_> :OMEGALUL: 14:43 < bridge_> Get app'd chiller 14:43 < bridge_> Watch me edit! 14:43 < bridge_> WAHT 14:43 < bridge_> get edited on 14:43 < bridge_> IS THIS WIZARDRY 14:43 < bridge_> whatafak 14:43 < bridge_> rekt 14:43 < bridge_> photoshop 14:43 < bridge_> Dolly loses 14:43 < bridge_> ): 14:43 < bridge_> haha 14:43 < bridge_> good bot 14:43 < bridge_> :3 14:43 < bridge_> great bot 14:44 < bridge_> grate bot [BLUSH](https://cdn.discordapp.com/emojis/676149241768443904.gif?size=48&animated=true&name=BLUSH) 14:44 < bridge_> Solly get edited on! 14:44 < bridge_> ive been summoned 14:44 < bridge_> (matrix ping) 14:44 < bridge_> hi solly 14:44 < bridge_> hi Souly 14:44 < bridge_> hi solly 14:44 < bridge_> can matrix see bot messages 14:45 < bridge_> true 14:45 < bridge_> yes but the bot ignores us 14:45 < bridge_> Bad bot 14:45 < bridge_> good bot 14:45 < bridge_> :heartw: 14:45 < bridge_> stinky ahh bot 14:45 < bridge_> do you see edited messages of bots? 14:46 < bridge_> https://cdn.discordapp.com/attachments/293493549758939136/1361321623613079562/image.png?ex=67fe550f&is=67fd038f&hm=72354ae11ecfc7ec2611fba2d7db0401ea510e5b0d4cee08c7ccb1572b176ba0& 14:46 < bridge_> fotoshop 14:46 < bridge_> more like photopea 14:47 < bridge_> I would send a screenshot 14:47 < bridge_> But the bridge broke 14:47 < bridge_> sadge 14:49 < bridge_> πŸ–ΌοΈ πŸ«› 15:34 < bridge_> anyone knows what causes these weird fps spikes? 15:34 < bridge_> https://cdn.discordapp.com/attachments/293493549758939136/1361333871458648084/image.png?ex=67fe6077&is=67fd0ef7&hm=38ca8e32e26c9fcbfb6063f22a473ac34f3de691b29618008772253a6b7f458c& 15:35 < bridge_> vulkan renderer, amd gpu, vsync on (75hz) 15:35 < bridge_> probably vsync xd 15:36 < bridge_> but vsync should keep it stable? :P 15:36 < bridge_> also turning it off doesnt seem to help 15:36 < bridge_> What's your max fps? 15:37 < bridge_> 75 hz monitor, refresh rate 75 too 15:37 < bridge_> oh and its linux forgot it say 15:37 < bridge_> Yeah but what's your max possible 15:38 < bridge_> if I uncap? 15:38 < bridge_> I could imagine `cl_refresh_rate` could do weird things like this. Did you set a value for it? 15:38 < bridge_> Yes 15:39 < bridge_> hmm, it was 150 but I uncapped tps and it 1k now 15:39 < bridge_> https://cdn.discordapp.com/attachments/293493549758939136/1361335008136007760/image.png?ex=67fe6186&is=67fd1006&hm=28320f6f024f7e521724b597f311724a47c2f90bba441c463c10a1a05260e97d& 15:39 < bridge_> Was `cl_refresh_rate` non zero? 15:39 < bridge_> yes, 150 15:40 < bridge_> Then I assume it was that. Does only turning on vsync also show this behavior? 15:41 < bridge_> no? vsync affects nothing 15:41 < bridge_> What? 15:42 < bridge_> wait, what "behavior" are we talking about? fps spikes? 15:42 < bridge_> Yes 15:42 < bridge_> vsync does not help nor remove it 15:42 < bridge_> seems like its only affected by tps 15:42 < bridge_> `cl_refresh_rate 0; gfx_refresh_rate 0; gfx_vsync 1; gfx_asyncrender_old 0` 15:42 < bridge_> Should give you 75 fps 15:43 < bridge_> yes yes, it does 15:43 < bridge_> thanks for uhh resolving it then.. 15:44 < bridge_> Yeah sry, do you expect a technical answer? 15:44 < bridge_> still, tps cap shouldn't do that.. 15:44 < bridge_> `cl_refresh_rate` is simply a weirdo 15:44 < bridge_> oh okay then πŸ˜„ 15:44 < bridge_> I think it makes sense. 15:44 < bridge_> 15:44 < bridge_> cl_refresh_rate sleeps independent of FPS 15:45 < bridge_> So If you are unlucky you get a bad frame time, and then render again and get a good frame time and then you get some weird graphs like above 15:45 < bridge_> thought it probably should adjust its sleep times to account for lost frames or something 15:45 < bridge_> `gfx_refresh_rate` does that 15:45 < bridge_> I'd recommend using that to limit fps 15:45 < bridge_> Except you have major heating problems with your CPU 15:46 < bridge_> yeah, would be preferable to limit both fps and tps.. 15:47 < bridge_> tps = ticks per second? 15:48 < bridge_> yes, cl_refresh_rate 15:48 < bridge_> Use this then 15:48 < bridge_> Then your CPU has to wait for vsync 15:48 < bridge_> wasnt there a dedicated config for that in the old versions? 15:48 < bridge_> something like cl_limit_fps 15:51 < bridge_> Not that I am aware of, maybe in teeworlds client. But the cmds above shouldℒ️ do what arigin wants 15:51 < bridge_> oh, seems like the issue has resolved! ❀️ 15:52 < bridge_> forgot to put in the last command it seems 15:58 < bridge_> aah ye i checked it seems to be vanilla thing 15:58 < bridge_> theres `gfx_limitfps` 16:36 < bridge_> soon to be more fps 😎 16:45 < ws-client> C++ is such a meme 16:45 < ws-client> https://zillyhuhn.com/cs/cpp_moment.png 17:18 < bridge_> why dont alias cat to bat? 17:22 < bridge_> why would they? cat is still cat 17:22 < bridge_> bat > cat 17:23 < bridge_> https://ohok.org/bat-is-the-better-cat/ 17:24 < bridge_> also switched my ls to https://github.com/eza-community/eza 17:30 < bridge_> πŸ¦‡ > 🐱 17:32 < ws-client> i still use cat sometimes for what it is for: concatination 17:32 < ws-client> could alias less to bat 17:33 < bridge_> well seems like bat should do concatenation just fine 17:34 < ws-client> ah fair 17:34 < ws-client> but also i dont mind typing "bat" i see no disadvantage over typing "cat" 17:34 < bridge_> yeah 17:34 < bridge_> muscle memory 17:34 < bridge_> I'm not a huge fan of replacing standard utilities 17:35 < bridge_> even though I know it makes sense to do 17:35 < ws-client> rewrite in C! 17:35 < bridge_> In rust I trust 17:35 < ws-client> in C we segfault! 17:35 < bridge_> like rg is cool for example and makes sense 17:36 < bridge_> something like fish is a no no for me 17:38 < bridge_> I wouldn't replace the old ones though because they're almost never fully compatible with the flags that the original takes 17:42 < bridge_> I use both rg and grep 17:44 < bridge_> I use cat | grep 17:44 < bridge_> and chiller feels offended 17:45 < bridge_> for maximum redundancy :gigachad: 17:45 < bridge_> any nanoers 17:45 < bridge_> i am a microer 17:45 < bridge_> cat \| grep users aren’t shellcheck enjoyers 17:54 < bridge_> nanoer here 17:55 < bridge_> @essigautomat sure I can give that one a shot 17:57 < bridge_> chillerdragon: heinrich put a 7 year mutex on accounts 17:57 < bridge_> cat gep nano, vi, whatever is needed atm 17:59 < bridge_> i tried to use micro but my puny brain couldn't deal with the 2% added complexity 18:00 < bridge_> aye 18:20 < bridge_> DDNet builds in 8 seconds for me. is that good 18:22 < bridge_> for complete compile its pretty good 18:22 < bridge_> do you expect it to be slower 18:22 < bridge_> i figured it would be 18:22 < bridge_> what s ur cpu 18:23 < bridge_> 12700kf :greenthing: 18:23 < bridge_> for a complite compile??? 18:23 < bridge_> dude it takes me like 1 min 18:23 < bridge_> i didnt even use dev flag 18:24 < bridge_> on release or debug 18:24 < bridge_> whatever default flag is probably debug 18:24 < bridge_> yea it is default debug 18:24 < bridge_> still tho 18:25 < bridge_> debug compiles slower 18:25 < bridge_> i think? 18:25 < bridge_> are u building all or just the client 18:27 < bridge_> idk man i havent compiled ddnet in a long ass time, all defaults 18:27 < bridge_> dude im just trying to find where the speedup layer is 😭 18:27 < bridge_> also to whoever did the xy flipping for speedup. i love u so much 18:35 < bridge_> probaly ass 18:36 < bridge_> assasin 18:36 < bridge_> assa 18:38 < bridge_> i have been looking for the +/- buttons for like 10 minutes 18:39 < bridge_> oh i just thought of an issue i might try, adding a server setting should stick it under the cursor position, if set 18:40 < bridge_> i like to sort my server settings by tune and i normally use a ton of them, so its a pain to smash the up button 18:40 < bridge_> or just in general, a button to sort them 18:41 < bridge_> ass ass in 18:44 < bridge_> I only did the new speedtiles, xy flipping was already present, don't credit me on sb. elses work 18:47 < bridge_> rendering? In the Map? Physics? Editor? Depends on what you need to do 18:47 < bridge_> starting with the editor right now 18:51 < bridge_> You just need to understand, that maps are basically stacks of 2D arrays of tiles 18:51 < bridge_> maybe this is the line of interest https://github.com/kaitlynia/ddnet/blob/3267a94259079177d5830f1d4b382e9eb7d29201/src/game/editor/mapitems/layer_speedup.cpp#L300 18:51 < bridge_> sorry its on my fork πŸ˜› 18:53 < bridge_> this looks already good πŸ‘ 18:53 < bridge_> i haven't changed anything XD 19:08 < bridge_> yeah but like a good place to look 19:27 < bridge_> ok i spent like 40 minutes trying to find +/- 19:27 < bridge_> gg 19:27 < bridge_> it all makes sense 19:27 < bridge_> kaitlyniagorp 19:27 < bridge_> already giveth up 19:27 < bridge_> maybe i try again another time 19:28 < bridge_> i mean like i found that when you fill/draw with a brush it would allow you to put zero force 19:28 < bridge_> but the thing that updates it back to 1 if u go under i couldnt find 19:28 < bridge_> i tried grep -RH with force 19:32 < furo> @gorp_tw Search for `"Max Speed"` and you will find the possible min/max for each fields. 19:42 < bridge_> thank you πŸ™‚ 19:43 < bridge_> that should be the only thing needed, now need to test the behavior to see if it is expected 19:44 < bridge_> 100 open prs 19:44 < bridge_> https://tenor.com/view/low-tier-god-ltg-tie-him-up-gif-11927923657429006938 19:44 < bridge_> running `./DDNet` in terminal hangs after ``` 19:45 < bridge_> 2025-04-14 10:44:31 I http: libcurl version 8.12.1 (compiled = 8.12.1) 19:45 < bridge_> 2025-04-14 10:44:31 I sdl: SDL version 2.32.0 (compiled = 2.32.0) 19:45 < bridge_> 2025-04-14 10:44:31 I gfx: Created OpenGL 3.0 context.``` 19:45 < bridge_> probably doing something wrong :nouis: 19:45 < bridge_> you in debug? 19:45 < bridge_> yep 19:45 < bridge_> it tends to... take a while 19:45 < bridge_> gotcha 19:45 < bridge_> also cant SIGINT 19:45 < bridge_> XD 19:45 < bridge_> uhoh 19:46 < bridge_> HALP 19:46 < bridge_> https://cdn.discordapp.com/attachments/293493549758939136/1361397098536505485/image.png?ex=67fe9b59&is=67fd49d9&hm=267c2ae425eff94036c1f6cc43688e3319452b558517bf403a93815616ef082d& 19:46 < bridge_> is it using 100% cpu 19:46 < bridge_> try ctrl-z 19:46 < bridge_> no 9% 19:46 < bridge_> weird 19:46 < bridge_> or just killall -9 DDNet 19:46 < bridge_> i have another instance of ddnet open so using top is not easy in this case 19:46 < bridge_> teehee 19:46 < bridge_> ah 19:46 < bridge_> ill close game 19:50 < bridge_> i bet there will be an issue in placing and displaying the tile 19:50 < bridge_> force 0 is considered valid in other areas 19:51 < bridge_> also MapIO might be an issue 19:52 < bridge_> As the gui who refactors rendering.... there WILL be an issue 19:52 < bridge_> As the guy who refactors rendering.... there WILL be an issue 19:52 < bridge_> (gui is funny here) 19:52 < bridge_> (good pun) 19:52 < bridge_> i really wish you had just kept that 19:52 < bridge_> im upset 19:53 < bridge_> don't be, I can help πŸ™‚ 19:57 < bridge_> rendering Vulkan: https://github.com/ddnet/ddnet/blob/master/src%2Fgame%2Fclient%2Fcomponents%2Fmaplayers.cpp#L464 19:57 < bridge_> rendering Vulkan @gorp_tw : https://github.com/ddnet/ddnet/blob/master/src%2Fgame%2Fclient%2Fcomponents%2Fmaplayers.cpp#L464 19:58 < bridge_> 😭 19:58 < bridge_> u would be faster at this than me... 19:58 < bridge_> the point is ur learning how to do it 19:58 < bridge_> ddnet doesnt even want to run tho 19:59 < bridge_> WSG??? 19:59 < bridge_> tell me your issue now 19:59 < bridge_> yes but its about learning 19:59 < bridge_> https://cdn.discordapp.com/attachments/293493549758939136/1361400546686406746/IMG_7987.jpg?ex=67fe9e8f&is=67fd4d0f&hm=9d93cdd76f3e9cb7b5036a868a4dc086be372a72293cf2514bb66574f40234cf& 19:59 < bridge_> i do want to learn 19:59 < bridge_> puppy 20:00 < bridge_> gorp 20:00 < bridge_> you live in like canada or some shit bro 20:00 < bridge_> colorados 20:00 < bridge_> ohh 20:00 < bridge_> have u been to portland 20:01 < bridge_> and if so, how do u feel denver compares 20:01 < bridge_> cus my family REALLY wants to move to denver 20:01 < bridge_> i haven’t been 20:01 < bridge_> sorry Assa i will keep trying but let me procrastinate first 20:01 < bridge_> with mindless conversation 20:01 < bridge_> i wonder whats the issue 20:01 < bridge_> You know that you now need to program 20% more @mpft ? okay lets not open that rabbit hole 20:01 < bridge_> dude i have no idea it hangs after OpenGL init 20:02 < bridge_> i have all the deps 20:02 < bridge_> what OS 20:02 < bridge_> my eraser code works first try 20:02 < bridge_> amazing 20:02 < bridge_> ``` 20:02 < bridge_> -- Using mold linker 20:02 < bridge_> -- Found SQLite3: /usr/include (found version "3.49.1") 20:02 < bridge_> -- Checking for module 'sqlite3' 20:02 < bridge_> -- Found sqlite3, version 3.49.1 20:02 < bridge_> -- Found SQLite3: /usr/include 20:02 < bridge_> -- ******** DDNet ******** 20:02 < bridge_> -- Target OS: linux x86_64 20:02 < bridge_> -- Compiler: /usr/bin/c++ 20:02 < bridge_> -- Rust version: rustc 1.85.1 (4eb161250 2025-03-15) (Arch Linux rust 1:1.85.1-1) 20:02 < bridge_> -- Build type: Release 20:02 < bridge_> -- Dependencies: 20:02 < bridge_> -- * Curl found 20:02 < bridge_> -- * Freetype found 20:02 < bridge_> -- * Glew found 20:02 < bridge_> -- * GTest found 20:02 < bridge_> -- * Ogg found 20:02 < bridge_> -- * OpenSSL Crypto found 20:02 < bridge_> -- * Opus found 20:02 < bridge_> -- * Opusfile found 20:02 < bridge_> -- * PNG found 20:02 < bridge_> -- * Python3 found 20:03 < bridge_> -- * SDL2 found 20:03 < bridge_> -- * SQLite3 found 20:03 < bridge_> -- * Wavpack found 20:03 < bridge_> -- * Zlib found 20:03 < bridge_> -- * Vulkan found 20:03 < bridge_> -- Configuring done (0.4s) 20:03 < bridge_> -- Generating done (0.1s) 20:03 < bridge_> -- Build files have been written to: /home/lynn/ddnet/build``` 20:03 < bridge_> distro 20:03 < bridge_> all included 20:03 < bridge_> i mean 20:03 < bridge_> can u play other games 20:03 < bridge_> without hang 20:03 < bridge_> yessir 20:03 < bridge_> do u have gdb installed 20:03 < bridge_> uuuuh 20:03 < bridge_> probably not 20:03 < bridge_> well 20:03 < bridge_> apparently i do 20:05 < bridge_> yea 20:05 < bridge_> I can just change first `else if` to `if` and remove that statement completely, right? 20:05 < bridge_> bounds is already checked elsewhere 20:06 < bridge_> u changed some stuff?\ 20:06 < bridge_> i cant read 20:06 < bridge_> i changed a single integer literal so far 20:06 < bridge_> from 1 to 0 lol 20:07 < bridge_> I would check for both, 0 speed and 0 max_speed 20:07 < bridge_> both should never be 0, same for the editor slider 20:07 < bridge_> but in this case we don't want to set `Index = 0` 20:07 < bridge_> 0 force is now permissible 20:08 < bridge_> I just got bamboozled by rust error so hard, it showed an error in wrong place and I couldn't understand what's wrong 20:08 < bridge_> https://cdn.discordapp.com/attachments/293493549758939136/1361402786448937082/image.png?ex=67fea0a5&is=67fd4f25&hm=54e995bcc959b07eed856853d16dbcad28facacacd1228df85ec0779f70c69b4& 20:08 < bridge_> 0 force and 0 max speed is just a stopper, please don't allow that 20:09 < bridge_> its already in the game as i said before xD 20:09 < bridge_> do u want me to record demo 20:09 < bridge_> also 0 max_speed is a special value for 'unlimited' 20:10 < bridge_> I am on vacation, cant Start the game xD 20:11 < bridge_> ill post 20:12 < bridge_> yea like hwat filw 20:12 < bridge_> idk if it's opengl related if it worked before this 20:13 < bridge_> maybe a race condition 20:13 < bridge_> on something that'll never happen 20:16 < bridge_> i love when roby closes my issues >< 20:16 < bridge_> i dont have enough buttons to do bgdraw with 20:17 < bridge_> WHEN GORP WILL POST 20:17 < bridge_> ⚠️ 20:28 < bridge_> for any max speed, you cant start accelerating in the direction of the arrow if you stop 20:28 < bridge_> 1,1: can move against arrow even from 0 speed 20:28 < bridge_> 2,1: can only move against arrow if you had some run speed before 20:28 < bridge_> 3,1: can only move against if you had more than usual run speed from before (hook, other source, good floating point run speed) otherwise 20:28 < bridge_> https://cdn.discordapp.com/attachments/293493549758939136/1361407779482374285/2025-04-14_11-27-00.mp4?ex=67fea54c&is=67fd53cc&hm=7017b4dbe5f3b7d671eabfaead0335b7cd7e4d7acb9d70e20c6614243e514559& 20:28 < bridge_> discord embed breaks, you can see it fine locally 20:29 < bridge_> for any max speed, you cant start accelerating in the direction of the arrow 20:29 < bridge_> 1,1: can move against arrow even from 0 speed 20:29 < bridge_> 2,1: can only move against arrow if you had some run speed before 20:29 < bridge_> 3,1: can only move against if you had more than usual run speed from before (hook, other source, good floating point run speed) otherwise 20:29 < bridge_> https://cdn.discordapp.com/attachments/293493549758939136/1361407779482374285/2025-04-14_11-27-00.mp4?ex=67fea54c&is=67fd53cc&hm=7017b4dbe5f3b7d671eabfaead0335b7cd7e4d7acb9d70e20c6614243e514559& 20:29 < bridge_> for any max speed 1, you cant start accelerating in the direction of the arrow 20:29 < bridge_> 1,1: can move against arrow even from 0 speed 20:29 < bridge_> 2,1: can only move against arrow if you had some run speed before 20:29 < bridge_> 3,1: can only move against if you had more than usual run speed from before (hook, other source, good floating point run speed) otherwise 20:29 < bridge_> https://cdn.discordapp.com/attachments/293493549758939136/1361407779482374285/2025-04-14_11-27-00.mp4?ex=67fea54c&is=67fd53cc&hm=7017b4dbe5f3b7d671eabfaead0335b7cd7e4d7acb9d70e20c6614243e514559& 20:32 < bridge_> so its still a stopper in the direction of the arrow, and 255 is virtually a bidirectional stopper 20:32 < bridge_> so requesting that 0,0 is checked and considered invalid is a meaningless venture 20:32 < bridge_> unless now you want to ban 1 max speed too... 20:41 < bridge_> hmm 0/0 would be meaningless, 0 max_speed is unlimited, so this is mostly equal to air 20:41 < bridge_> 0 is a special case for max_speed 20:42 < bridge_> yeah i guess if you try to place 0,0 it wont do anything, but is it necessarily invalid? 20:42 < bridge_> you can have 0 force and max speed 0 separately 20:43 < bridge_> its like if you place a tune with no tune_zone 20:43 < bridge_> there is no harm, but obviously its bad style 20:43 < bridge_> (i guess you can exempt from global tune, but this is a bit niche) 20:45 < bridge_> yes spereately is fine, both is the issue 20:45 < bridge_> https://github.com/ddnet/ddnet/blob/master/src%2Fgame%2Fserver%2Fentities%2Fcharacter.cpp#L1512 20:45 < bridge_> consider also that 0 switch number is permitted, just not by the use of buttons 20:45 < bridge_> @robyt3 unordered_map cant be constexpr 20:47 < bridge_> seems that would do nothing as you say, but i guess it's pointless math 20:47 < bridge_> @robyt3 unordered_map cant be constexpr 20:47 < bridge_> 20:47 < bridge_> `static constexpr std::unordered_map NAMED_COLORS = {` 20:47 < bridge_> ```cpp 20:47 < bridge_> Constexpr variable cannot have non-literal type 'const std::unordered_map'clang(constexpr_var_non_literal) 20:47 < bridge_> unordered_map.h(109, 11): 'unordered_map' is not literal because it is not an aggregate and has no constexpr constructors other than copy or move constructors 20:47 < bridge_> ``` 20:48 < bridge_> it's not pointless, it's just a much higher speed limit, the highest possible speed to be exact 20:49 < bridge_> but very pointless to map 20:49 < bridge_> ah does it use different ramp rules than non-speeder 20:49 < bridge_> i guess that makes sense bc u get crazy speeds sometimes 20:49 < bridge_> no, the same 20:49 < bridge_> yes, that what this does 20:50 < bridge_> i guess im confused, are you saying it bypasses normal speed limits to map with it 20:52 < bridge_> DDNet has a global speed limit, if you go faster you will get slower. Meaning: your velocity vector gets longer, but your actual speed slows 20:52 < bridge_> ok we fixed opengl :brownbear: 20:52 < bridge_> im so helpful 20:53 < bridge_> no? 20:53 < bridge_> i used my normal client 20:53 < bridge_> The new speedtiles don't accelerate over the global maximum 20:54 < bridge_> i found with speeders i couldnt get more than ~185 y and ~75 x speed 20:54 < bridge_> 79 but yeah 20:54 < bridge_> huh i guess i was using bad values xd 20:54 < bridge_> no? xd im pretty sure it is 75 bps 20:55 < bridge_> i was under the impression that new tiles didnt give speed penalty for going over? 20:55 < bridge_> bps? bits per second? 20:55 < bridge_> blocks 20:55 < bridge_> blocks per second 20:55 < bridge_> 118 and 255 gave same speed? 20:56 < bridge_> idk 20:57 < bridge_> unrelated but i was unable to figure out why tees always lose some speed in blue tele for a tick even if there is no friction or gravity anywhre 20:57 < bridge_> point of the new ones was to have comparable numbers , so 20 force on old is 20 force on new 20:57 < bridge_> you actually dont move at all in ddnet, the map moves instead 20:58 < bridge_> https://discord.com/channels/252358080522747904/746534464984973323/1361415300813160691 wtf i clicked wrong channel 20:59 < bridge_> is movement evaluated at TP destinations before collision is checked? 21:00 < bridge_> just seems like blue tele will skip checking speeder on tpto sometimes 21:00 < bridge_> may be 1-tick specific 21:03 < bridge_> ```rust 21:03 < bridge_> /// # let mut executed = false; 21:04 < bridge_> /// # console.pin_mut().Register(s!("command"), s!("ssssssss"), CFGFLAG_SERVER, IConsole_FCommandCallback(callback), UserPtr::from(&mut executed), s!("")); 21:04 < bridge_> /// # console.pin_mut().ExecuteLine(s!(r#"command "$f00" $ffa500 $12345 shiny cyan -16777216 $f008 $00ffff80"#), -1, true); 21:04 < bridge_> /// # extern "C" fn callback(result_param: &IConsole_IResult, mut user: UserPtr) { 21:04 < bridge_> /// # unsafe { *user.cast_mut::() = true; } 21:04 < bridge_> /// let result: &IConsole_IResult /* = `command "$f00" $ffa500 $12345 shiny cyan -16777216 $f008 $00ffff80` */; 21:04 < bridge_> /// # result = result_param; 21:04 < bridge_> /// assert_eq!(result.GetColor(0, 0.0), ColorHSLA { h: 0.0, s: 1.0, l: 0.5, a: 1.0 }); // red 21:04 < bridge_> /// assert_eq!(result.GetColor(1, 0.0), ColorHSLA { h: 0.10784314, s: 1.0, l: 0.5, a: 1.0 }); // DDNet logo color 21:04 < bridge_> /// assert_eq!(result.GetColor(2, 0.0), ColorHSLA { h: 0.0, s: 0.0, l: 0.0, a: 1.0 }); // cannot be parsed => black 21:04 < bridge_> 21:04 < bridge_> ``` 21:04 < bridge_> can someone explain the crack rust plp were on when doing this 21:04 < bridge_> these are not tests, theyre comments, they have played us for fools 21:10 < bridge_> probably someone was like huh my tests are not passing, but i know the code works so, fuck this test 21:16 < bridge_> they are actually tests 21:17 < bridge_> roby too powerful now, he scares me 21:17 < bridge_> maybe i should cut my losses and stick to fixing the website 21:18 < bridge_> then i can become purple again