00:10 <+bridge_> @heinrich5991: oh nice :) what a funny incident 00:10 <+bridge_> How is the ccc? Who was at the ddnet meetup? 00:10 <+bridge_> I miss this stuff every year .\_. 01:00 <+bridge_> ya i wanna know who went 01:00 <+bridge_> would mumble link code have any chance of landing in ddnet-client? 01:01 <+bridge_> we already have engine/client/discord.cpp 01:05 <+bridge_> discord from Temu XD 01:07 <+bridge_> my message from temu did not bridge 01:08 <+bridge_> unless it's not supposed to 02:36 <+bridge_> @robyt3 @essigautomat I should've fixed all the targetswitch comments so its ready for re review whenever you feel like it :giftee_green: 02:38 <+bridge_> ah the only thing i was still unsure about was the targetswitchcooldown magic number... i think its the best way especially with moving switches + shotgun bullets but not 100% on it 04:46 <+bridge_> most likely not 05:00 <+bridge_> why not? it changes nothing about the client if mumble is not open 05:00 <+bridge_> just like discord 05:00 <+bridge_> i find it odd already that we do anything for discord, as a FOSS project 05:01 <+bridge_> but i understand the reasoning 05:22 <+bridge_> discord rpc is REALLY big 05:22 <+bridge_> its for advertising 05:22 <+bridge_> but mumble wont help with shi 05:30 <+bridge_> <12944qwerty> how difficult is dead reckoning to implement lol 05:35 <+bridge_> uhhhhhhhhhhhhhhhhhhhhhhhhh i remember a big convo about that 05:35 <+bridge_> probably hard xd 06:35 <+bridge_> <12944qwerty> are doors calculated by dead reckoing 07:03 <+bridge_> hello 07:39 <+bridge_> how to actually get +v on irc 07:39 <+bridge_> (i'm just wondering) 07:53 <+bridge_> @swarfey would you be open to a PR that changes iOptions to accept reconnect, with a default of `true` ? 07:54 <+bridge_> I need to be able to disable automatic reconnection due to timeout, since it can cause spam to high-ping locations (you get disconnect before connect in this case, not being able to reconsile this in code if your connections are managed) 07:54 <+bridge_> I need to be able to disable automatic reconnection due to timeout, since it can cause spam to high-ping locations (you get disconnect before connect in this case, not being able to reconcile this in code if your connections are managed) 08:20 <+bridge_> i didz it anyway but maybe its not right, gonna test 09:01 <+bridge_> how can I optimize the map? (it weighs 3.66 mb) 09:04 <+bridge_> Make the layers smaller and delete embedded images and everything else that’s not used such as envelopes layers and so on 09:05 <+bridge_> Take a look for yourself 09:05 <+bridge_> https://cdn.discordapp.com/attachments/293493549758939136/1455471826653286573/Helluva.map?ex=6954d944&is=695387c4&hm=22baf67d44abc3777303193a1d0a0c1fb2ec78375754be372d5d55d35021cd38& 09:06 <+bridge_> @12944qwerty: what are you working on? 09:06 <+bridge_> <12944qwerty> Same thing 09:06 <+bridge_> <12944qwerty> Volleyball ai 09:06 <+bridge_> Ah so the prediction issue from swarfey basically? 09:07 <+bridge_> and here in more detail 09:07 <+bridge_> That’s quite some work 09:07 <+bridge_> @bobik8912 tilesets dont need to be 2048x2048. Also are u even using those fogs? 09:07 <+bridge_> otherwise its probably fine. u might be able to downscale assets . the convention is one tile in-game should correspond to 64 pixels of image 09:07 <+bridge_> I recommend to just ditch JavaScript and use the ddnet client 09:07 <+bridge_> 64x64 pixels 09:07 <+bridge_> It’s already fast and feature complete 09:08 <+bridge_> <12944qwerty> Yeah but i don't want to when with c and i don't understand half of the code to be able to automate a bot 09:08 <+bridge_> I use it to simulate clouds. 09:08 <+bridge_> <12944qwerty> Yeah but i don't want to with c and i don't understand half of the code to be able to automate a bot 09:08 <+bridge_> But the size really needs to be reduced. 09:08 <+bridge_> Then dead reckoning won’t be easier still imo 09:08 <+bridge_> <12944qwerty> Ik 09:08 <+bridge_> <12944qwerty> What happened to your pythons twnet parser 09:08 <+bridge_> C looks like JavaScript change my mind 09:09 <+bridge_> Im still working on it but it also won’t get any physics implementation any time soon 09:09 <+bridge_> <12944qwerty> Types and memory management and imports and so many other things 09:09 <+bridge_> <12944qwerty> Sad 09:09 <+bridge_> Tho I have played with python bindings for teero physics once 09:09 <+bridge_> <12944qwerty> Is there any docs on dead reckoning by chance 09:09 <+bridge_> I think yes 09:09 <+bridge_> <12944qwerty> I assume there has to be something 09:10 <+bridge_> Yes yes 09:10 <+bridge_> There is in this very channel talk about it 09:10 <+bridge_> Maybe libtw2 docs 09:10 <+bridge_> Or twgame 09:11 <+bridge_> tldr is just do the next physics tick and calculate new position of tees 09:11 <+bridge_> The server only tells you old pos and age in ticks if a tee was not touched by others and can just be predicted 09:11 <+bridge_> <12944qwerty> The hardest part is probably hook physics? 09:12 <+bridge_> Hardest part is full physics 09:12 <+bridge_> It also needs to load and parse the map data 09:12 <+bridge_> <12944qwerty> Yeah 09:12 <+bridge_> That’s step one I would say 09:12 <+bridge_> But what do I know 09:12 <+bridge_> <12944qwerty> At least there's docs for that 09:12 <+bridge_> I never bothered to do it 09:13 <+bridge_> Apparently you can use ddnet as a physics library soon 09:13 <+bridge_> But I doubt it :D 09:14 <+bridge_> <12944qwerty> Soon™ 09:15 <+bridge_> <12944qwerty> Maybe https://gitlab.com/ddnet-rs/twmap-py 09:40 <+ChillerDragon> yes twmap is a good start 09:40 <+ChillerDragon> but i need matching physics and teero has a map and physics lib that already work together 09:43 <+bridge_> What is twmap-py used for and what tasks can it be used for? 10:35 <+ChillerDragon> there are a few projects using it and it can do everything 10:35 <+ChillerDragon> read and write any kind of map 11:17 <+bridge_> can it do my taxes 11:48 <+ChillerDragon> everything map related bru -.- 11:48 <+ChillerDragon> it can convert your tax statement to a ddnet map 12:40 <+bridge_> https://youtube.com/shorts/1MSy6epsU6Y for a schizoprenic person surprisingly sane 12:50 <+ChillerDragon> imo ruby did it quite nice 12:50 <+ChillerDragon> there is public and private and it works 12:50 <+ChillerDragon> but if you really need to access private stuff you just can 12:51 <+bridge_> then it's not that private xd 12:51 <+ChillerDragon> so a library can communicate clearly the public api and power users can still access what they need without touching the class if they know what they are doing 12:51 <+ChillerDragon> its different syntax to call the method then 12:51 <+ChillerDragon> so you wont do it by accident 12:52 <+ChillerDragon> imo better than some _ prefix hax some languages use 13:07 <+ChillerDragon> @bcmutma u here? 13:08 <+bridge_> ye 13:09 <+ChillerDragon> okay nice @bcmutma I could reproduce I really have to go now -.- but i will have a look later i can just start the server right? 13:09 <+bridge_> ye 13:29 <+bridge_> i somehow broke ninja target switches 13:35 <+bridge_> oh its because HandleNinja returns out of the entire function if the server is in solo mode :| 13:37 <+bridge_> After spending the whole afternoon writing a container class, I realized it's useless, at least now. 🙁 13:37 <+bridge_> :frozen: 13:40 <+bridge_> I got beaten by the ocean of cpp templates 15:03 <+bridge_> oh whats the issue with it? 15:03 <+bridge_> if the tee times out after reconnecting i would rather fix that instead of making it like that 15:03 <+bridge_> if the tee times out after reconnecting i would rather fix that instead of adding an extra option for that 15:29 <+bridge_> I just found the jankiest bug i think i've ever found in ddnet 15:46 <+bridge_> brb building a map that relies on this so it can never be fixed 16:03 <+bridge_> ~~if the tee times out after reconnecting i would rather fix that instead of adding an extra option for that~~ (i misunderstood, i thought you were talking about the ddnet "reconnect" packet) 16:57 <+bridge_> :monkaS: 16:57 <+bridge_> https://cdn.discordapp.com/attachments/293493549758939136/1455590519534256189/screenshot_2025-12-30_16-52-29.png?ex=695547cf&is=6953f64f&hm=c826e092a821c9124536580e53d0946158a5c2dc192a1d729f74bb888fbb8111& 16:57 <+bridge_> it is coming 16:58 <+bridge_> there is nowhere to run 16:58 <+bridge_> there is no time to run 17:03 <+bridge_> https://cdn.discordapp.com/attachments/293493549758939136/1455592126871109789/image.png?ex=6955494e&is=6953f7ce&hm=ea4f6a1ebc36ee43d2fd681c2515dde2157cb9ed215574e0d1dbd0c4648c54ae& 17:03 <+bridge_> https://cdn.discordapp.com/attachments/293493549758939136/1455592127357517926/image.png?ex=6955494e&is=6953f7ce&hm=9acf0c679e7d4c5a6832f7ee17fc8f97e7a1210e54737bdad5f9da6c0c9fa295& 17:03 <+bridge_> https://cdn.discordapp.com/attachments/293493549758939136/1455592128066490408/image.png?ex=6955494e&is=6953f7ce&hm=8215e7a86764193714d4ec8805f439dd8bb14e8d796926006ba44c7fb3463d0a& 17:03 <+bridge_> https://cdn.discordapp.com/attachments/293493549758939136/1455592128527859884/image.png?ex=6955494f&is=6953f7cf&hm=72690bb4e02c6e50546713487b20ac378ec5803d7c340517db023f4db1b2b3eb& 17:03 <+bridge_> consider banning yourself 17:04 <+bridge_> @Discord Mod 17:05 <+bridge_> i completely forgot about this 17:06 <+bridge_> bad bot 17:06 <+bridge_> Sowwy :c 17:28 <+bridge_> Doood 18:35 <+bridge_> what the fish 18:35 <+bridge_> (pardon me for my vulgar language) 19:06 <+ChillerDragon> @souly bun bun 19:06 <+ChillerDragon> how to ping solly? 19:07 <+bridge_> @soulyvevo 19:08 <+bridge_> @sollybunny ^ 19:08 <+bridge_> chiller pinged bomb souly 19:08 <+bridge_> wha 19:08 <+ChillerDragon> i mean solly bun bun the designer 19:08 <+bridge_> 498918197475672076 19:09 <+bridge_> `@sollybunny` 19:09 <+bridge_> fail 19:09 <+ChillerDragon> axaxax 19:09 <+bridge_> `<@ 498918197475672076>` 19:09 <+bridge_> without the space 19:09 <+bridge_> why is zenblock censored? 19:10 <+ChillerDragon> solly did you create a texture like this before or did i trip that? 19:10 <+ChillerDragon> https://zillyhuhn.com/cs/gogreen.png 19:10 <+bridge_> you tripped 19:10 <+ChillerDragon> not u 19:10 <+ChillerDragon> solly bun bun 19:10 <+bridge_> you may be looking for @soulyvevo 19:10 <+bridge_> @Souly 19:10 <+ChillerDragon> solly vevo 19:10 <+bridge_> you need to get your pings checked by a doctor 19:10 <+ChillerDragon> oh shit its really vevo 19:10 <+ChillerDragon> i could have guess that its like his gh 19:11 <+bridge_> i pulled insta and it doesnt build anymore 19:11 <+bridge_> ! 19:11 <+bridge_> ```cpp 19:11 <+bridge_> CMake Warning (dev) at CMakeLists.txt:416 (message): 19:11 <+bridge_> Entries only present in GAME_SERVER: 19:11 <+bridge_> /home/solly/Code/ddnet/src/game/server/instagib/ddnet_db_utils/ddnet_db_utils.cpp;/home/solly/Code/ddnet/src/game/server/instagib/ddnet_db_utils/ddnet_db_utils.h 19:11 <+bridge_> Call Stack (most recent call first): 19:11 <+bridge_> CMakeLists.txt:436 (set_glob) 19:11 <+bridge_> CMakeLists.txt:2972 (set_src) 19:12 <+bridge_> This warning is for project developers. Use -Wno-dev to suppress it. 19:12 <+bridge_> ``` 19:12 <+bridge_> ``` 19:12 <+bridge_> CMake Error at CMakeLists.txt:3204 (add_library): 19:12 <+bridge_> Cannot find source file: 19:12 <+bridge_> 19:12 <+bridge_> /home/solly/Code/ddnet/src/game/server/instagib/ddnet_db_utils/ddnet_db_utils.cpp 19:12 <+bridge_> ``` 19:12 <+bridge_> i guess its asking for its removal 19:12 <+ChillerDragon> `git submodule update --init --recursive` 19:12 <+bridge_> i dont want ddnet libs! 19:13 <+bridge_> do you have to clone a submodule now to build insta D: 19:14 <+bridge_> plz intree 19:14 <+bridge_> https://cdn.discordapp.com/attachments/293493549758939136/1455625182101377197/image.png?ex=69556817&is=69541697&hm=a718b7c414d36f21f23c78c70d7a2bd470c5d011a292c7d0a3c70a01c672db57& 19:16 <+ChillerDragon> i dont want to copy paste code to ddnet++ 19:48 <+bridge_> you can use `git subtree` to make it easier to copy paste code across repository 19:49 <+bridge_> rust uses that to integrate clippy and rust-analyzer into the rust-lang/rust repository 20:01 <+bridge_> <12944qwerty> pardoned 20:04 <+ChillerDragon> i dont see the issue with submodules 20:05 <+bridge_> I wanted to offer an alternative since solly complained 20:09 <+ChillerDragon> ye solly why u complain 20:34 <+bridge_> wot 20:34 <+bridge_> https://cdn.discordapp.com/attachments/293493549758939136/1455645180119093330/image.png?ex=69557ab7&is=69542937&hm=f3bf43493815ba0bf85b4f53226313da9597f97321b946a4919268095031a8a5& 20:35 <+bridge_> wot 20:35 <+bridge_> 20:35 <+bridge_> it worked after clicking second time 20:35 <+bridge_> https://cdn.discordapp.com/attachments/293493549758939136/1455645180119093330/image.png?ex=69557ab7&is=69542937&hm=f3bf43493815ba0bf85b4f53226313da9597f97321b946a4919268095031a8a5& 20:35 <+bridge_> github's quality dropping 20:50 <+bridge_> vibes 📈 20:50 <+bridge_> quality 📉 21:04 <+bridge_> live enshitification 21:05 <+bridge_> chillerdragon: i have a vertical line at 80 cols in neovim 21:05 <+bridge_> https://cdn.discordapp.com/attachments/293493549758939136/1455652931649929268/image.png?ex=695581ef&is=6954306f&hm=86029cb8ec1c9ea1915859e2cb645c2b962749fd519a1452810808d45d6c9de1& 21:11 <+bridge_> you don't get a connection event until much later, so it is hard to determine if you should still try to connect manually 21:12 <+bridge_> i would rather this option to gracefully disconnect if it times out and let users determine if they should reconnect 21:13 <+bridge_> I think my flag works, I was testing in China last night where the bot gets 200 ping consistently, never happened after many reboots 21:14 <+bridge_> masterserv may show connecting players though, i thought i heard smt like this 21:14 <+bridge_> then i could add that to my logic 21:19 <+ChillerDragon> @MilkeeyCat send pr to my neovim to add line xd 21:20 <+ChillerDragon> https://github.com/ChillerDragon/kickstart.nvim 21:21 <+ChillerDragon> also how do you review on github without the line? 21:21 <+bridge_> I have the file open locally xd 21:22 <+ChillerDragon> bro it took me 20 minutes to apply this shits 21:22 <+ChillerDragon> and u had it locally already 21:22 <+bridge_> whoopsie 21:22 <+ChillerDragon> github ux for long convos is soooo bad 21:25 <+ChillerDragon> @milkeeycat i feel so bad for bloating in a 400 line example 21:26 <+ChillerDragon> it depends on a full library and still is fat af 21:26 <+ChillerDragon> onbgy has a full client without depending on a library in 700 lines xd 21:26 <+ChillerDragon> https://github.com/nobody-mb/twchatonly/blob/master/chatonly.cpp 21:27 <+bridge_> chillerdragon: add `vim.opt.colorcolumn = "80"` after https://github.com/ChillerDragon/kickstart.nvim/blob/958f9f7277d574d3ba7db991c4696648a71806ca/init.lua#L109 21:27 <+ChillerDragon> ty 21:34 <+ChillerDragon> bru half the code goes through the line 21:34 <+ChillerDragon> thats not satisfying 22:03 <+bridge_> copilot it vs 2026 preview is so quick 22:03 <+bridge_> it suggest me before i have time to think what to type 22:03 <+bridge_> on small project 22:03 <+bridge_> copilot in vs 2026 preview is so quick 22:03 <+bridge_> idk how it does that 22:20 <+bridge_> Well, intellisense was integrated to copilot, but even idk how intellisense was so advanced 22:21 <+bridge_> it doesn't use any agent models, but rather it's own algorithms and learning? idk 22:21 <+bridge_> if it works is good 😂 22:21 <+bridge_> when i have to do smth on ue5, ps5, or big project it lags hard 22:21 <+bridge_> or doesnt work at all 22:21 <+bridge_> autocorrect and edits work super well 22:22 <+bridge_> not immediately, but eventually it'll provide an edit which I prefer taking 22:22 <+bridge_> And yes, on Rust it's also decent. 22:22 <+bridge_> rust 😭 22:22 <+bridge_> :cammostripes: 22:23 <+bridge_> wait, ps5 development? 22:24 <+bridge_> as in using a ps5 export template? 22:24 <+bridge_> at a job i do stuff with ps5 sdk 22:24 <+bridge_> ooooh 22:24 <+bridge_> and its broken with intellisense, a lot of stuff is underlined red even though it shouldnt 22:24 <+bridge_> I mean, if it compiles, who cares xd 22:24 <+bridge_> yea, but not ideal :p 22:25 <+bridge_> remember, it's only not ideal if nothing is wrong 22:25 <+bridge_> something has to be 22:26 <+bridge_> how nightmarish is working with PS5 btw? 22:26 <+bridge_> the docs are very nice 22:26 <+bridge_> with examples 22:26 <+bridge_> with xbox its lot worse 22:26 <+bridge_> xbox is a lot worse 22:27 <+bridge_> micros*ft 22:28 <+bridge_> well awesome, maybe once I fully integrated Bazel into the Godot repo, then I could try messing with it's export templates 22:28 <+bridge_> did you know, that almost 80% of the external thirdparty libraries have been updated last in 2014~? 22:29 <+bridge_> did you know, that almost 80% of the external thirdparty libraries on Godot have been updated last in 2014~? 22:29 <+bridge_> And you can just, make it so that you download the latest release of those libs through the compiler? Crazy 22:33 <+bridge_> <12944qwerty> what are envelopes? 22:34 <+bridge_> i didnt, i never used godot 🙂 22:35 <+bridge_> Sadge, decent game engine tho 22:39 <+bridge_> Envelops are properties (such as **Position**, **Color** and **Sound**), that you can edit and use on any object in your maps. 22:39 <+bridge_> On tiles, you can only change it's **Color**: 22:39 <+bridge_> https://cdn.discordapp.com/attachments/293493549758939136/1455676789018853558/image.png?ex=69559827&is=695446a7&hm=8b337cb22de84ff25f3028628410d53b47dec5c2c133e9dc0b7593d34521d887& 22:40 <+bridge_> <12944qwerty> ah, so i can get the texture a quad uses from that 22:40 <+bridge_> Yes, a Quad can change it's **Position** and **Color**, with those envelopes (as animation) 22:41 <+bridge_> And sounds, well... you can change the sound's volume. 22:41 <+bridge_> Basic? Yes, but practical. 22:43 <+bridge_> Easy to remember, each envelope (or animation as we call it) can be assigned to a number: 22:43 <+bridge_> https://cdn.discordapp.com/attachments/293493549758939136/1455677662214492333/image.png?ex=695598f7&is=69544777&hm=79ea5fe642db3b033b73bd2aeefc2fc2f63889e3ab35f8780aa7f7bb1ace224e& 22:44 <+bridge_> Such as this one, this **Position** envelope, made with [**Pos+**] has [1] assigned to it. You can use it on a Quad: 22:44 <+bridge_> https://cdn.discordapp.com/attachments/293493549758939136/1455678078645698702/image.png?ex=6955995b&is=695447db&hm=465aba4c11926e1c6a37f02a6c5d6c1092e91028ae6457eb8d68bcf4169fd8a0& 22:46 <+bridge_> Clicking on the Play button next to the [HD] button will play the animation for you: 22:46 <+bridge_> https://cdn.discordapp.com/attachments/293493549758939136/1455678408502546529/image.png?ex=695599a9&is=69544829&hm=1f27809461517b328a2a8023d5493b3cc97ea8e7472209401e06955f24447145& 22:46 <+bridge_> Aaaaaand there you go, now you know everything about envelopes. It's as simple as it gets. 22:47 <+bridge_> <12944qwerty> lol I'm trying to make a map render with python rn, not using the editor 22:47 <+bridge_> <12944qwerty> so this is annoying already 22:47 <+bridge_> :kek: ofc the coding side of envelopes are prob a nightmare 22:47 <+bridge_> But you now get the gest of what it really is 22:48 <+bridge_> But you now get the gest of what it really is, I hope 22:48 <+bridge_> Or at least, what it's used for 22:48 <+bridge_> <12944qwerty> yeah 22:48 <+bridge_> <12944qwerty> is it only animations or does it create the look for a quad 22:48 <+bridge_> <12944qwerty> because I can't find how to get the image the quad uses 22:49 <+bridge_> Sadly no position changes for individual points in a Quad, it'll move the pivot point only. 22:49 <+bridge_> It can move and rotate 22:49 <+bridge_> (no skew, ripperino) 22:50 <+bridge_> ah, prob with shaders but idk where quads use it... 22:51 <+bridge_> btw im dumb when it comes to this game's whole architexture so I'm a bad example of it xd 22:51 <+bridge_> <12944qwerty> lol 22:52 <+bridge_> <12944qwerty> oh im an idiot 22:52 <+bridge_> <12944qwerty> the image is stored in the layer not the quad 22:53 <+bridge_> For instantiation purposes I assume...? 22:53 <+bridge_> <12944qwerty> probably because each layer can only have one spritesheet 22:54 <+bridge_> <12944qwerty> egiwoh the layer.image is None wtf 23:32 <+bridge_> None -> blank (completely white texture)