00:15 < ws-client> @fokkonaut you can iterate the game layer like this ``for (y, x, flags), tile in numpy.ndenumerate(m.game_layer().tiles):`` 00:16 < bridge> i'm abusing client rn 00:16 < ws-client> for setting tiles you have to reassign the tiles attribute ``m.groups[collision_group].layers[collision_layer].tiles = edited_collision`` 00:17 < ws-client> full context here https://github.com/ChillerDragon/teeworlds-reverse-gametiles/blob/master/reverse-gametiles.py 00:17 < bridge> @rob the 5px padding is the same as on the 00:17 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1307122376323891311/unknown.png?ex=67392813&is=6737d693&hm=d70e23979615414a5e0934b732ccddcf28e77b1f030d671d017213b634993b10& 00:17 < ws-client> @fokkonaut what are you working on? 00:18 < bridge> @rob the 5px padding is the same as on the server list 00:18 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1307122376323891311/unknown.png?ex=67392813&is=6737d693&hm=d70e23979615414a5e0934b732ccddcf28e77b1f030d671d017213b634993b10& 00:18 < bridge> @rob the 5px padding is the same as on the friends list 00:18 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1307122376323891311/unknown.png?ex=67392813&is=6737d693&hm=d70e23979615414a5e0934b732ccddcf28e77b1f030d671d017213b634993b10& 00:19 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1307122734488092724/image.png?ex=67392869&is=6737d6e9&hm=7f0f0d2a3cb7873bb10012919f63c4ca4c0b8a82a53b81a512b42cbb8a581be2& 00:25 < bridge> Also for keeping the background color the same thruought why not just move the background to the draw() call done ages ago 00:25 < bridge> instead of relying on backgrounds drawn on backgrounds 01:55 < bridge> just a new map project 01:55 < bridge> check wire 04:42 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1307188982261747752/IMG_20241116_084200_041.jpg?ex=6739661b&is=6738149b&hm=07edfe00ec61ad67eaed2aefe1ce7261aeb31fcd30516ba0ea7c02e4bd3007f5& 04:42 < bridge> What to do? 04:52 < bridge> I forgot to update the system, we figured it out. 05:31 < bridge> sudo apt update 05:31 < bridge> sudo apt upgrade 06:22 < bridge> ChillerDragon is it possible to implement statistics in voting? 06:22 < bridge> For example : Your nickname: nickname 06:22 < bridge> Status: there's like an admin player, etc 06:22 < bridge> . Killstreak (I'll explain here later) 06:22 < bridge> Money: (well, here's the currency) 06:22 < bridge> Experience: (experience Like 1/10 before the upgrade) 06:22 < bridge> Lvl: (lvl) (left until the next one) 06:22 < bridge> Rating: (later) 06:22 < bridge> 06:22 < bridge> Store: (later) 06:22 < bridge> Application for administration: (later) 06:22 < bridge> VIP status (later) 06:22 < bridge> Administration teams (later) 06:22 < bridge> Settings:(later) 06:23 < bridge> Provided that the player is logged in 06:26 < Voxel> Pretty good progress so far! I'm learning basic Regex in the process and this is making my entire conversion much easier! 06:26 < Voxel> if this works, it's going to be huge! 06:26 < Voxel> no more stupid texture atlases 06:36 < bridge> Voxel: what's the scope of your change? 06:36 < bridge> also why are you on irc 😹 06:36 < Voxel> im not joining back on discord yet 06:37 < Voxel> im here for dev talk only 06:37 < Voxel> The scope of my change is... I don't know. But it will remove the ability to change your gameskin, until I get everything working out. 06:38 < bridge> Morning fearless concurrency enjoyers and others 06:41 < bridge> It’s good to hear from you Voxel 06:41 < bridge> Gm 06:41 < bridge> How do I write good rust 06:41 < Voxel> Ask Ryozuki, not me 07:48 < bridge> Write bad rust, show rust andies, analyze their response 07:49 < bridge> I did none of that, so I write the way I like it :lol: 07:57 < bridge> How to make 128 or even more players on my server? 08:07 < ws-client> @woidless I added 128 player support for you to get it you need to switch branch so go to the build folder and do ``git pull && git checkout feature_128 && make`` 08:34 < bridge> What about this? 08:35 < bridge> Should I change max players to 128 in the server config, then insert this command, and restart the server? 08:52 < bridge> Everything is working thanks 08:57 < ws-client> @woidless I added money but I do not have enough motivation to build an entire vote menu now 08:59 < bridge> Then how to make at least money 08:59 < ws-client> update your server 08:59 < ws-client> there are no configs yet 09:02 < bridge> That is, it will immediately appear in the voting? 09:04 < ws-client> yup 09:05 < bridge> You're fearless with concurrency because you write Rust, I'm fearless with concurrency because I'm overconfident. 09:05 < bridge> We are not the same. 09:07 < ws-client> @skibidisigma8261451 are your servers full? which ones are yours? 09:09 < bridge> Is this possible to do 200 players server? We have good hosting and skilled coder 09:10 < ws-client> Yes but ddnet clients will only see 64 tees at a time. But your skilled coder can implement 200 slots on the server side. 09:11 < bridge> Ty 09:17 < bridge> By the way, ChillerDragon, could you give me a text to translate: when a person reaches 5 , 10 , 15 , 20 , 25 kills in a row. And also the texts when a man was killed with these killers in a row 09:46 < ws-client> @woidless next time you find the strings your self and open the issue ok? -.- https://github.com/DDNetPP/DDNetPP/issues/380 09:50 < bridge> ok 09:58 < bridge> ChillerDragon I found a bug on 128 players. Bans , kicks , mutes when I enter the CORRECT id are given to another person 09:59 < ws-client> how did you obtain the CORRECT id? 09:59 < ws-client> you have to use ``status`` 10:01 < bridge> о, простите 10:01 < bridge> Oh, I'm sorry. 10:02 < bridge> But still there is 1 bug 10:02 < bridge> After more than 63 people have entered , the player counter shows 63 and does not rise 10:04 < ws-client> https://zillyhuhn.com/cs/.1731747859.png 10:04 < ws-client> lgtm 10:04 < ws-client> also gogo @woidless translations first 10:05 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1307270390187425842/rn_image_picker_lib_temp_8f1510bc-2cc4-44c0-b769-f8bf0a576db4.jpg?ex=6739b1ec&is=6738606c&hm=47f9a5214e2d867eaf324b3b89ce3fa1ea7f93af3b80a12971e4c51d707feb32& 10:12 < ws-client> @woidless i see yea i cba to look into that now. First we finish translations and 128 bugs maybe later. 10:13 < ws-client> still waiting for your response on github 10:16 < bridge> Answered 10:35 < bridge> hi, how to reload map on client side? what method is responsible for this? 10:43 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1307279903141527552/IMG_20241116_144228.jpg?ex=6739bac8&is=67386948&hm=021cb459f65290ba4d2ad5d556ef740290a5741bfdb506a17ffc66b164927796& 10:43 < bridge> what is it 10:44 < bridge> Lol 10:57 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1307283327945801738/IMG_20241116_145638.jpg?ex=6739bdf9&is=67386c79&hm=eb3a5aa06ff0abc5fd66e1dab82acef1ef91aa089bf7821e5089014e772c156f& 10:57 < bridge> Flying weapons 11:16 < bridge> pls help 😭 11:23 < bridge> That's how the 128 player translation represents players if there are more than 64 11:24 < bridge> What are you trying to do? Initiate the reload from the client or server? 11:30 < bridge> i just tried sending a map reload from the server and my lag went away, but then the timer and player position reset. after debugging 11:30 < bridge> I realized that there is an error in the client 11:30 < bridge> and it fixes it by rebooting the map 11:30 < bridge> i just tried sending a map reload from the server and my lag went away, but then the timer and player position reset. after debugging i realized that there is an error in the client and it fixes it by rebooting the map 11:31 < bridge> @robyt3 11:31 < bridge> How did this happen? How to fix it 11:31 < bridge> send it to channel bags 11:32 < bridge> send it to channel #bugs 11:32 < bridge> But what are you trying to achieve? To reload the map from the server you should do what the server does, search for `// load new map` 11:33 < bridge> It happens because you have more than 64 players and this is not fully supported yet 11:34 < bridge> But after a couple of seconds, these weapons turn into ordinary people 11:34 < bridge> Old clients can only show at most 64 player at the same time, as long as 64 or less players are visible it works 12:30 < bridge> :poggers2: 12:30 < bridge> :poggers2: 12:48 < bridge> :poggers2: 12:50 < bridge> Does ddnet Support 128 now, or is that f-ddrace? 13:08 < bridge> No. The "old clients" wasn't correct, I meant current clients without 128 player support in general 13:09 < bridge> But I guess we could already add forward compatibility for 128 players to the client 13:57 < ws-client> @woidless what is the difference between убийственная and убийственной? 13:58 < ws-client> @fokkonaut I merged your ddnet pr into a ddnet++ feature branch for woidless 13:59 < ws-client> @robyt3 yea adding 128 player client support now without waiting for the server would be really cool 13:59 < bridge> I don't russian but I think the difference is gender? 14:00 < bridge> I don't russian but I think the difference is grammatical gender? 14:00 < ws-client> so which one do i use for killing spree? -.- 14:01 < bridge> yeah I'm not answering that lol 14:01 < ws-client> omg or is it differnt in "is on a killing spree" vs "killing spree was ended" i was hoping for reusable word for word translations 14:10 < bridge> Sorry there was no light 14:11 < bridge> ahhhh 14:11 < ws-client> @woidless light? 14:11 < bridge> "совершил серию убийств" and "серия убийств завершена" 14:12 < bridge> Electricity 14:12 < ws-client> ah 14:12 < bridge> There are invisible people on my server 14:12 < bridge> The Miracle of DDNET 14:13 < ws-client> eee @zhn now im confused 14:14 < bridge> i don't really think you can introduce reusable translation parts for language like german or russian, they have gender xd 14:14 < bridge> How to fix it , it 's related to 128 players 14:14 < ws-client> yea fuck german or russian 14:14 < ws-client> english op 14:14 < ws-client> ok so is this okay @zhn ? ``*** 'ChillerDragon' в блокирующем ерии с 5 убийствами!`` ``Убийственная серия 'ChillerDragon' была прервана ''ChillerDragon.*'' (7 убийств).`` 14:15 < bridge> It's a bug in my algorithm, it's not perfect :) 14:15 < ws-client> @fokkonaut ideally it wouldnt happen to close players right? 14:15 < bridge> Either use it or not, or fix it and propose a fix to F-DDrace aswell 14:15 < bridge> There is a bug that 1 tee can somehow gain the status of not being translated 14:16 < ws-client> i saw a few 14:16 < bridge> If you move away from him and go back, it fixes itself 14:16 < bridge> shouldnt 14:16 < bridge> idk tho 14:16 < ws-client> yea i think proper client support is the way to go anyways 14:16 < bridge> Tried Debugging this a lot, not interested anymore currently 14:16 < ws-client> sad to hear :c 14:16 < bridge> I have people on the server, invisible for a couple of seconds. This is after I have put 128 slots 14:16 < ws-client> i was looking forward to 128 ddnet servers 14:16 < bridge> xd, not really 14:17 < bridge> Revert it, you dont need it anyways 14:17 < bridge> It only makes things more complicated 14:17 < bridge> is that an actual translation? 14:17 < ws-client> @zhn -.- why do i hire a native speaker as translator if my end result is google translate level 14:17 < bridge> and cases*, for whatever reason i can't redact this one 14:17 < ws-client> @zhn this is what i tried to make work give then mess of a code base and what woidless sent me 14:17 < bridge> Need 14:17 < bridge> send original sentence chiller 14:18 < ws-client> `` *** 'ChillerDragon' is on a blocking spree with 5 kills! `` 14:18 < bridge> Then learn how to code and fix it xd 14:18 < bridge> Ty 14:18 < ws-client> ``*** 'ChillerDragon's killing spree was ended by ''ChillerDragon.*'' (7 kills)`` 14:19 < bridge> I really need it. 14:19 < bridge> `Серия убийств игрока '%s' была завершена игроком '%s'` 14:20 < bridge> `'%s' совершил серию из 5 убийств!` 14:21 < bridge> do you have a %d on this one? the last word can have different form if so 14:22 < ws-client> yes but i say "1 kills" in english too thats fine :D 14:22 < bridge> Don't you just love how easy localization is? :P 14:22 < ws-client> or is it worse in russian? 14:22 < bridge> 1 kill(s) 14:22 < bridge> nah, not really 14:22 < ws-client> cool thanks @zhn 14:22 < bridge> then again, I don't think 1 kill counts as a killing spree 14:22 < bridge> ye, you can put 'убийств(а)', i guess 14:23 < ws-client> oh right its 5+ anyways lmao 14:25 < ws-client> omg but with that order of words I have to rewrite all the string formatting somehow 14:30 < bridge> ChillerDragon can you help me with something? 14:30 < ws-client> no i am busy translating 14:41 < ws-client> so this is perfect russian? https://paste.zillyhuhn.com/49 14:41 < bridge> YE 14:42 < ws-client> ok that was ass. Translations done. Enough for today. 14:42 < bridge> And now? 14:44 < ws-client> Now I sleep and you can pull and update if you want new translations. Polishing 128 is a bit of a bigger task. I am not sure if i will do it. 14:44 < bridge> stand 14:45 < bridge> My request is not related to 128 , and translations 14:45 < bridge> I want to pick up the actions that need to be done with the tune group to slow down/speed up 14:45 < bridge> But I can't do it myself. 14:46 < bridge> It will take 10 minutes, please 14:48 < ws-client> What can you not do? Don't you already have the tunes? 14:48 < bridge> They are there , but they are not very good. I'll send it now 14:49 < bridge> ``inverse = 1 / factor 14:49 < bridge> square = factor * factor 14:49 < bridge> 14:49 < bridge> print(f"{prefix} ground_control_speed {10.0 * factor :.3f}") 14:49 < bridge> print(f"{prefix} ground_control_accel {2.0 * square :.3f}") 14:49 < bridge> print(f"{prefix} ground_friction {0.5 ** factor :.3f}") 14:49 < bridge> print(f"{prefix} ground_jump_impulse {13.2 * factor :.3f}") 14:49 < bridge> print(f"{prefix} air_jump_impulse {12.0 * factor :.3f}") 14:49 < bridge> print(f"{prefix} air_control_speed {5.0 * factor :.3f}") 14:49 < bridge> print(f"{prefix} air_control_accel {1.5 * square :.3f}") 14:49 < bridge> print(f"{prefix} air_friction {0.95 ** factor :.3f}") 14:49 < bridge> print(f"{prefix} hook_drag_accel {3.0 * square :.3f}") 14:49 < bridge> print(f"{prefix} hook_drag_speed {15.0 * factor :.3f}") 14:49 < bridge> print(f"{prefix} gravity {0.5 * square :.3f}") 14:50 < bridge> print(f"{prefix} velramp_start {550 * factor :.3f}") 14:50 < bridge> print(f"{prefix} velramp_range {2000 * factor :.3f}") `` 14:50 < bridge> Here are the actions that are taking place now for this or that deceleration/acceleration 14:50 < bridge> Maybe you can fix something here to make it work better? 14:51 < bridge> || me waiting patiently for the day until evelyn listens and uses code blocks in discord - day 7 || 14:51 < bridge> || me waiting patiently to the day until evelyn listens and uses code blocks in discord - day 7 || 14:51 < bridge> || me waiting patiently for the day evelyn listens and uses code blocks in discord - day 7 || 14:52 < bridge> And what is it 14:52 < bridge> \`\`\` 14:52 < bridge> code block 14:52 < bridge> \`\`\` 14:52 < bridge> three backticks (`) for multi-line text 14:52 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1307342548259438712/image.png?ex=6739f520&is=6738a3a0&hm=3aa9148af0adcc5f14cbc0a6e70482008d10c3236057ce25193421f844dd884c& 14:52 < bridge> ```this``` 14:52 < bridge> ``` 14:52 < bridge> yes 14:53 < bridge> ``` 14:54 < bridge> You can even have syntax highlighting if you specify the language like this 14:54 < bridge> \`\`\`py 14:54 < bridge> print(f"Look at me I'm using f strings! a + b = {a + b}") 14:54 < bridge> \`\`\` 14:54 < bridge> ```py 14:54 < bridge> print(f"Look at me I'm using f strings! a + b = {a + b}") 14:54 < bridge> ``` 14:55 < bridge> I got it, but it doesn't change what I asked ChillerDragon about. 14:56 < bridge> You can't improve the slow motion simply by changing the tunes, you need to modify the server 14:56 < bridge> A simple way to start would be making the server accept higher precision tunes 15:00 < bridge> How? 15:00 < ws-client> @woidless yea no im not doing tunes 15:02 < ws-client> @robyt3 are there stats on the amount of mobile players? I have the feeling all those russians are playing the new android version. 15:02 < ws-client> That is why slow mo servers are so popular they make gores with touch controls accessible for beginners. 15:04 < ws-client> If that is the case we should probably invest more in easy maps. To keep them entertained after they finished Linear. 15:11 < bridge> Yeah to a beginner Novice contains like the entire range from doable to super hard 15:11 < bridge> and things that are plain easy barely exist 15:12 < bridge> which does set this game apart in a nice way... if you're a bit of an elitist 15:12 < bridge> I don't have any stats about mobile usage 15:54 < bridge> <3x1st_> when 128 players client support? 16:10 < bridge> <3x1st_> when 128 players client-side support? 16:21 < bridge> Is it "fake" that I use DDNetPP but I specified SlowNet in the server type? 17:20 < bridge> ye, perfect 17:21 < bridge> not really if you modified anything in source code, otherwise ask chiller about his attitude to this :P 18:34 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1307398336931696771/image.png?ex=673a2915&is=6738d795&hm=2ebddd13baf99eeeb0d4aeb0eb708c66d5592e6fd3301c124104b3cb332dbb22& 18:34 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1307398337229750302/image.png?ex=673a2915&is=6738d795&hm=94cbb45892873475d7a3c11e51d9b89c0a8b9bc0076eef0487209dd533dc5137& 18:34 < bridge> why this happens on master 18:34 < bridge> never seen it before 18:34 < bridge> crashes when joining server 18:53 < bridge> 18:53 < bridge> this commit causes it, packer buffer is too big 19:09 < bridge> ```c 19:09 < bridge> if(Direction.x < 0) 19:09 < bridge> Graphics()->QuadsSetRotation(-pi / 2 - State.GetAttach()->m_Angle * pi * 2); 19:09 < bridge> else 19:09 < bridge> Graphics()->QuadsSetRotation(-pi / 2 + State.GetAttach()->m_Angle * pi * 2); 19:09 < bridge> ``` 19:09 < bridge> in all the code that determines the hammer rotation 19:09 < bridge> this is all that is needed 19:09 < bridge> the rest is dead code 19:09 < bridge> bruh 19:10 < bridge> (first and foremost) 19:10 < bridge> and secondly 19:10 < bridge> (and secondly bruh (a second time)) 19:11 < bridge> i dont know how the bashing animation is done but its not here 19:46 < bridge> probably spawns a particle effect on hit 20:01 < bridge> ew 20:01 < bridge> no but it works with my rotate thing 20:01 < bridge> ie the bash happens at the custom angle 20:05 < bridge> ```c 20:05 < bridge> mem_zero(m_aapKeyBindings, sizeof(m_aapKeyBindings)); 20:05 < bridge> ``` 20:05 < bridge> lmao no way 20:06 < bridge> wait what 20:06 < bridge> what the heck are special binds? 20:08 < bridge> it looks unusd 20:08 < bridge> it looks unused 20:38 < bridge> Fun fact, it's possible to make a tree sitter grammar which will eat all of your ram :pepeW: 20:39 < bridge> fun fact: 20:39 < bridge> rm -rf /* 20:39 < bridge> will remove any french language pack installed on your system 20:39 < bridge> AND 20:39 < bridge> remove your system 20:41 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1307430312812482631/image.png?ex=673a46dd&is=6738f55d&hm=8bf2fb1c6e9437b56a99a92031c14798ee73a5a69e2f648f23755d77d7fe5ecd& 20:41 < bridge> lmao 20:41 < bridge> Will system crash if it runs out of memory or there's something that will kill some processes? 0_o 20:41 < bridge> linux will kill the process with the most memory usage 20:41 < bridge> same with cpu usage but its alot worse than that 20:41 < bridge> same with cpu usage but its alot worse than that (citation needed) 20:49 < bridge> does the wildcard bypass —no-preserve-root? 20:49 < bridge> yah 20:51 < bridge> wawow 21:01 < bridge> ``` 21:01 < bridge> str_append(pBuf, ModifierName, BufSize); 21:01 < bridge> str_append(pBuf, "+", BufSize); 21:01 < bridge> ``` 21:01 < bridge> modifiers are unused but this code doesnt work does it? 21:01 < bridge> pBuf isn't modified 21:01 < bridge> so it will do "+trl" 21:09 < bridge> jesus christ the whole 21:09 < bridge> everything is a mess 21:09 < bridge> guess it hasnt been touched since 0.6 21:09 < bridge> lmao 21:27 < bridge> i have written my first proc macro in rust 21:27 < bridge> the best 30 minutes of my life 21:30 < bridge> x-x 21:35 < bridge> ```c 21:35 < bridge> if(g_Config.m_ClSubTickAiming) 21:35 < bridge> { 21:35 < bridge> if(str_comp("+fire", pBind) == 0 || str_comp("+hook", pBind) == 0) 21:35 < bridge> m_MouseOnAction = true; 21:35 < bridge> } 21:35 < bridge> ``` 21:35 < bridge> most people dont have mouse 1 bound to +fire? 21:35 < bridge> they have it +fire; some other shit aswell 21:36 < bridge> ```c 21:36 < bridge> if(g_Config.m_ClSubTickAiming && m_Binds.m_MouseOnAction) 21:36 < bridge> { 21:36 < bridge> m_Controls.m_aMousePosOnAction[g_Config.m_ClDummy] = m_Controls.m_aMousePos[g_Config.m_ClDummy]; 21:36 < bridge> m_Binds.m_MouseOnAction = false; 21:36 < bridge> } 21:36 < bridge> ``` 21:36 < bridge> and this is its only usage? 21:38 < bridge> why not just 21:38 < bridge> g_Config.m_ClSubTickAiming 21:38 < bridge> ? 21:38 < bridge> since its only used on said mouse action 21:39 < bridge> im not even meant to be doing stuff with any of this i should just leave it as is xddd 21:59 < bridge> it compiled??? 21:59 < bridge> nvm 21:59 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1307450084895625226/image.png?ex=673a5947&is=673907c7&hm=4419744151266d08c154077c31b99f37c89415cc1d9f0c2fa42f544fcffed998& 22:09 < bridge> segfault :D 22:11 < bridge> Special binds are a workaround for bindable keys that can also be used in the menus, i.e. F1-F24 22:12 < bridge> i see 22:12 < bridge> is it possible to get traceback on asserts? 22:13 < bridge> Either run with a debugger to begin with or install a post-mortem debugger that will be called when the program dies 22:13 < bridge> I used https://github.com/jrfonseca/drmingw as post-mortem debugger on Windows 22:13 < bridge> I use https://github.com/jrfonseca/drmingw as post-mortem debugger on Windows 22:14 < bridge> eh i just need to know the line number x-x 22:14 < bridge> That's what DrMingw does 22:14 < bridge> yep 22:15 < bridge> wait i can just do a segfault inside the dbg assert and asan will tell me 22:16 < bridge> Does ASAN not break on the `dbg_break`? 22:16 < bridge> nop 22:16 < bridge> well i have asan on (hopefuly) 22:16 < bridge> and it creates an illegal instruction 22:16 < bridge> which asan doesnt catch 22:18 < bridge> 2024-11-16 21:18:41 I assert: /home/solly/Games/ddnet/src/game/client/components/binds.h(36): ModifierMask invalid 22:18 < bridge> 22:18 < bridge> 22:18 < bridge> 22:19 < bridge> Segmentation fault (core dumped) 22:19 < bridge> oh i guess not... 22:20 < bridge> uhhh why is asan not asaning 22:22 < bridge> just had to nuke my builddir 22:23 < bridge> > Q: Why didn't ASan report an obviously invalid memory access in my code? 22:23 < bridge> > A1: If your errors is too obvious, compiler might have already optimized it out by the time Asan runs. 22:23 < bridge> https://github.com/google/sanitizers/wiki/addresssanitizer 22:23 < bridge> optimize out an error? 22:24 < bridge> ive heard of compiler going "ah yes these things have been asserted thus i can optimize like etc etc" 22:24 < bridge> but it just was that asan wasnt enabled 22:24 < bridge> i just forgot to check for null somewehre 22:24 < bridge> in the spaghetti that is CBinds::oninput 22:29 < bridge> https://github.com/ddnet/ddnet/issues/5710 22:29 < bridge> the jumping code in reference to this is so confusing xd 22:30 < bridge> we have m_Jumps, m_TotalJumps, and m_Jumped 22:30 < bridge> but seems like m_Jumped is a 2-bit mask for an odd reason 22:37 < Voxel> You know what would also be cool for the future? Some way to make automappers communicate with each other. Like, you run one automapper, and then that one can send certain tile info, and recievers can get it and proceed to do their own stuff using the info it has.