01:02 < bridge> what do u use for collision? 01:03 < bridge> not shore if its better or worse with particles 01:03 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1416559861008826510/switch_2025-09-13_18-59-38.mp4?ex=68c749ad&is=68c5f82d&hm=3fd384cb682735fde9b175bf838b8c5dba0000a49bbb16e0bb3845e38683d530& 01:03 < bridge> OH MY GOD WHAT 01:03 < bridge> THAT'S SO COOL???? 01:03 < bridge> looks perfect to me 01:03 < bridge> they almost feel too modern xd but im too lazy to change it 01:04 < bridge> i tink have to move it out of general group though cause they don't fully move during the hammers 01:04 < bridge> are the particfles server or client side 01:04 < bridge> are the particles server or client side 01:04 < bridge> client side 01:04 < bridge> maybe randomize them a bit 01:05 < bridge> cause they look way too linear 01:05 < bridge> which is awesome in my opinion 01:05 < bridge> i think it looksf ine, but im not sure how the behaviour of turning on and off works 01:05 < bridge> the right one is an alternating switch other two do what their color does 01:08 < bridge> wtf are particles tick dependent xd 01:09 < bridge> Yo 01:09 < bridge> How can I see a server's statistics 01:09 < bridge> I remember there being a website for that 01:23 < bridge> Looks so nice 01:23 < bridge> I was sceptical about the particles but this is nice 01:25 < bridge> for some reason they dont have the same distance each time 01:25 < bridge> idk why i set flowaffected and collision to false 01:26 < bridge> flow haha nice joke 01:27 < bridge> hm 01:55 < bridge> Try with high bandwidth 01:55 < bridge> It might be a 25tps thing 02:01 < bridge> oh true i'll check 02:14 < bridge> it would be so cool if u were able to make whole platforms that toggle along these 02:14 < bridge> so they can also turn on and off visual layers as well 02:18 < bridge> thats a lot harder 🫡 but would be cool yea 02:18 < bridge> well true lol 02:53 < bridge> random positions for the particles would make it better 02:56 < bridge> hey that's waht I said :C 03:15 < bridge> Uh so guys 03:18 < bridge> All fngs servers are down if you join one you get banned for 3000 minutes + theres like a new cheat that makes you a moderator or sum like that cause ive been playing earlier today and there were cheaters that had like auto laser and shi like that on. When you tried to kick them it would say something like you cant kick a moderator 03:18 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1416593993415917651/ScreenRecording_09-14-2025_03-16-34_1.mov?ex=68c76977&is=68c617f7&hm=64cc0295739382f59017226327c5442cb9384b6037118e66801e426aedb3f5cb& 05:25 < bridge> D: 05:28 < bridge> @noketchup do u know anything 05:28 < bridge> about this? 05:28 < bridge> @noketchup do u know anything about this? 05:53 < bridge> It's not really fast, patiga has a fast one 11:06 < ws-client> **** @z2basti I can not reproduce. I can still join "all" fng servers and there are no cheaters. Which client do you use? And which servers exactly did you connect to? 11:14 < bridge> the last one is actually really important, cuz if it's like Noby's fng, then Noby should really pay attention to it 12:01 < bridge> today i had to fix a bug to fix a bug 12:01 < bridge> i had a bug in the page fault and panic handler 12:01 < bridge> which occurred when bug 2 happened 12:01 < bridge> page fault was recursively faulting xd 12:04 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1416726385145282673/image.png?ex=68c7e4c3&is=68c69343&hm=72a25acd2c38996a003fd1bf883f0a5342f9f65310ae500f552f83ac7c05d27a& 12:04 < bridge> can spawn programs loaded from fs now 12:05 < bridge> when dev in own os? 12:19 < bridge> i dont have a editor 12:19 < bridge> xd 12:19 < bridge> nor compiler nor lot of things 12:33 < bridge> time to debug 🙁 I played with this for months now, never had it crash 12:35 < bridge> Nah I must be fucking stupid 12:35 < bridge> ``` 12:35 < bridge> if(Env == -1) 12:35 < bridge> return m_EnvelopeExtremaItemNone; // No envelope just means no movement 12:35 < bridge> else if(Env < -1 || Env > (int)m_vEnvelopeExtrema.size()) 12:35 < bridge> return m_EnvelopeExtremaItemInvalid; 12:35 < bridge> return m_vEnvelopeExtrema[Env]; 12:35 < bridge> ``` 12:35 < bridge> 12:35 < bridge> Spot the error 12:35 < bridge> >= 12:36 < bridge> >= ? 12:36 < bridge> >= 12:37 < bridge> the other thing is, the map contains quads with an env, but no envs 12:54 < ws-client> **** @Assa heinrich once told me to capitalize the first letter of the commit. Everyone still seems to stick to it. Except you <:justatest:572499997178986510> 12:54 < ws-client> **** oh and dobry xd 12:54 < ws-client> **** but he is robyte so it doesnt count 12:54 < bridge> I do, but this was a quick hotfix 12:55 < bridge> i normally do : 12:55 < ws-client> **** but we dont do that here xd 12:55 < bridge> but I do that here 12:56 < ws-client> **** i guess robi does too 12:56 < ws-client> **** pure chaos 12:56 < bridge> put it in the contrib.md 12:56 < bridge> @chillerdragon where do i put it 12:56 < bridge> its out of order whereever i do 12:57 < ws-client> **** @Solly (bun bun) idc where too much. Just pick something that feels right. But try to at least put it somewhere sameish in header and source as far as the current mess allows 12:57 < ws-client> **** @Assa did you introduce the bug fixed in https://github.com/ddnet/ddnet/pull/10915 ? 12:57 < bridge> @chillerdragon can you review the 1 line PR? I am very confident you can do that 12:57 < bridge> yes 🙁 12:57 < ws-client> **** ok nice 12:57 < bridge> okay is done 12:58 < bridge> not nice, it's was a wrong invalid behavior check, I am afraid of other maps 12:59 < bridge> forgot to push 12:59 < bridge> is done now 12:59 < bridge> x-x 12:59 < ws-client> **** No if its your code and your bug you are the code owner and you can do whatever you want with it. Makes the review easy because you break nobody elses hidden agenda burried in the code. 12:59 < ws-client> **** thats why its "nice" @Assa xd 13:01 < bridge> I am only mad about myself there, such a stupid bug, now I have 3 bugs on my neck 🙁 13:36 < bridge> Does anyone have a ready-made Anti TAS system code? 13:39 < ws-client> **** @rehoboamrulit doubt. Which servers are yours? 13:41 < ws-client> **** @learath2 i am sad my prs are not being merged. Can you send some reviews or hire more reviewers please. 13:42 < bridge> Anything urgent? 13:42 < ws-client> **** i would like to get the rcon refactor in 13:42 < ws-client> **** i tried to split it into atomic easy and fast to merge prs 13:43 < ws-client> **** but all of them stay untouched for weeks and are now full of conflicts so now when i have time to work on the rcon stuff i can not continue 13:46 < bridge> Are you set on the design part of the rcon stuff now? 13:46 < ws-client> **** no 13:46 < ws-client> **** nobody commented on it 13:47 < ws-client> **** but i guess i am fine with our latest proposal 13:47 < bridge> why does the current build pipeline take almost an hour? 13:47 < ws-client> **** but there are some prs that just make working on it easier 13:47 < ws-client> **** @Assa oh that ._. also on my todo 13:47 < ws-client> **** you can also do it :p 13:47 < ws-client> **** build a Dockerfile and push it to gh as a build base 13:48 < bridge> no I mean, previously it was like 20-30 minutes 13:48 < ws-client> **** we should be able to get a huuuge performance increase w that 13:48 < ws-client> **** at least it still finishes @Assa xd my ddnet++ does not pass anymore because the runners do not have enough ram 13:48 < bridge> If you gimme some pr numbers I can take a look 13:49 < ws-client> **** https://github.com/ddnet/ddnet/pull/10892 13:49 < ws-client> **** https://github.com/ddnet/ddnet/pull/10914 13:49 < ws-client> **** https://github.com/ddnet/ddnet/pull/10836 13:49 < ws-client> **** https://github.com/ddnet/ddnet/pull/10827 13:49 < ws-client> **** https://github.com/ddnet/ddnet/pull/10813 13:49 < ws-client> **** https://github.com/ddnet/ddnet/pull/10793 13:50 < ws-client> **** https://github.com/ddnet/ddnet/pull/10773 13:50 < bridge> stop posting all your 23 PRs 13:50 < ws-client> **** only the relevant ones he asked for 13:50 < bridge> I also have a list of PRs ... 13:51 < ws-client> **** well but your not leratos bff 13:52 < ws-client> **** https://github.com/ddnet/ddnet/pull/10732 this i assume? 13:52 < ws-client> **** your prs are just too hard 13:53 < bridge> a few more 13:53 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1416753766467768370/Unbenannt.png?ex=68c7fe43&is=68c6acc3&hm=fdc08102c96550ef55ba4d3f05d33579b8c5f877bc1774236e05ee6e425f66ae& 13:54 < ws-client> **** u need all of them for something? -.- 13:54 < bridge> some of them are exlcuding each other, either A or B, like with mapitems or envelope sync 13:54 < ws-client> **** yeye 13:55 < bridge> and the ivec thing is just future proofing 15:02 < ws-client> **** @ByFox u here? 15:03 < ws-client> **** @byfox * 15:03 < bridge> a? 15:03 < ws-client> **** nice 15:04 < ws-client> **** i am working on credits 15:04 < ws-client> **** did you look at kaizo insta for foot? 15:04 < ws-client> **** or even take parts of the code? 15:04 < bridge> I watched but didn't use his version 15:04 < ws-client> **** okay so no credit i guess 15:05 < ws-client> **** i credit you as "ByFox" ok? 15:05 < bridge> I liked how football is made in kaizo-insta, it is convenient, but there are a lot of bugs that take longer to fix 15:06 < ws-client> **** okay yes i just want to make sure that if we took anything from kz that we credit him and his project 15:06 < bridge> Specify as ByFox, I am already specified somewhere 15:06 < ws-client> **** yes 15:06 < ws-client> **** you are 15:06 < bridge> Specify as ByFox, I am already listed as such somewhere 15:07 < bridge> xd 15:32 < bridge> K Gores 15:32 < bridge> I have already tried to implement it, and even implemented it , but it interfered with legitimate players. 15:32 < bridge> The anti-shuffle system should sort of push the player back 15:52 < ws-client> **** @rehoboamrulit do you have a lot of cheaters there? oO 16:02 < bridge> yes 16:06 < bridge> Oh interesting. How do you know? @rehoboamrulit 16:22 < bridge> i found a consistent crash in clangd! 16:22 < bridge> https://github.com/llvm/llvm-project/issues/158485 16:32 < bridge> Records on maps 16:54 < bridge> why is it itallic 16:55 < bridge> lol the underscores, but why the second 16:55 < bridge> randomness 17:19 < bridge> I have _an 17:19 < bridge> idea_ why 17:30 < bridge> dsa _test _dsadsa_ 17:30 < bridge> it always takes the last 17:30 < bridge> That is an interesting parsing direction 17:40 < bridge> @blaiszephyr updated gentoo today since a week or so 17:40 < bridge> 43 packages 17:40 < bridge> not bad 17:40 < bridge> Linux gentoo 6.16.7-gentoo #1 SMP PREEMPT_DYNAMIC Sun Sep 14 17:31:06 CEST 2025 x86_64 AMD Ryzen 9 7900X3D 12-Core Processor AuthenticAMD GNU/Linux 17:50 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1416813430417002636/image.png?ex=68c835d4&is=68c6e454&hm=4b25f1c53b1fd86d840d1a80c96865188b6118cfb0b0abc8b4043e2f5386926b& 18:03 < bridge> almost! 18:03 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1416816669103493323/image.png?ex=68c838d9&is=68c6e759&hm=32bbafc8a4a2df25a0af3dd1f724248962156898381926ec65d86b5472e2f8bb& 18:10 < bridge> are there any sources to proper skin rendering or do i have to look at the code? xd 18:25 < bridge> the animation system is so confusing 18:27 < bridge> ```cpp 18:27 < bridge> static CAnimation x78[] = { 18:27 < bridge> /* x78[0] */ { "base", /* x78[0].body */ { 1,x5137, }, /* x78[0].back_foot */ { 1,x5144, }, /* x78[0].front_foot */ { 1,x5151, }, /* x78[0].attach */ { 0,x5158, }, }, 18:27 < bridge> /* x78[1] */ { "idle", /* x78[1].body */ { 0,x5182, }, /* x78[1].back_foot */ { 1,x5189, }, /* x78[1].front_foot */ { 1,x5196, }, /* x78[1].attach */ { 0,x5203, }, }, 18:27 < bridge> /* x78[2] */ { "inair", /* x78[2].body */ { 0,x5222, }, /* x78[2].back_foot */ { 1,x5229, }, /* x78[2].front_foot */ { 1,x5236, }, /* x78[2].attach */ { 0,x5243, }, }, 18:27 < bridge> /* x78[3] */ { "sit_left", /* x78[3].body */ { 1,x5262, }, /* x78[3].back_foot */ { 1,x5269, }, /* x78[3].front_foot */ { 1,x5276, }, /* x78[3].attach */ { 0,x5283, }, }, 18:27 < bridge> /* x78[4] */ { "sit_right", /* x78[4].body */ { 1,x5307, }, /* x78[4].back_foot */ { 1,x5314, }, /* x78[4].front_foot */ { 1,x5321, }, /* x78[4].attach */ { 0,x5328, }, }, 18:27 < bridge> /* x78[5] */ { "walk", /* x78[5].body */ { 6,x5352, }, /* x78[5].back_foot */ { 6,x5359, }, /* x78[5].front_foot */ { 6,x5366, }, /* x78[5].attach */ { 0,x5373, }, }, 18:28 < bridge> /* x78[6] */ { "run_left", /* x78[6].body */ { 6,x5472, }, /* x78[6].back_foot */ { 6,x5479, }, /* x78[6].front_foot */ { 6,x5486, }, /* x78[6].attach */ { 0,x5493, }, }, 18:28 < bridge> /* x78[7] */ { "run_right", /* x78[7].body */ { 6,x5592, }, /* x78[7].back_foot */ { 6,x5599, }, /* x78[7].front_foot */ { 6,x5606, }, /* x78[7].attach */ { 0,x5613, }, }, 18:28 < bridge> /* x78[8] */ { "hammer_swing", /* x78[8].body */ { 0,x5712, }, /* x78[8].back_foot */ { 0,x5719, }, /* x78[8].front_foot */ { 0,x5726, }, /* x78[8].attach */ { 5,x5733, }, }, 18:28 < bridge> /* x78[9] */ { "ninja_swing", /* x78[9].body */ { 0,x5767, }, /* x78[9].back_foot */ { 0,x5774, }, /* x78[9].front_foot */ { 0,x5781, }, /* x78[9].attach */ { 6,x5788, }, }, 18:28 < bridge> }; 18:28 < bridge> ``` 18:28 < bridge> oh here it is 18:35 < bridge> That's generated code, `content.py` is very readable 18:37 < bridge> ```python 18:37 < bridge> anim = Animation("base") 18:38 < bridge> anim.body.frames.Add(AnimKeyframe(0, 0, -4, 0)) 18:38 < bridge> anim.back_foot.frames.Add(AnimKeyframe(0, 0, 10, 0)) 18:38 < bridge> anim.front_foot.frames.Add(AnimKeyframe(0, 0, 10, 0)) 18:38 < bridge> container.animations.Add(anim) 18:38 < bridge> 18:38 < bridge> anim = Animation("idle") 18:38 < bridge> anim.back_foot.frames.Add(AnimKeyframe(0, -7, 0, 0)) 18:38 < bridge> anim.front_foot.frames.Add(AnimKeyframe(0, 7, 0, 0)) 18:38 < bridge> container.animations.Add(anim) 18:38 < bridge> ``` 18:38 < bridge> based on this shouldn't the feet be at an offset of 4 units to the feet? but the feet are moved 7 feet to the right/left based on the foot? how do i know the y offset of the feet to the body? because it is definitely not 4 18:41 < bridge> most i get is a sus tee 18:41 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1416826116844421140/image.png?ex=68c841a5&is=68c6f025&hm=7ce5aef5f09ae3e05cfca532dc68c0d8287cb8704496f7f9618359de73b833a9& 18:41 < bridge> dev 18:41 < bridge> can u make a pakistani server ddnet 18:43 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1416826580344504540/teemongus.gif.mp4?ex=68c84214&is=68c6f094&hm=4f3b21657dc7ab00b20cffce2af6dfead26fba52eb83a72f08b668bfb9674fb3& 18:43 < bridge> okay i got it 18:43 < bridge> thanks xd 18:43 < bridge> teero 18:43 < bridge> np, ur welcome 18:43 < bridge> can u make a pakistan server? 18:44 < bridge> i can't 18:44 < bridge> whop can 18:44 < bridge> is there even a vps hoster for pakistan? 18:44 < bridge> who can 18:44 < bridge> idk maybe 19:11 < bridge> does someone have the mappers with most maps with an updated version? 19:34 < bridge> @ryozuki is ddstats.org also deleted? 19:41 < bridge> seems like it is 19:41 < bridge> it stopped being available a long time ago 19:41 < bridge> at least i cant access it myself since ~3 months ago 19:54 < bridge> :nouis: 20:03 < bridge> hi @forgottenabscat 20:03 < bridge> i heard you are the go to guy about mobile code so im asking you. 20:03 < bridge> can the action of clicking the screen on mobile be reprogrammed? i know there is the change config ingame setting which you can set it to fire but its pretty limited, i wondered if i could make it do custom commands, like the kog bind bind mouse1 "+prev_weapon;+fire" and bind the circle to custom command like bind mouse2 "+weapon2;+hook" 20:14 < bridge> Inside https://maps.ddnet.org/compilations/ - ddnet-maps.zip, there are 3 map duplicates listed on the top-right and bottom-right 20:14 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1416849572063481946/image.png?ex=68c8577d&is=68c705fd&hm=678a393eb6d011886d231508b511b92ea8c915eff140af94c67de21edc015cbc& 20:15 < bridge> (ignore the windows activation) 20:17 < bridge> I'll try to open all the other maps in DDNet nightly to see if the Quad clipping optimization works everywhere 20:18 < bridge> It's only 2500 maps, I had worse :owo: 20:18 < bridge> (25k image moderation on Teedata) 20:22 < bridge> ... Why is F1 (which is the console) inside the Map Editor opens the URL https://wiki.ddnet.org/wiki/Mapping on my browser? 20:22 < bridge> because F1 is the default key for `help` on a lot of applications 20:22 < bridge> Like, please next time add a window to announce to all users that you plan on opening up this link 20:23 < bridge> And the link itself isn't secure even 20:23 < bridge> Well, not exactly secure 20:23 < bridge> Yeah, but no warnings for opening a website on your browser via a third party app? 20:23 < bridge> You cannot justify it xd 20:23 < bridge> i mean - its a dead link atm, but wdym `not secure` ? 20:24 < bridge> its just a wikimedia instance 20:24 < bridge> security risk 20:24 < bridge> Uou already got hacked by Jupstar who knows what urls ddnet will open on your machine 😬 20:24 < bridge> You already got hacked by Jupstar who knows what urls ddnet will open on your machine 😬 20:24 < bridge> I'm not kidding, if there's any chance for that link (which you said dead link) to be used for some idiotic remote code execution, then eeeh 20:24 < bridge> Let's say it's not legal to do something like this without warning the user 20:25 < bridge> Common example would be Steam, Youtube, Facebook, Discord and all the other social media sites warning you that you (the user) go to another website, uncontrolled by this specific party 20:26 < bridge> It's due to regulations 20:26 < bridge> DDNet is not an exception 20:26 < bridge> Escecially when it leads to an unsafe dead link 20:27 < bridge> dead link as in: it redirects to the current backup 20:28 < bridge> Robyt is also adding backdoors, crazy 20:28 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1416853008519528601/image.png?ex=68c85ab1&is=68c70931&hm=b42976aef59d96722a66dd0a2691280d95c990a0667945d5d51002963718c993& 20:28 < bridge> I rephrase what I said. It's not that legal to do something like this, without warning the user 20:29 < bridge> If the user doesn't know what the application opens (which I assume under a fucking loophole, you can say "just look up on Github", nobody will do that), then there's a chance that this backfires under EU user safety regulations 20:30 < bridge> And since Github is a place for developers, not casual users who just want to play the game, most of the playerbase will overlook the fact that this ever existed 20:30 < bridge> Meaning, they don't know about F1 in the Map Editor, ever leading you to a website. 20:30 < bridge> It's much worse to think about it when other clients have this feature as well, especially hacked ones 20:30 < bridge> Hi guys 20:30 < bridge> Hellou :3 20:30 < bridge> I send the screenshot so you know who to sue, now to show the url 20:30 < bridge> I sent the screenshot so you know who to sue, now to show the url 20:30 < bridge> i mean it's obviously legal if you control the linked website 20:30 < bridge> the link should be fixed indeed with the new wiki instance, but having F1 open a browser link is very standard behavior 20:31 < bridge> i may need a source or two from you stating it as `illegal` and `breaching EU user safety regulations` 20:31 < bridge> Without warning the user where it takes you first? 20:31 < bridge> because all i can find are ethical reasons not to do it 20:31 < bridge> i mean click f1 in the discord client, it opens a website too 20:32 < bridge> F1 has now two functionalities which users know only one of: 20:32 < bridge> - Opening up the console for commands inside the game 20:32 < bridge> - Opening up a browser and redirecting you to a website 20:32 < bridge> There is no clarification, nor explanation inside the client to know that these two exist together 20:32 < bridge> This is my only issue - 20:32 < bridge> and without a prompt too! :OHNOOOO: 20:32 < bridge> This is my only issue -^ 20:32 < bridge> But only for discord links 😄 20:33 < bridge> warnings only make sense for user generated content 20:33 < bridge> Discord is a web application, DDNet is a game 20:34 < bridge> the f1 keybind works on both the application and the browser version 20:34 < bridge> that makes sense then, its just that what u were saying earlier about privacy risks and warnings just isn't true 20:34 < bridge> 20:34 < bridge> some clarifiation on the difference betwen f1 ingame and in the editor is a good discussion, i don't really mind much but it might be clearer to have a [?] button in the editor for help and revert the f1 to just open the console normally 20:34 < bridge> its default behaviour and i dislike the fact that you're throwing words like `EU user safety regulations` and `legal` <-> `illegal` without proper sources around. kebs could probably puke out a prompt for it within 20 minutes, but only if there's an actual need for it. 20:34 < bridge> You don't understand the point or what you are on? 20:34 < bridge> DDNet is a game, which means it shouldn't have the functionality of a web browser, since the game isn't about social interaction... right? 20:35 < bridge> You debug the game, using F1, the consoler 20:35 < bridge> You debug the game, using F1, the console 20:35 < bridge> its a wiki page, for the game... 20:35 < bridge> that is managed by the admins 20:35 < bridge> Inside the game, The console is the debugger 20:35 < bridge> :pepe_godwhy: 20:36 < bridge> Why is it that you guys are against informing the playerbase about multiple functionality on the most major keyboard button? 20:36 < bridge> @teero777 you clearly don't play the game if you don't know the basics of console debugging in ddnet 20:37 < bridge> every time i fail on kog extreme i check console to see what went wrong 20:37 < bridge> I'll spam it to hell until you guys understand the problem 20:37 < bridge> > I rephrase what I said. It's not that legal to do something like this, without warning the user 20:37 < bridge> 20:37 < bridge> proof that sentence to me and i'll make a PR 20:37 < bridge> I don't mind the redirection 20:37 < bridge> I don't mind the wiki part, I don't even mind that it's on the same key as on the Console 20:37 < bridge> can you redirect it to /dev/null? 20:37 < bridge> JUST WARN THE FUCKING USER 20:38 < bridge> was I clear now? 20:38 < bridge> Wait, you can launch ddnet? Not having any install problems for 3 days in a row? 😮 20:38 < bridge> XDDDDDDDDDDD 20:38 < bridge> avo stfu xDDDD 20:38 < bridge> ey Cellegen, press F1 in Visual Studio - its an application and opens up a microsoft webpage.. without a prompt! 20:38 < bridge> warn the user about the wiki page?? 20:38 < bridge> How well did the new game perform tho? 20:38 < bridge> "There is no clarification, nor explanation inside the client to know that these two exist together" 20:39 < bridge> warning that the client is gonna open a webpage. its not a bad thing to do. 20:39 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1416855904531517460/VaLlgFN.png?ex=68c85d63&is=68c70be3&hm=9b2b86b6165beffea834de09966621c486fddca24167c11c69cfb46d9252f825& 20:39 < bridge> what about this one? 20:39 < bridge> 🤔 20:39 < bridge> peopl also dont know that `unbind_all; cl_save_settings 1; quit` will give you a good time 20:39 < bridge> yet it exists 20:39 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1416856010538356877/image.png?ex=68c85d7c&is=68c70bfc&hm=92554cabe96ed18972a4eef036c336fa3ccdd0315444043d7701cd9dda761795& 20:39 < bridge> Sounds like an awesome keybind 20:39 < bridge> Where 20:40 < bridge> It might help Teero to get better at Gores 20:40 < bridge> @bencie. I don't have that. 20:40 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1416856090099847238/image.png?ex=68c85d8f&is=68c70c0f&hm=b680e9296d36dd142d7a2e201be352356b13bc52402c4b87bc88448961b0c777& 20:40 < bridge> I don't do anything basically 20:40 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1416856211025825923/IBYrnWu.png?ex=68c85dac&is=68c70c2c&hm=6d85cf9acce01db9b696f129617bbc2fa5e879c0fb958d09e2ce49985f3f36f9& 20:41 < bridge> best quote of you yet 20:41 < bridge> Do wait, this icon doesn't have a dropbox saying what is up with it, and it's next to the exit button. These buttons are small brother, what if you misslick it? 20:41 < bridge> Or better example: 20:41 < bridge> What if I wanna bring up the console inside the Map Editor? 20:41 < bridge> Like, I wanna test out maps on Nightly. 20:42 < bridge> I have to press either the exit button, or have my left hand suffer with CTRL SHIFT E 20:42 < bridge> And there's a chance I missclick it 20:43 < bridge> Why not just put it on the left side instead, or have it be separated more, while also just writing "Wiki" next to the icon? 20:43 < bridge> From a design perspective, this is the bare minimum to provide something no one asked for xd 20:43 < bridge> @robyt3 this would be a nice thing to be able to do btw. im using i3 and my mouse i locked in the window until i go into the console. its impossible to unlock your mouse in the editor afaik. 20:43 < bridge> That's be a few thousands lines of code, feel free to contribute 20:44 < bridge> That'll be a few thousands lines of code, feel free to contribute 20:44 < bridge> Pay me 20:44 < bridge> that's the only way I do anything for you all xd 20:44 < bridge> I'll feel free to complain dw 20:45 < bridge> you'd have to pay robyt to accept your pr if you even made it 20:45 < bridge> Only mention Github to me if I'm getting paid tonight 😂 20:46 < bridge> Cellegen getting the KoG reaction treatment on DDNet is next level sunday entertainment 20:46 < bridge> That how you know I'm him 20:46 < bridge> straight to silly billy you go 20:46 < bridge> :feelsbadman: 20:47 < bridge> hmm didnt work unfortunately 20:47 < bridge> @robyt3 would u happen to know why my particles dont have the same behavior 20:47 < bridge> but fr tho, I wanna open up console on the map editor, otherwise I cannot test out the Quad Clipping optimization 20:47 < bridge> but fr tho, I wanna open up console on the map editor, otherwise I cannot test out the Quad Clipping optimization as efficiently as possible 20:47 < bridge> Hey hey, this is typical developer chat 20:47 < bridge> I have like 2.5k maps, this will be painful 20:47 < bridge> Hey hey, this is typical developer chat - not KoG specific 20:48 < bridge> eh 20:48 < bridge> Main character development, wdym 20:48 < bridge> I would have written a script if I needed to test more than 3 maps manually, but have fun if that's what you want to do 20:49 < bridge> Why don't you do it for me then? If this saves a lot of time, tests out all of the maps for quad clipping and would benefit future maps with the same tool, why not do it yourself? 20:49 < bridge> w...wow 20:50 < bridge> that's not even 🤣 moment 20:50 < bridge> Did you put them in the correct group? 20:50 < bridge> I would've put fire under Roby by saying "feel free to contribute" but I'm no contributer 🤣 20:50 < bridge> I would've put fire under Roby by saying "feel free to contribute" but I'm no contributor 🤣 20:50 < bridge> they're in group::general 20:51 < bridge> if it weren't for my own sanity i'd clown emoji react to that and your prior message. 20:51 < bridge> 20:51 < bridge> good night Cellegen 20:51 < bridge> laziness, gn for u:owo: 20:51 < bridge> You are using `SPRITE_PART_BALL`, not sure if this needs to be in `CParticles::GROUP_PROJECTILE_TRAIL` then 20:51 < bridge> oh ew 20:53 < bridge> Also because of this comment, I almost don't feel like contributing to anything related to DDNet at all now 20:53 < bridge> Kinda depressing fr 20:53 < bridge> Not entirely sure how these groups work though. I guess also add some debug messages to make sure the particles are created correctly to begin with. 20:57 < bridge> righttt so i was actually also confused by this, configs and commands are kinda two separate things and in the editor some commands are explicitly loaded 20:57 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1416860513056325692/image.png?ex=68c861ae&is=68c7102e&hm=48ef8e7158168a3618b0fffe9c80f4242134a1d6dc12e1ea488a0481c847cd56& 20:57 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1416860513530548304/image.png?ex=68c861ae&is=68c7102e&hm=e7e51e60cdbc106d62596d9ced257482d6634af444b899ce0854dcbb4fbd277e& 20:58 < bridge> lets say you generously need ~3 minutes for each map, thats almost 175 hours of manually checking maps. 20:58 < bridge> even if its just a minute, that is still ~58 hours of work, manually!. 20:58 < bridge> roby wasn't giving off a lazy comment to stop you from contributing, they were giving you a suggestion every sane person would've given you. 21:07 < bridge> can someone explain the animation framework in ddnet to me? 😭 21:08 < bridge> didn't you go to sleep? xd 21:09 < bridge> Also, it counts as a lazy comment for me, since no developer in DDNet throughout my entirety of playing this game wouldn't have mentioned "do it yourself". 21:10 < bridge> in germany we call that a Strohmann 21:10 < bridge> we dont like Strohmann 21:10 < bridge> strong man 21:10 < bridge> In on the forum days I have received comments about programming your own stuff on Github by developers 21:11 < bridge> Strawman? do you call me thin? 21:11 < bridge> In the forum days I have received comments about programming your own stuff on Github by developers 21:12 < bridge> In the forum days I have received comments about programming your own stuff on Github by developers 21:12 < bridge> And that was half a decade ago 21:12 < bridge> i guess the english translation would be straw-man argument or straw-man fallacy 21:12 < bridge> Konsti made a farcry to deen about adding different shields to ddnet and they implement it, ONLY CUZ I MADE A PICTURE FOR IT 21:13 < bridge> that is the only contribution you ever get from me 21:13 < bridge> Only cuz that pink rat bastard is a good friend of mine 21:15 < bridge> Cellegen wants to test maps 21:15 < bridge> Cellegen says he wants to manually check them 21:15 < bridge> Cellegen was told that Roby would've written a script personally 21:15 < bridge> Cellegen says "lazy comment because do it yourself" - even tho Roby never said that 21:15 < bridge> 21:15 < bridge> today's a good day for silly-billy 21:16 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1416865102514098289/iu.png?ex=68c865f4&is=68c71474&hm=69bc1ec0ffe18a766eff707f390fe59c441cfe2b74e509bed747197f4c0f0633& 21:18 < bridge> You forgot 21:18 < bridge> Cellegen says SLEEP 21:19 < bridge> @aoetw physics change? why 21:20 < bridge> also the thing in your video is not a magic edge 21:20 < bridge> you just slipped 21:20 < bridge> you should run for office in germany 21:21 < bridge> Because it is annoying not to get your DJ back, and many people have died from it. 21:21 < bridge> he touches the corner in a subtick and doesn't get his jump back 21:22 < bridge> yea, you would need to put the jump refill logic into MoveBox 21:22 < bridge> yea, you would need to put the jump refill logic into CCollision::MoveBox 21:22 < bridge> it is already in the move box, but only for bouncyness > 0 21:22 < bridge> because fix changes physics. 21:22 < bridge> really? 21:22 < bridge> yes 21:22 < bridge> Ah okay, I can get another demo showing it. 21:22 < bridge> ah yea i see 21:22 < bridge> It is. The magic edge occurs on two separate occasions according to Aoe's findings: 21:22 < bridge> 21:22 < bridge> - Both the Tee (circle hitbox) and the Entity (...also circle hitbox) distance is on a perfect 45 degree angle 21:22 < bridge> - A continuous force towards the distance won't distrupt the distance's angle 21:23 < bridge> stfu 21:23 < bridge> it's not, wrong definition tbh. 21:23 < bridge> How rude from a developer 21:23 < bridge> go discuss semantics 21:24 < bridge> the first video features a magic edge, the second video doesn't 21:24 < bridge> wait until Aoe finds out about magneto soups 21:24 < bridge> I was talking about the first video ofc 21:24 < bridge> zoops? 21:24 < bridge> which I think is more related to the issue Aoe did 21:24 < bridge> literally the exact opposite 21:24 < bridge> did you not fucking read the issue 21:24 < bridge> the issue is about not getting his jump back, the first clip is unrelated 21:25 < bridge> I did. the issue was about double jumping on an "magic edge" (from upwards) resets your velocity 21:26 < bridge> I explained how the first video was indeed magic edge, as well as how it occurs. I can replicate it in Godot, since circle shapes behave exactly like how I explained. 21:26 < bridge> yes, this is well known, as hitting the corner perfectly resets your velocity to 0/0 21:26 < bridge> :Bruh: 21:26 < bridge> However, it might surprise you 21:26 < bridge> But I also don't agree with the second video 21:26 < bridge> You always surprise me 21:27 < bridge> I only said that assumably, you were wrong about how magic edges work 21:27 < bridge> assumably, the TAS guy knows what he is talking about 21:27 < bridge> bro i rewrote the entire fucking physics engine. i have to learn more from you 21:27 < bridge> bro i rewrote the entire fucking physics engine. i gues i have to learn more from you 21:27 < bridge> bro i rewrote the entire fucking physics engine. i guess i have to learn more from you 21:28 < bridge> Now based on the video, Aoe does it from upwards, which means that the angle it approaches the edge is not a perfect 45 degree turn, so it cannot satisfy the "magic edge" condition 21:28 < bridge> yes because his issue is about jump refill 21:28 < bridge> The only way it could reset it's horizontal velocity, if the Tee has been flagged as "grounded" 21:28 < bridge> which doesn't happen because he is in no tick grounded, exactly 21:28 < bridge> which might mean that during a specific spot at standing on the edge, you both get double jump and the "grounded" status 21:29 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1416868404345835540/Stuck2_22222222.mp4?ex=68c86907&is=68c71787&hm=870906fc3df772761848001fdcab7fc6b5e3892367f48cac4e783efce513e633& 21:29 < bridge> that is a magic edge yes. 21:29 < bridge> Idk the properties a Tee has, you may need to clarify me on this one 😄 21:30 < bridge> exactly, so please keep out of this convo if you have nothing to contribute 21:30 < bridge> he only touches the ground briefly in a subtick in his second clip. At no point he touches the ground at an existing tick 21:31 < bridge> That one is simple to explain. 21:31 < bridge> You are going at an upwards direction, meaning to have you be aligned for a 45 degree angle force, your hook needs to redirect your velocity to be exactly identical for a 45 degree turn which results in the satisfaction of a magic edge: 21:31 < bridge> - Your velocity has been redirected to a perfect 45 degree angle towards the bottom right, and the hook applies a specific force on you 21:31 < bridge> is this AI 21:31 < bridge> okay what are you explaining 21:31 < bridge> it feels like AI 21:31 < bridge> Do I mistaken about this? 21:31 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1416869069206061239/image.png?ex=68c869a6&is=68c71826&hm=0afe96e2df6a41df19a37191ecbcced84a8f7d110e19d0dd3ef428fd5a7522c0& 21:31 < bridge> nothing's open on my side 21:31 < bridge> I assume he took something 21:32 < bridge> No 21:33 < bridge> Is that the same thing here? https://youtu.be/5EQENT5VHcI?si=4dfRGJ6A5HkidQgq&t=1251 21:34 < bridge> Hmmm, that is the opposite of what I expect from this issue, which is that on a specific spot, you don't get a "grounded" status on the Tee, even tho you should've had 21:34 < bridge> yes 21:35 < bridge> after rebase im getting conflicting enum errors, would anyone happen to know why? 21:35 < bridge> ``` 21:35 < bridge> In file included from /home/shroobie/source/dd/louis-ddnet/src/game/server/entities/targetswitch.cpp:4: 21:35 < bridge> /home/shroobie/source/dd/louis-ddnet/src/game/generated/protocol.h:10:26: error: ‘INPUT_STATE_MASK’ conflicts with a previous declaration 21:35 < bridge> 10 | INPUT_STATE_MASK=0x3f 21:35 < bridge> | ^~~~ 21:35 < bridge> In file included from /home/shroobie/source/dd/louis-ddnet/src/game/gamecore.h:13, 21:35 < bridge> from /home/shroobie/source/dd/louis-ddnet/src/game/server/gameworld.h:6, 21:35 < bridge> from /home/shroobie/source/dd/louis-ddnet/src/game/server/entity.h:10, 21:35 < bridge> from /home/shroobie/source/dd/louis-ddnet/src/game/server/entities/targetswitch.h:4, 21:35 < bridge> from /home/shroobie/source/dd/louis-ddnet/src/game/server/entities/targetswitch.cpp:1: 21:35 < bridge> /home/shroobie/source/dd/louis-ddnet/build/src/generated/protocol.h:10:9: note: previous declaration ‘ INPUT_STATE_MASK’ 21:35 < bridge> 10 | INPUT_STATE_MASK=0x3f 21:35 < bridge> | ^~~~~~~~~~~~~~~~ 21:35 < bridge> ``` 21:35 < bridge> yes, but not a magic edge 21:35 < bridge> after rebase im getting conflicting enum errors during build, would anyone happen to know why? 21:35 < bridge> ``` 21:35 < bridge> In file included from /home/shroobie/source/dd/louis-ddnet/src/game/server/entities/targetswitch.cpp:4: 21:35 < bridge> /home/shroobie/source/dd/louis-ddnet/src/game/generated/protocol.h:10:26: error: ‘INPUT_STATE_MASK’ conflicts with a previous declaration 21:35 < bridge> 10 | INPUT_STATE_MASK=0x3f 21:35 < bridge> | ^~~~ 21:35 < bridge> In file included from /home/shroobie/source/dd/louis-ddnet/src/game/gamecore.h:13, 21:35 < bridge> from /home/shroobie/source/dd/louis-ddnet/src/game/server/gameworld.h:6, 21:35 < bridge> from /home/shroobie/source/dd/louis-ddnet/src/game/server/entity.h:10, 21:35 < bridge> from /home/shroobie/source/dd/louis-ddnet/src/game/server/entities/targetswitch.h:4, 21:35 < bridge> from /home/shroobie/source/dd/louis-ddnet/src/game/server/entities/targetswitch.cpp:1: 21:35 < bridge> /home/shroobie/source/dd/louis-ddnet/build/src/generated/protocol.h:10:9: note: previous declaration ‘ INPUT_STATE_MASK’ 21:35 < bridge> 10 | INPUT_STATE_MASK=0x3f 21:36 < bridge> | ^~~~~~~~~~~~~~~~ 21:36 < bridge> ``` 21:36 < bridge> öh, did you clean rebuild after rebasing? 21:36 < bridge> Ah okay, I always thought that it was the magic edge, in those cases. 21:36 < bridge> yeah i rm -rf build and redid cmake 21:36 < bridge> magic edge is always the one resetting your speed or making you "clip" 21:36 < bridge> I'd report the issue where you can get full stuck in a block @aoetw this one actually deserves a fix as you can't finish if you do this 21:37 < bridge> enums were moved around since its in generated maybe it didnt rebuild properly 21:37 < bridge> enums were moved around, and since its in generated maybe it didnt rebuild properly 21:37 < bridge> maybe try a `cmake --build . --clean-first` 21:40 < bridge> The generated files are now in `generated`. Delete the folder `/src/game`. Then change your added includes to use `generated`. 21:41 < bridge> maybe a `#pragma once` for generated files? 21:41 < bridge> Also delete `louis-ddnet/src/game/generated`, it shouldn't have been generated there 21:42 < bridge> They have a header guard, but it was adjusted because the files were moved/renamed 21:42 < bridge> o 21:42 < bridge> If you still have the old generated files and include both you get duplicate definitions 21:43 < bridge> thx 21:43 < bridge> @aoetw it is a very simple fix but it is a physics change so i don't think admins will approve. 21:44 < bridge> @robyt3 are there any docs on the animation system for the tee? 21:44 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1416872231195115651/image.png?ex=68c86c98&is=68c71b18&hm=b995e99ca54e5f5da53a5ebde96a7c59c4ec896a117582833be92fbcd19aad71& 21:44 < bridge> its a very nieche thing, so not sure about it 21:44 < bridge> tbh i can imagine that there is some map that uses the fact that you don't get dj on an edge 21:45 < bridge> also its hard to determine if you want the behaviour changed or if its already considered a feature xd 21:45 < bridge> ye 21:45 < bridge> @blaiszephyr u in bed right? wanna see my tee? 21:45 < bridge> maybe a solo part on some random hammerhit map utilizes that, where you slip off an edge without getting dj 21:46 < bridge> i wonder if you could test that in some way 21:46 < bridge> oh yea i can imagine 21:46 < bridge> i can also imagine a freeze cannon probing this behavior 21:46 < bridge> also it breaks a lot of ranks because slips happen often lol 21:46 < bridge> `animstate.cpp/h` are probably the entire documentation. There used to be some information on the wiki, but I don't know which page or whether it was lost 21:46 < bridge> also you will not ground jump even if you get jump back, you can then get the dj back without beeing able to ground jump 21:47 < bridge> so the autojump feature would actually fail i guess 21:47 < bridge> or you would auto-double jump 21:47 < bridge> yea 21:47 < bridge> you'd need to put the entire logic into MoveBox 21:47 < bridge> I don't recall any maps using it. 21:49 < bridge> have you ever finished a map where you slipped somewhere accidentally and tried to dj but couldn't? that means that rank will be broken xd 21:49 < bridge> have you ever finished a map where you slipped somewhere accidentally and tried to dj but couldn't? that means that rank will be invalid with this patch xd 21:49 < bridge> true this would even break the teehistorian 21:49 < bridge> Most of the time you die, because you didn't get DJ back. So I don't remember ever finishing with it xD 21:49 < bridge> meh, we bump teehistorian for those things 21:49 < bridge> ye 21:50 < bridge> and other times you don't die and finish the map 21:50 < bridge> Besides the video I sent ofc 😄 21:51 < bridge> this does allow for more optimized tas'es tho... 21:51 < bridge> 21:51 < bridge> this would allow for maps which rely on that trick 21:51 < bridge> naaah pls don't 21:51 < bridge> killedgejump maps just got an upgrade peeps! 21:52 < bridge> Isn't bugs only considered a feature, if it can be used to in speedruns? This one just kills you most of the time. 21:52 < bridge> Isn't bugs only considered a feature, if it can be used in speedruns? This one just kills you most of the time. 21:52 < bridge> i think we're currently trying to evaulate if its worth the effort and if it'll be accepted or not if the effort is done 21:53 < bridge> from what i got out of this discussion is that fixing that may or may not be heavier than one might expect xd 21:53 < bridge> It should be up to the community, in my opinion. For any physics changes like these 21:53 < bridge> fixing this would open another can of worms. 21:53 < bridge> fixing this would open another can of worms, as we tried to explain 21:53 < bridge> explain, but rather just yell at me 90% 21:54 < bridge> yea this is annoying 21:54 < bridge> :baked: 21:54 < bridge> someone should probably check all the getspeeds and those hold a+jump parts on t0 maps xd 21:54 < bridge> @teero777 lets fix it and make a map which you can only finish by chaining double jumps this way 21:54 < bridge> make it a TAS detector 21:55 < bridge> cor would finish 21:55 < bridge> im working on my own physics. i dont want to have anything to do with the original anymore. its so fucking shit 21:55 < bridge> XD 21:56 < bridge> xD just delete old speedtiles 21:56 < bridge> 6th grader could have written a better collision system 21:56 < bridge> ey, the physics are ~20 years old 21:56 < bridge> :( 21:56 < bridge> the guy solo writing teewars back then knew ofc he would create endless discussions 21:58 < bridge> someone call magnus and ask him whatdahell 21:58 < bridge> magnus? wasn't it matricks? 21:58 < bridge> > Teeworlds (formerly TeeWars) is a free, open-source sidescrolling multiplayer shooting game originally created by the Swedish developer Magnus Auvinen 21:58 < bridge> nvm 21:59 < bridge> yea im emailing him 21:59 < bridge> to roast him 21:59 < bridge> :kekw: 21:59 < bridge> oh matricks is magnus's gh name xd 22:00 < bridge> https://github.com/matricks/ryozuki_thinks_i_am_a_fake 22:00 < bridge> what is this @ryozuki XDD 22:00 < bridge> lol i remember this 22:00 < bridge> lol i remember this as well 22:00 < bridge> ryozuki thought hes fake when he talked on dc 22:00 < bridge> and he made that to prove hes real xd 22:01 < bridge> xd 22:01 < bridge> do you have his discord? 22:03 < bridge> `@mtrcks` 22:03 < bridge> i think its this one 22:04 < bridge> thank 22:04 < bridge> thanks 22:04 < bridge> don't forget to also thank him for our favourite game of all time 22:04 < bridge> https://github.com/matricks/teeworlds/commit/73aa9b71c1d8b5c5065d1e474f13601da3ca6b20 22:04 < bridge> 22:04 < bridge> indeed 22:04 < bridge> Does that mean that this bug, will never be fixed either? :/ https://github.com/ddnet/ddnet/issues/10685 22:05 < bridge> 48K lines PR :justatest: 22:05 < bridge> hmm, thats expected behaviour 22:05 < bridge> i dont think anyone will tackle that one :/ 22:05 < bridge> Would break both tee historian, and ranks too I guess. 22:06 < bridge> you can break teehistorian as often as you want, we just increment the version if need be 22:06 < bridge> 22:06 < bridge> ranks however will absolutely be annihalated 22:06 < bridge> espacially on older maps 22:06 < bridge> https://github.com/matricks/teeworlds/commit/73aa9b71c1d8b5c5065d1e474f13601da3ca6b20#diff-7558badd8a9a936d9881aae37d2141d40d2f5ce4d97a29eab89b9d3cbd7052c9R28 22:06 < bridge> yea hHAHA 22:07 < bridge> :owo: thats so cute 22:07 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1416878064918597853/image.png?ex=68c87206&is=68c72086&hm=992daec953c42584528104fbb00021cf66bddc1102fdf7e890eb9fe85215be5c& 22:14 < bridge> According to the contributing guide, this should be avoided: 22:14 < bridge> 22:14 < bridge> > Breaking backwards compatibility in gameplay: 22:14 < bridge> > - Existing ranks should not be made impossible. 22:14 < bridge> > - Existing maps should not break. 22:14 < bridge> > - New gameplay should not make runs easier on already completed maps. 22:14 < bridge> 22:14 < bridge> I think if the behavior has no advantage then fixing it could still satisfy "Existing ranks should not be made impossible." if better ranks are simply possible by not using the behavior (accidentally). For example, the "stuck in corner" bug only seems like an annoyance that should be fixed in my opinion. 22:14 < bridge> 22:14 < bridge> If existing maps require the use the behavior, then we could add it as a map bug so it would only apply to relevant maps. 22:25 < bridge> It would be best to not allow maps to rely on bugs in the first place 22:27 < bridge> then we should delete that one map which relies on the speedtile bug 22:28 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1416883217646223400/image.png?ex=68c876d3&is=68c72553&hm=87edc0ddc0e3e505d8516e4955eccb9a177eceeb72982e33344b6f93c9d546e9& 22:28 < bridge> i am currently stuck in a debugging chain 22:31 < bridge> found clangd bug -> need to test clang 21 22:31 < bridge> need to test clang 21 -> need to install clang 21 -> witch hunt for storage space to download all of the tools i really dont need 22:31 < bridge> need to make vscode plugin use clangd 21 -> need to config clangd vscode extension -> config clangd vscode extension is not available in remote -> need to debug edit this extension 22:31 < bridge> need to debug edit this extension -> need to use `code` binary in remote session -> remote open ssh does not expose code -> need to find issue i commented on with a working solution -> need to find all repos ive commented on 22:31 < bridge> need to find all repos ive commented on -> get script to do this -> use it -> find the repo with my solution 22:31 < bridge> im stuck here 22:34 < bridge> That is crazy 22:37 < bridge> i think this will be nice to fix, ill investigate 22:37 < bridge> for now i see that the smaller jump happens when jump is on the same tick as unfreeze 22:39 < bridge> for now i see that the smaller jump happens when grenade fire is on the same tick as unfreeze 22:45 < bridge> small jump: unfreeze->fire->jump 22:45 < bridge> high jump: unfreeze->jump->fire 22:46 < bridge> maybe rerunning tee core tick after getting unfrozen, but the fix might be bit jank 22:51 < bridge> `int CMapItemLayerTilemap::* pTMapData` 22:51 < bridge> is.. this a pointer type? 22:51 < bridge> do i put the star on the right? 22:51 < bridge> uhm is this even valid syntax with the :: ? 22:51 < bridge> never seen this one 😮 22:52 < bridge> its an offset into a type but typesafe 22:52 < bridge> `DoLayer(GameClient()->Layers()->GameLayer(), &CMapItemLayerTilemap::m_Data);` 22:53 < bridge> `GameClient()->Layers()->Map()->GetData(pTMap->*pTMapData);` 22:53 < bridge> you then dereference it and then use it as the right side of -> 22:53 < bridge> which is very weird 22:53 < bridge> i dont get what the reference and derefence does 22:54 < bridge> CMapItemLayerTilemap::m_Data is invalid 22:54 < bridge> it could very well just be CMapItemLayerTilemap::* as a type 23:44 < bridge> You can use both sides no? 23:45 < bridge> *::Data??? 23:45 < bridge> I mean either the right side of -> or at the start 23:45 < bridge> `GameClient()->Layers()->Map()->GetData(*pTMap->pTMapData);` 23:45 < bridge> (this doesnt make sense from a "how do i implement this in c" standpoint) 23:46 < bridge> oh 23:46 < bridge> idk if that works 23:46 < bridge> ill try 23:46 < bridge> I wasn't talking about that part of the code xd 23:46 < bridge> no 23:46 < bridge> that doesnt make sense 23:46 < bridge> pTMapData is not a member of pTMap 23:47 < bridge> even if it did work i prefer the derefence at the point of use instead of left 23:47 < bridge> The encase it in parentheses xd 23:47 < bridge> *(data->field) 23:47 < bridge> err 23:48 < bridge> no 23:48 < bridge> what? xd 23:48 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1416903396857741492/image.png?ex=68c8899e&is=68c7381e&hm=0d8c96a4fc2b1be600cd852384414378fdfc1d4f1535b615192a77304d5304dd& 23:48 < bridge> what are you doing 23:49 < bridge> `GameClient()->Layers()->Map()->GetData(*(pTMap->pTMapData));` this def works 23:49 < bridge> Or what do you even want 23:53 < bridge> pTMapData is not a member of pTMap 23:53 < bridge> It's your code not mine 23:53 < bridge> You sent that xd 23:53 < bridge> the value of pTMapData is `&CMapItemLayerTilemap::m_Data` or `&CMapItemLayerTilemap::m_Front` 23:53 < bridge> i sent this 23:53 < bridge> the value of pTMapData is `&CMapItemLayerTilemap::m_Data` or `&CMapItemLayerTilemap::m_Front` (and tele is being weird so idk abt that) 23:53 < bridge> What type are these 23:54 < bridge> `unsigned char CMapItemLayerTilemap::*` 23:54 < bridge> `using TheseTypes = unsigned char CMapItemLayerTilemap::*` 23:54 < bridge> `using TheseTypes = unsigned char CMapItemLayerTilemap::*;` 23:54 < bridge> its a offset into a class/struct 23:55 < bridge> its a offset into a container 23:55 < bridge> but typesafe 23:55 < bridge> I'm confused. This is valid? How is TheseTypes not ambiguous. What does the star do? 23:55 < bridge> the star means any member of 23:55 < bridge> and the unsigned char means it has to be a unsigned char 23:56 < bridge> Okay what happens if I declare a variable with type `TheseTypes` 23:56 < bridge> in c this would be 23:56 < bridge> 23:56 < bridge> ```c 23:56 < bridge> void myfunc(struct mycontainer, int offset) { 23:56 < bridge> unsignedf char value = *(unsigned char *)(&mycontainer + offset) 23:56 < bridge> } 23:56 < bridge> ```` 23:56 < bridge> in c this would be 23:56 < bridge> 23:56 < bridge> ```c 23:56 < bridge> void myfunc(struct mycontainer, int offset) { 23:56 < bridge> unsignedf char value = *(unsigned char *)(&mycontainer + offset) 23:56 < bridge> } 23:56 < bridge> ``` 23:56 < bridge> oh ok 23:57 < bridge> its a ptr type, nullptr or a CMapItemLayerTilemap::*, it probably has the same semantics as any other ptr type 23:57 < bridge> Ah okay 23:57 < bridge> its a ptr type, nullptr or a CMapItemLayerTilemap::* (in the sense that the * refers to any member of the class), it probably has the same semantics as any other ptr type 23:57 < bridge> i dont understand why its a ptr and what value nullptr is (probably -1) 23:58 < bridge> its probably so you *can* derefence it otherwise its ambigious whether its meant to be derefcing the value or taking it from the class 23:58 < bridge> why tf would you abstract this lol. use void* and put a comment above it 23:58 < bridge> Just woke up what I miss 23:58 < bridge> the other way to abstract this is to pass in a function which gets the tile from the index 23:58 < bridge> <.dartmonkey> pointer maze 23:58 < bridge> :red loud incorrect buzzer: 23:58 < bridge> What am I reading 23:59 < bridge> this is perfectly valid 23:59 < bridge> xd 23:59 < bridge> just not typesfae 23:59 < bridge> Looks cool, what use case? 23:59 < bridge> ```cpp 23:59 < bridge> DoLayer(GameClient()->Layers()->GameLayer(), &CMapItemLayerTilemap::m_Data); 23:59 < bridge> DoLayer(GameClient()->Layers()->FrontLayer(), &CMapItemLayerTilemap::m_Front); 23:59 < bridge> ``` 23:59 < bridge> structs designed by stupid people 23:59 < bridge> I actually do this in my physics some times lol to avoid code repetition 23:59 < bridge> (sorry previous ddnet/tw devs, it is stupid how this is done that i have to do this)