01:40 <+bridge> You want to make or me? 01:40 <+bridge> you can do it 01:55 <+bridge> <12944qwerty> ddnet background feels too green 01:55 <+bridge> <12944qwerty> it's not right 01:57 <+bridge> <12944qwerty> i know i can switch it im just complaining for no reason 😄 02:05 <+bridge> It means it soon summer!! 09:38 <+bridge> @robyt3 with never versions of sdl2-compat we can also detect that and the sdl3 version used, should we add this to the console logs? 09:39 <+bridge> does it even make sense what I am saying 🤔 this is a depencency which is linked on compile time 09:59 <+bridge> Would be neat to get _any_ response to #11937 , the one time I do stuff for opengl 1.0 09:59 <+bridge> https://github.com/ddnet/ddnet/pull/11937 10:00 <+CN-Bridge> Let's give opengl 1.0 up 10:02 <+bridge> I guess we are still supporting > 10 y o hardware 🤷‍♂️ isn't that also a feature of the game at this point? 10:02 <+bridge> I also guess you could keep an older client instead of upgrading 10:04 <+CN-Bridge> But tbh, most of the desktop hardwares produced after 2010 have supported OpenGL 3. 10:04 <+bridge> I forgot what the reason was, that we still keep it 10:05 <+bridge> sooner or later even the last laptop of that era will go up in flames 10:06 <+CN-Bridge> My olddest laptop, which is produced in 2011, supports OpenGL 4.1 10:07 <+bridge> The PR affects all _unbuffered_ backends, this includes OpenGL 3.0.0 10:08 <+bridge> this could technically also happen on the vulkan backend afaict, but I have yet to encounter hardware where it does this 10:12 <+bridge> <_secretbb_> https://cdn.discordapp.com/attachments/293493549758939136/1511281462958100630/image.jpg?ex=6a1fe20b&is=6a1e908b&hm=119ff045392b8883c192b8c1ee33163d36fb8a3871711f7b8c61f1d04a0f60dd& 10:13 <+bridge> <_secretbb_> https://cdn.discordapp.com/attachments/293493549758939136/1511281463319072788/image.jpg?ex=6a1fe20b&is=6a1e908b&hm=ecd468363a73ba72ee3790da01943c09b9dca5329a056ef6c3dc13cb6b1b8ecf& 10:13 <+bridge> <_secretbb_> https://cdn.discordapp.com/attachments/293493549758939136/1511281463709012118/image.jpg?ex=6a1fe20b&is=6a1e908b&hm=bff7af776fd08cee9287f676e598d672214c7119294ea89e9aaaa0891b4eae3d& 10:13 <+bridge> <_secretbb_> https://cdn.discordapp.com/attachments/293493549758939136/1511281464111792290/image.jpg?ex=6a1fe20b&is=6a1e908b&hm=52b32f16634c70574cc0282f028847b1473c128c8e83403243946cded16db9a3& 10:14 <+bridge> :frozen: 10:15 <+bridge> My bot bridge the spam messages. 10:55 <+bridge> morning devs 10:57 <+CN-Bridge> good afternoon 11:01 <+bridge> merging a branch then force pushing that branch and then merging it again works surprisingly bad 11:01 <+bridge> i get git conflicts for every changed line basically which makes little sense to me 11:01 <+bridge> am i supposed to rebase in that case or wat? 11:02 <+bridge> sometimes i just checkout the targetb ranch and just cherry pick 11:02 <+bridge> git is so powerful but smh it cant figure out i want just to get in the newly force pushed stuff 11:02 <+bridge> btw chiller 11:02 <+bridge> u should check jj 11:02 <+bridge> it has a entire different model on conflicts 11:02 <+bridge> and i do want conflicts but only for stuff that changed on both branches 11:02 <+bridge> and its git compat 11:02 <+bridge> https://github.com/jj-vcs/jj 11:02 <+bridge> first hit on duckduckgo 11:03 <+bridge> https://www.jimmyjohns.com/ 11:03 <+bridge> Jimmy John's \| Order Sandwiches for Delivery or Pick Up 11:03 <+bridge> jj 11:03 <+bridge> xd 11:03 <+bridge> i think i am too old to learn something new 11:04 <+bridge> why not ask ai 11:04 <+bridge> to fix conflicts 11:04 <+bridge> uh quiz question, what does this python code do: ` dump.append('\t"]"' + "," if content_args else "")` 11:04 <+bridge> it does it well 11:04 <+bridge> eh 11:04 <+bridge> i dont plan to run ai on my machine any time soon 11:04 <+bridge> then deal with conflicts 11:05 <+bridge> i just paste some snippets into arena.ai 11:05 <+bridge> yea but cmn git 11:05 <+bridge> i am sure there is a way to not conflict with git 11:05 <+bridge> jj solves it 11:05 <+bridge> when merging a wip branch multiple times 11:05 <+bridge> okok 11:07 <+bridge> > Operations never stop. Rebase/squash/merge always complete; conflicts just get recorded in the resulting commits. 11:07 <+bridge> > Fix once, propagates forward. Resolve a conflict in an ancestor and descendants carrying the same conflict clear automatically, no re-resolving at every step. 11:07 <+bridge> > You edit materialized markers, then jj snapshots them back into the stored conflict on the next command. No markers left = resolved. jj resolve for the merge-tool path. 11:07 <+bridge> > You can build on conflicts. Commit on top of a conflicted change, or have a conflicted working copy, both legal. 11:07 <+bridge> > Git boundary: jj git push refuses conflicted commits, since git can't represent a stored conflict. 11:07 <+bridge> the main idea kinda 11:10 <+bridge> @chillerdragon would this dump messages make you happier? 11:10 <+bridge> ```C++ 11:10 <+bridge> dbg_msg( 11:10 <+bridge> "snapshot", 11:10 <+bridge> "%s\tm_FinishTimeSeconds=%d", 11:10 <+bridge> aRawData, 11:10 <+bridge> pObj->m_FinishTimeSeconds 11:10 <+bridge> ); 11:10 <+bridge> dbg_msg( 11:10 <+bridge> "snapshot", 11:10 <+bridge> "Allowed=[" 11:10 <+bridge> "FinishTime::UNSET (-2)," 11:10 <+bridge> "FinishTime::NOT_FINISHED_MILLIS (-1)," 11:10 <+bridge> "[min=0, max=max_int(%d)]" 11:10 <+bridge> "]", 11:10 <+bridge> (int)max_int 11:10 <+bridge> ); 11:10 <+bridge> ``` 11:18 <+bridge> I like the generated hookstate code :brownbear: 11:18 <+bridge> ```C++ 11:18 <+bridge> dbg_msg( 11:18 <+bridge> "snapshot", 11:18 <+bridge> "%s\tm_HookState=%d", 11:18 <+bridge> aRawData, 11:18 <+bridge> pObj->m_HookState 11:18 <+bridge> ); 11:18 <+bridge> dbg_msg( 11:18 <+bridge> "snapshot", 11:18 <+bridge> "Allowed=[" 11:18 <+bridge> "HOOK_RETRACTED (-1), " 11:18 <+bridge> "HOOK_IDLE (0), " 11:18 <+bridge> "HOOK_RETRACT_START (1), " 11:18 <+bridge> "HOOK_RETRACT_END (3), " 11:18 <+bridge> "HOOK_FLYING (4), " 11:18 <+bridge> "HOOK_GRABBED (5)" 11:18 <+bridge> "]" 11:19 <+bridge> ); 11:19 <+bridge> ``` 11:25 <+bridge> I love the generated code! 11:26 <+bridge> But the printed line is still too long 11:27 <+bridge> I guess you mean the second one? 11:27 <+bridge> Yea 11:28 <+bridge> how'd you handle that? 11:28 <+bridge> That would always wrap for me with my terminal width 11:28 <+bridge> It depends a bit on the context 11:28 <+bridge> I am tempted to go with the same shape 11:29 <+bridge> But it might be too spammy 11:29 <+bridge> Do you know if this code can even be executed? 11:29 <+bridge> Because I don’t think so xd 11:29 <+bridge> yes it can be executed, why should it not be? 11:29 <+bridge> Because I thought Heinrich deleted the callsite 11:30 <+bridge> oh then I don't know - I know that the generated protocol produces valid code (which is how I understood your question first) 11:30 <+bridge> Maybe it a too long unreadable log line is better than too much scrolling 11:30 <+bridge> Depends on the amount of prints 11:31 <+bridge> I think I used that for the snap debug dump 11:31 <+bridge> Which was super verbose already 11:31 <+bridge> So adding 6 more lines just for one snap item is a bit meh 11:31 <+bridge> with 2 prints I guess I have a valid middleground, this is supposed to be _super verbose_ and you can easily filter it away if you don't need it 11:31 <+bridge> Yea 11:32 <+bridge> Dont spend too much time on dead code 11:32 <+bridge> ❤️ 11:32 <+bridge> I will fine tune it in case I will actually repair the snap dumper 11:32 <+bridge> It’s hard to reason about it when it’s so abstract 11:33 <+bridge> Uhm 11:33 <+bridge> Are the allowed values intentionally less indented that the value? 11:34 <+bridge> That probably looks odd 11:35 <+bridge> Should probably align with the value but then you need the data length 11:35 <+bridge> Ye whatever sorry you spent so much time on that 11:35 <+bridge> I will look into it if I need it dw 11:37 <+bridge> the I intended the idents here, this will all be printed in one line anyways so I made it similar to a python array in readability 11:37 <+bridge> Writing python code, that writes C++ code that writes logs is fun tbh xD 11:38 <+bridge> Writing python code, that writes C++ code, that writes logs is fun tbh xD 11:38 <+bridge> I intended the idents here, this will all be printed in one line anyways so I made it similar to a python array in readability 11:40 <+bridge> maybe I don't understand your question btw, do you mean the ident in the C++ code or the log? I guess you mean C++ 11:41 <+bridge> not sure if the `if` applies to the whole left part, or only the right operand of the addition 11:41 <+bridge> maybe add parenthesis to be sure 11:41 <+bridge> Indent in the log output 11:41 <+bridge> I am only about log output right now 11:41 <+bridge> there need to be parenthesis indeed, that was the issue here 😄 neat little puzzle 11:42 <+bridge> indeed 11:42 <+bridge> ```python 11:42 <+bridge> In [1]: content_args = None 11:42 <+bridge> 11:42 <+bridge> In [2]: '\t"]"' + "," if content_args else ""'\t"]"' + "," if content_args else 11:42 <+bridge> ...: "" 11:42 <+bridge> Out[2]: '' 11:42 <+bridge> 11:42 <+bridge> In [3]: content_args = "toto" 11:42 <+bridge> 11:42 <+bridge> In [4]: '\t"]"' + "," if content_args else ""'\t"]"' + "," if content_args else 11:42 <+bridge> ...: "" 11:42 <+bridge> Out[4]: '\t"]",' 11:43 <+bridge> ``` 11:43 <+bridge> the log output is not differently intended for the allowed values? Are you missing the `%s` infront of the tab ? 11:45 <+bridge> my brain is melting between "intend" and "indent" 11:45 <+bridge> the log output is not differently indented for the allowed values? Are you missing the `%s` infront of the tab ? 11:48 <+bridge> do you intend to indent your log output ? 11:49 <+bridge> yes I intended and indented the log output 11:50 <+bridge> yes I indented the log output and intended to 11:51 <+bridge> @chillerdragon the network.py file is apprently not even inside the ruff-checks - formatting this changes everything in the file 12:01 <+bridge> The code you sent starts %s\\t in the first line and A in the second line 12:01 <+bridge> But ye as I said whatever 12:01 <+bridge> The „Allowed“ is further left that „m\_HookState“ maybe that explanation is easier to understand xd 12:01 <+bridge> Let’s not spent a week on dead code 12:48 <+bridge> it should be 12:48 <+bridge> its surprisingly fucked given that pyson cant handle indent mistakes too well 12:48 <+bridge> lets rewrite it in lua the best pro gaming language 12:48 <+bridge> but m_HookedState is behind a TAB and not a linebreak 12:49 <+bridge> like the output is `somevalue\tm_HookedState` 13:10 <+bridge> checkout dis sample prog https://paste.zillyhuhn.com/AG 13:10 <+bridge> `2026-06-02 13:10:20 I snapshot: XX XX XX m_HookState=2` 13:10 <+bridge> `2026-06-02 13:10:20 I snapshot: Allowed=[HOOK_RETRACTED (-1), HOOK_IDLE (0), HOOK_RETRACT_START (1), HOOK_RETRACT_END (3), HOOK_FLYING (4), HOOK_GRABBED (5)]` 13:10 <+bridge> Allowed is further left than m\_HookState 13:12 <+bridge> it used to be a list/block of raw data with variables on the right 13:12 <+bridge> now that block of data is interrupted by the Allowed string 13:13 <+bridge> but dont fix it xd 13:13 <+bridge> just wanted to explain what i meant 13:13 <+bridge> and finally find a use case for my lib :D 13:14 <+bridge> being able to compile a smol example like that with `g++ sample.cpp -lddnet_base -o sample` was for sure worth the 3000 hours i put into it xd 13:17 <+bridge> i just spotted a fizzbuz bug in my code while writing it without having to notice the bug at runtime 13:17 <+bridge> that makes me a senior software architect, right? 13:18 <+bridge> yes 13:19 <+bridge> dear senior, do you know if I can vflip/hflip a texture before rendering on client side? 13:20 <+bridge> do i look like CEO of blender? 13:20 <+bridge> gfx guru vulkan pro 13:21 <+bridge> im glad i understood the words vflip and hflip 13:55 <+bridge> I am not considering myself a vulkan pro, more like a vulkan amateur 13:57 <+bridge> Well the weapon in ddnet is flipped 13:57 <+bridge> I wonder how this is implemented 14:02 <+bridge> in this case I can just use QuadsSetRotation apparently 14:33 <+bridge> Swap the coordinates passed to the `QuadsSetSubset` function 14:39 <+bridge> Rotate your monitor 14:42 <+bridge> just wanted to type that into chat now 😮 14:48 <+bridge> hmm I have an issue with texture bleeding :/ 14:59 <+bridge> was a try :/ texture is unfortunately wrapping and I don't understand why 14:59 <+bridge> https://cdn.discordapp.com/attachments/293493549758939136/1511353556027048050/screenshot_2026-06-02_14-58-46.png?ex=6a20252f&is=6a1ed3af&hm=4519322f103702131a09697daa5ce0fe27a5762f5cb5d92ee6e089d11f6cf992& 14:59 <+bridge> was a try :/ texture is unfortunately wrapping and I don't understand why (look at the menu corners) 14:59 <+bridge> https://cdn.discordapp.com/attachments/293493549758939136/1511353556027048050/screenshot_2026-06-02_14-58-46.png?ex=6a20252f&is=6a1ed3af&hm=4519322f103702131a09697daa5ce0fe27a5762f5cb5d92ee6e089d11f6cf992& 15:28 <+bridge> the idea was easy: generate a corner texture and use that instead of doing 8 line segments, everything worked until this point, you can even draw all rounded corners in one draw call 15:29 <+bridge> guess shader it is 15:41 <+bridge> <01000111g> i wish i had the energy you spend on ddnet dev for my actual work... 15:48 <+bridge> i wish this as well 16:12 <+bridge> @essigautomat i got the shader to be symmetric :poggers2: 16:19 <+bridge> nice 16:20 <+bridge> I got an idea how to add a feature to draw into a map, we could create one big canvas in map size, what could go wrong 🙂 16:23 <+bridge> just calculated this trough, for a 1000x1000 map this is 3.8GB 🙂 18:38 <+bridge> i was even moving towards it 18:38 <+bridge> https://cdn.discordapp.com/attachments/293493549758939136/1511408652643467435/splith_2026-06-0asdasd.mp4?ex=6a20587f&is=6a1f06ff&hm=2364c9fa9a4784505836f175fda45afae1e0571db28447ef7f771072892dfb5a& 18:38 <+bridge> i guess 1 tick too late 18:38 <+bridge> i guess 1 tick too early hook 18:58 <+bridge> ... 18:58 <+bridge> https://cdn.discordapp.com/attachments/293493549758939136/1438814121893167155/zod_wasteland_FLOMBIEATTACK.mp4?ex=6a1feb92&is=6a1e9a12&hm=837da076b68b41d63ffaa696e439ca4bfcb6c0cbd829a849aa5f5126a2918a10& 18:58 <+bridge> okay i got the animation to be skipped when our index changes forcefully due do deletion/insertion of completion entries. I think i can fix the other thing that you see too i just had an idea 18:58 <+bridge> https://cdn.discordapp.com/attachments/293493549758939136/1439658432910332115/2025-11-16_17-46-11.mp4?ex=6a205ae5&is=6a1f0965&hm=1b71ea2037f83dc6fa46ba96a1d390926e34fa02fc519882791a8aa09c70f36e& 18:59 <+bridge> just make an issue already 18:59 <+bridge> no 18:59 <+bridge> its technically not an issue 18:59 <+bridge> u've posted like 6 different times complaining about hookline 18:59 <+bridge> im just mad about it 19:00 <+bridge> how is it technically not an issue 19:00 <+bridge> its not fixable 19:00 <+bridge> if hookline is lying 19:00 <+bridge> everything is fixable 19:00 <+bridge> Its skill issue 19:00 <+bridge> bro 19:00 <+bridge> yea just dont use hookline 19:00 <+bridge> if its constantly trolling u 19:01 <+bridge> same things happen to me when i rely on hookline 19:02 <+bridge> rely on muscle memory 19:02 <+bridge> every clip ur issue is that u dont aim straight enough 19:02 <+bridge> if u aimed more left u wouldnt have this issue in the clip you just sent 19:10 <+bridge> Xd " DDNet is perfect, only bad players" 19:11 <+bridge> yes thats right, but the thing is players are actually those who create ddnet 19:11 <+bridge> game is a mirror of it's community 19:15 <+bridge> all the times i do aim more left i dont post a clip because i dont miss 19:15 <+bridge> this is the exception 19:19 <+bridge> ... 19:19 <+bridge> https://cdn.discordapp.com/attachments/293493549758939136/1511419106933346324/image.png?ex=6a20623b&is=6a1f10bb&hm=ba7452116cdf22e4163380f1132ff11eacb00a9b57299223f5487ef9ce1dc455& 19:19 <+bridge> https://cdn.discordapp.com/attachments/293493549758939136/1511419107235332206/image.png?ex=6a20623b&is=6a1f10bb&hm=e3cd280bd2337c96bd350a381df6b4d0354502a16cf1931508b9eac1a15540fc& 19:24 <+bridge> u hooked before the line indicated hook able and then moved and aimed to the left which then has it indicate you are in range? 23:14 <+bridge> :deen_star: