00:57 < bridge> Thanks good read. I rate this blog 9/10. Finally understood Nagels algorithm. 03:03 < bridge> big +1, really important features, for streamers, but also for minors etc 03:03 < bridge> yeah totally makes sense gotta have those features especially for streamers and to keep things safe for minors too 😭 good call 03:03 < bridge> uh huh 03:04 < bridge> you smell 03:04 < bridge> whats that supposed to mean💀? 03:05 < bridge> LOL 03:05 < bridge> I was so confused that he wrote that in under 5s with same content 03:07 < bridge> one time someone support me and its a gpt bot :pepeW: 03:10 < bridge> https://media.discordapp.net/attachments/1117664860646408225/1160308622975303922/8017BDCB-95DE-4685-B770-9E16800B436F.gif?ex=6534309d&is=6521bb9d&hm=80621708fdde38e937b6a6e9c4718d44c29674da822f454138561dc2995056cd& 04:15 < ws-client> does the client really not know if others are in a freeze tile or am i too blind to see it? 04:16 < ws-client> there is FreezeStart and FreezeEnd i was expecting a magic value like -2 in one of them if the player is in a freeze tile 04:17 < ws-client> i never played with freeze bars on but holy moly its not statically fully when in freeze? 04:18 < ws-client> https://zillyhuhn.com/cs/.1715307511.png 04:24 < ws-client> nvm found it :D there is the IN_FREEZE flag. Imo the freeze bar could use it and show full in that case. 04:30 < ws-client> hm I guess pickup heart is not considered IN_FREEZE ._. 04:30 < ws-client> looks pretty in freeze to me 04:33 < pon882> halo 05:26 < bridge> yeah agree but freeze bar is usually off if the player is inside the freeze 05:28 < bridge> client doesn't know about ddnet hearts, they're not predicted 06:20 < ws-client> @patiga when LLM map search? I wanna go to https://maps.ddnet.org/llm and type in "faily solo maps" and get a list of maps :D 07:22 < bridge> Забирайте S.T.A.L.K.E.R 2 предзаказ на свой Steam Бесплатно https://surl.pk/aWMkj не знаю баг это или нет но я забрал 08:30 < bridge> The infamous magic edge, I guess. Teeworlds physics troll 08:30 < bridge> never seen magic edge with speedups 08:30 < bridge> you can try to save-load 08:31 < bridge> I've seen it a handful of times, very rare 09:15 < bridge> I had >3 on Himalaya 09:15 < bridge> It's cursed 09:46 < bridge> gores is basically PVP 09:47 < bridge> that or it’s basically ddnet servers with 2 extra features and different maps 09:47 < bridge> pick 10:02 < bridge> DDNet is also PVP then, you can aswell use your dummy to finish maps as one person 10:04 < bridge> The separation of the used terms: pvp, race and ddnet ( which is not a gametype, its just the network ) is wrongly used. 10:04 < bridge> 10:04 < bridge> PVP & PVE are the top categories 10:04 < bridge> Race, Gores, DDRace, ctf, fng are the second categories 10:06 < bridge> u misunderstood 10:07 < bridge> > **Assume every server** that does not have **ddnet or race** in its **gametype** to be a **pvp** server. 10:09 < bridge> > it’s(Gores) basically ddnet servers with 2 extra features and different maps 10:09 < bridge> Is wrong aswell. 10:09 < bridge> 10:09 < bridge> KoG is based on DDNets server implementation to have as much feature support as possible, but its not "basically ddnet". We are KoG, DDNet is DDNet 🙂 10:09 < bridge> right 10:10 < bridge> different name = different product right 10:10 < bridge> :kek: 10:10 < bridge> Different gameplay? 10:10 < bridge> Different maps? 10:10 < bridge> Shared community obv. 10:35 < ws-client> @heinrich5991 any chance we could hop on a call or something on the weekend? To progress some of the stale 3. Redirects, 0.7 client and #7777 (mod/fork support). 10:35 < bridge> chiller i like your patient approach 10:35 < ws-client> ?xd 10:35 < ws-client> you mean im being to pushy ._. 10:35 < bridge> No 10:35 < bridge> i would just quit 10:36 < bridge> impossible to get real code past the wall of nits 10:36 < ws-client> @avolicious oh rite kog renamed the gametype from DDrace to Gores right? Opsi forgot about that. 10:37 < bridge> so true 10:37 < bridge> i dont have a lot of respect for kog 10:38 < ws-client> @Ewan the thing is i solved all nits for a while. I am just being ghosted at this point. Everything that was asked from me is done on all those 3 issues i care about the most right now. And it has been like that for weeks. 10:38 < bridge> i think if gores was a part of ddnet the donation funds from gores only players could go towards better servers for all and obviously it would be open source 10:39 < bridge> but then they wouldn't have an excuse for the weirdest website and accounts system right 10:40 < bridge> he does this to me too 10:40 < bridge> i cannot consider serious contributions to ddnet at this point 10:40 < bridge> because i know it would be a tremendous waste of time 10:41 < ws-client> i mean i get it. If ppl open prs or issues on my fork or ask me to do anything actually my average response time is like 5 years. 10:41 < bridge> well you also can't step down as the only maintainer of your repos 10:41 < ws-client> Thats why i am wondering what i could do to speed it up for the things i care about. 10:41 < ws-client> xz mentioned xd 10:42 < bridge> lol 10:42 < bridge> i can't find my keys 10:42 < ws-client> keyboard? home door? crypto? 10:42 < bridge> car and home 10:42 < bridge> and mailbox 10:42 < ws-client> F 10:43 < bridge> i was going to go enjoy this cancer stick and then go to bed 10:43 < bridge> now i have to find keys 10:43 < ws-client> timezone moment 10:44 < bridge> my life truly is a nightmare 10:44 < bridge> sorry i couldn't get your thing building chiller 10:44 < bridge> did melon manage? 10:44 < ws-client> i think he did 10:44 < ws-client> don't be sorry thanks for testing 10:45 < ws-client> i didnt want you to debug it. I was just curious if it can be built flawlessly already. 10:45 < bridge> i don't typically start such things at 4 am or whatever it was 10:45 < ws-client> it was same time as now no? 10:45 < bridge> yep 10:45 < bridge> but a bit later 10:45 < ws-client> a bit ye 10:45 < ws-client> was almost dark xd 10:45 < bridge> lol 10:45 < bridge> gray for me rn 10:46 < ws-client> if your keys are lost you can crash at my place tonite uwun 10:47 < bridge> lol 10:47 < bridge> thanks chiller 10:47 < ws-client> np <3 10:47 < bridge> though it's actually the opposite issue 10:47 < bridge> im inside apartment but want to go to car 10:47 < ws-client> just smoke inside 10:47 < bridge> that would probably give my mom a craving 10:47 < bridge> also illegal 10:48 < bridge> or at least against terms of lease 10:50 < bridge> im actually beginning to get worried 10:50 < bridge> never lost them before 10:56 < bridge> ah i let my brother grab something out of the car and he left them on the coffee table 10:57 < bridge> The donations are mostly covered by me, lol. 10:58 < bridge> But you can still run your own Gores servers? Even ddnet has some maps on their servers 10:58 < bridge> As long as you dont name your servers "KoG", its all fine 10:58 < bridge> KoGay 10:59 < bridge> (stands for amazing... yep) 11:03 < bridge> ^^ would be fun 11:10 < bridge> morning 11:11 < bridge> morning 11:22 < bridge> Good morning 11:29 < bridge> morning 11:30 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1238422806358786078/IMG_5364.jpg?ex=663f3a9d&is=663de91d&hm=d9f068c38168fb73389ff5bb03b5a0babc8c684ce04e16b00a3f9f5da0994b30& 11:30 < bridge> went for a little drive and i was humbled by the aura that this sign gave off 11:31 < bridge> :kek: 11:32 < bridge> i had to stop and take a photo 11:43 < bridge> corpos not having a windows key is just hilarious :kek: 11:45 < bridge> they’re actually a nonprofit 11:45 < bridge> they host plays, museum attractions, and have classes and stuff 12:09 < bridge> ChillerDragon check out https://elv.sh/ 12:09 < bridge> ``` 12:09 < bridge> for x [*.jpg] { 12:09 < bridge> gm convert $x (str:trim-suffix $x .jpg).png 12:09 < bridge> } 12:09 < bridge> ``` 12:18 < bridge> this looks so cool :D 12:18 < bridge> ima go learn elvish 12:19 < bridge> yeah 12:19 < bridge> paralel each 12:20 < bridge> ```rust 12:20 < bridge> pub extern fn puts(x: *mut u8) -> i32; 12:20 < bridge> 12:20 < bridge> pub fn main() -> i32 { 12:20 < bridge> let x: [u8; 4] = [104, 0, 0, 0]; 12:20 < bridge> puts(&x as *mut u8); 12:20 < bridge> return 0; 12:20 < bridge> } 12:20 < bridge> ``` 12:20 < bridge> edlang now supports arrays 12:20 < bridge> fixed size* 12:20 < bridge> this prints 'h' xD 12:21 < bridge> ```llvm 12:21 < bridge> ; Function Attrs: nofree nounwind 12:21 < bridge> declare !dbg !2 noundef i32 @puts(ptr nocapture noundef readonly) local_unnamed_addr #0 12:21 < bridge> 12:21 < bridge> ; Function Attrs: nofree nounwind 12:21 < bridge> define noundef i32 @main() local_unnamed_addr #0 !dbg !9 { 12:21 < bridge> entry: 12:21 < bridge> %x = alloca [4 x i8], align 4, !dbg !18 12:21 < bridge> call void @llvm.dbg.declare(metadata ptr %x, metadata !13, metadata !DIExpression()), !dbg !18 12:21 < bridge> tail call void @llvm.dbg.value(metadata [4 x i8] c"h\00\00\00", metadata !13, metadata !DIExpression()), !dbg !18 12:21 < bridge> store <4 x i8> , ptr %x, align 4, !dbg !19 12:21 < bridge> %0 = call i32 @puts(ptr nonnull dereferenceable(1) %x), !dbg !20 12:21 < bridge> ret i32 0, !dbg !21 12:21 < bridge> } 12:21 < bridge> ``` 12:28 < bridge> :Celebrate: 12:28 < bridge> Did I ever ask you what the purpose of this project is and then forget it? It really looks like you are reinventing rust 😄 12:29 < bridge> yep it looks like that 12:29 < bridge> im just having fun doing my lang 12:29 < bridge> xD 12:29 < bridge> and not a interpreted one, a truly optimized one (thanks to llvm) 12:29 < bridge> becoming a llvm expert also opens lot of stuff for me xd 12:29 < bridge> I was chatting with a friend a couple days ago, he was adamant no sane profit seeking entity would pay a developer to spend time making a less capable rust 12:29 < bridge> it helps at my current job, and future opportunities 12:29 < bridge> and i just like doing it 12:30 < bridge> thats what my company is doing too 12:30 < bridge> bah ill share it here, its this https://github.com/lambdaclass/concrete 12:30 < bridge> Yeah, he and I could not really come up with why a company would spend time and money making their own programming language 12:31 < bridge> i would say the ceo which is the cto actually likes tech and programming xD 12:31 < bridge> he adopted rust early at 2015 too 12:32 < bridge> we all know its a long term project its like a side project of the company we make as long as other stuff goes well 12:32 < bridge> cuz it doesnt give money 12:32 < bridge> So it's more like for the lulz side project 12:32 < bridge> well he actually wants to use it 12:32 < bridge> if it becomes something 12:33 < bridge> and the features it has are specially aligned with that the company wants 12:33 < bridge> Understandable. Though no way I can convince that friend of mine that people do things like this 😄 12:33 < bridge> xd 12:33 < bridge> as long as i get paid i wont say no to fun stuff 12:33 < bridge> He has a very neoliberal understanding of business and economy. If any business entity is doing anything that has a chance of not generating profit he immediately calls it stupid 12:34 < bridge> That's the spirit 12:34 < bridge> concrete is made with MLIR, while i make edlang with LLVM IR 12:34 < bridge> so i learn both worlds 12:35 < bridge> Iirc mlir lies at a slightly higher level of abstraction, right? 12:35 < bridge> @learath2 he wants a rust with a erlang/elixir builtin runtime 12:35 < bridge> yeah 12:35 < bridge> MLIR is a IR of IRs 12:35 < bridge> it compiles down to LLVM IR if u target llvm 12:36 < bridge> but u can target other stuff 12:37 < bridge> the more i work with llvm ir the more im astonished at how good llvm is at optimizing stuff, it feels magic 12:39 < bridge> https://github.com/Hirrolot/datatype99 12:39 < bridge> meat 12:39 < bridge> LOL 12:39 < bridge> neat 12:39 < bridge> ```c 12:39 < bridge> int sum(const BinaryTree *tree) { 12:39 < bridge> match(*tree) { 12:39 < bridge> of(Leaf, x) return *x; 12:39 < bridge> of(Node, lhs, x, rhs) return sum(*lhs) + *x + sum(*rhs); 12:39 < bridge> } 12:39 < bridge> 12:39 < bridge> // Invalid input (no such variant). 12:39 < bridge> return -1; 12:39 < bridge> } 12:39 < bridge> ``` 12:40 < bridge> elvsh seems coo 12:40 < bridge> k 12:40 < bridge> cool 12:40 < bridge> god damn 12:40 < bridge> i just smoked some germans in fng 12:40 < bridge> and then ran 1 map with a drunk buddy who i havent seen in a while 12:40 < bridge> and now it's truly bedtime 12:41 < bridge> @learath2 is this cursed 12:41 < bridge> What language is this even? 😄 12:43 < bridge> seems awesome 12:45 < bridge> C 12:46 < bridge> macros 12:46 < bridge> c99 12:46 < bridge> why doing this 12:46 < bridge> usw switch 12:46 < bridge> and win 12:47 < bridge> Is this achieved by macro magic? 12:47 < bridge> I can't imagine this being valid any other way 12:48 < bridge> Anyway, I don't like it very much, macros that break rules of the language makes code hard to read 12:49 < ws-client> dunno bout elvsh i prefer bash somehow :D 12:50 < ws-client> ``for x in *.jpg; do gm convert $x $(basename $x .jpg).png;done`` does look better to me :p 12:51 < bridge> https://mathoverflow.net/questions/470951/is-the-largest-root-of-a-random-polynomial-more-likely-to-be-real-than-complex 12:51 < ws-client> lerato why macro? can't this be done by regular functions with side effects? 12:52 < ws-client> hm yea it passes in a struct name as argument ok maybe that needs a macro 12:54 < ws-client> failing on undefined variables can also be achieved in bash 12:55 < ws-client> setting `set -u` in the interactive shell seems like a good idea actually. Why have i never thought about that. 12:57 < ws-client> https://github.com/ddnet/ddnet/assets/20344300/b7f2f9b6-d627-4ef3-862c-849e51ac9c8f 12:58 < ws-client> so far i dont see any benefit of this shell. Also it does not look posix compatible. 13:03 < bridge> did u just paste that into an issue and copy it back LOL 13:09 < bridge> The update servers in parallel example seems awesome 13:09 < bridge> peach… 14:28 < ws-client> yes i did Ewan :D I don't have my hotkeys on mac for screenshots xd 15:13 < bridge> https://developer.mozilla.org/en-US/docs/Web/API/Popover_API 16:03 < bridge> i might retake my vim workflow with https://www.lazyvim.org 16:32 < ws-client> This is what made me switch from vscode to neovim https://github.com/nvim-lua/kickstart.nvim 16:47 < bridge> Which variable stores the actual teamnumber of ur tee in `chat.cpp` and which value corresponds to team 0? 16:48 < bridge> i dunno if it stores it at all 16:48 < bridge> it might just generate the text color directly 16:49 < bridge> e.g. if the team dissolves it still must show the correct color 16:50 < bridge> nah thats not true i think, if u write a msg in team 1 it will sghow red in global chat but will switch colors afterwards when uleave the team 16:50 < bridge> mh ok 16:51 < bridge> but we are stuck in implmenting a streamer mode and want to check if people are in the same team (that works) but also make an execption if u are in team 0 16:51 < bridge> then it will probably do it by the name of the person that wrote the msg 16:51 < bridge> but tbh i am surprised it does so 16:51 < bridge> highly recommend lazyvim, its made for dummies, setting up LSP and TS is a breeze, and its a goated tool with its flawless lazygit integration 16:51 < bridge> bcs if u don't add a new message to the chat, the chat always uses cached data 16:51 < bridge> ye it looks goated 16:52 < bridge> name? i'd assume it uses clientid 16:52 < bridge> so if team change would not generate a new msg, it would not update 16:52 < bridge> @blaiszephyr do u know what key combo is for file search 16:52 < bridge> i always had it in control-p 16:52 < bridge> f 16:52 < bridge> so for default its space f f 16:52 < bridge> whats the default leader xd 16:52 < bridge> space 16:52 < bridge> XD 16:52 < bridge> `int m_TeamNumber;` 16:52 < bridge> it also stores a teamnumber, but dunno how it's updated 16:52 < bridge> omg 16:52 < bridge> @blaiszephyr this is goated 16:52 < bridge> IKR 16:52 < bridge> i love it has notifications xd 16:53 < bridge> HAHA 16:54 < bridge> neovim is so pog 16:54 < bridge> afaict it does never update it 16:54 < bridge> i am on my macos 16:54 < bridge> space f f is for the root dir 16:54 < bridge> 16:54 < bridge> space f F is for current work directory 16:54 < bridge> with vscode i used 12gb 16:54 < bridge> on a big project 16:54 < bridge> space f b searches open buffers (files) 16:54 < bridge> 16:54 < bridge> It really is an amazing tool 16:54 < bridge> 7.8gb now 16:54 < bridge> but some gb is from firefox 16:54 < bridge> I'm tired 16:54 < bridge> now press space e 16:54 < bridge> @yrrr_ is basically done with it, we just have to create the button in the UI @jupeyy_keks 16:55 < bridge> how to try lazygit 16:55 < bridge> oh e hides the tree 16:55 < bridge> but i like having it 17:00 < bridge> lazygit in neovim looks awesome 17:00 < bridge> im sold xd 17:00 < bridge> i was just lazy to configure vim 17:00 < bridge> what?! 17:00 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1238505912797237309/image.png?ex=663f8803&is=663e3683&hm=e2d91469016ea14c7b73061af152d9603ba9e5a9bafc6203d47a1a7706661c1e& 17:00 < bridge> skipped 17:01 < bridge> @blaiszephyr are there builtin colorschemes 17:01 < bridge> space u C 17:02 < bridge> i recommend tokyonight 17:02 < bridge> @ryozuki use codium so i'm not alone here 17:02 < bridge> tokionight night 17:02 < bridge> epic 17:02 < bridge> @jupeyy_keks no 17:02 < bridge> xd 17:02 < bridge> codium - whatafakm 17:02 < bridge> codium - whatafak 17:02 < bridge> also feels like rust analyzer loads way faster 17:02 < bridge> line algo is not supposed to skip xdd 17:02 < bridge> https://media.discordapp.net/attachments/1117664860646408225/1160308622975303922/8017BDCB-95DE-4685-B770-9E16800B436F.gif?ex=6534309d&is=6521bb9d&hm=80621708fdde38e937b6a6e9c4718d44c29674da822f454138561dc2995056cd& 17:02 < bridge> yes - because lazyloading 17:02 < bridge> read into it, its really damn great 17:03 < bridge> its sad we dont have a emacs user here 17:03 < bridge> i've seen people have lazyvim start up within 40ms 17:03 < bridge> emacs can also show stuff 17:03 < bridge> vim learning curve 17:03 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1238506804384632952/image.png?ex=663f88d8&is=663e3758&hm=ef17a2ffaef1c6ae214820787cb2a416557eb40d21e1b2c69dc1d4c9f29a64d8& 17:03 < bridge> emacs 17:03 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1238506827402973265/image.png?ex=663f88dd&is=663e375d&hm=8db689748b14e86e946f8059c99a1f3e9888030ad12cd083b00f6382322d388f& 17:04 < bridge> watafak, how did it manage to do that 17:04 < bridge> in terminal mode? 17:05 < bridge> cant find it right now, i've seen a video of someone beeing able to tweak it to 200ms which was already insanely stupidly fast 17:05 < bridge> good 17:05 < bridge> i want to give RA more ram 17:05 < bridge> as long as it's slower than dd-pg 17:05 < bridge> all ram 17:05 < bridge> i'm fine 17:05 < bridge> use my 64gb 17:05 < bridge> :kek: 17:05 < bridge> but go fast 17:05 < bridge> lmao 17:05 < bridge> TAKE IT 17:06 < bridge> for reference 17:06 < bridge> my startuptime: 17:06 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1238507529605087312/image.png?ex=663f8985&is=663e3805&hm=c6213751448a0dde57748e8c4c877789aade6c51d0077e9a16ed4ef689472198& 17:06 < bridge> startup for what? 17:07 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1238507588094529556/image.png?ex=663f8993&is=663e3813&hm=05fa2c6ea16faa078086f68b8bf2639e3d60c8e7140c4085a38813dc4fdf1084& 17:07 < bridge> lazy.nvim 17:07 < bridge> but is it in a terminal like mode? 17:07 < bridge> ah startup time until uienter... but what is uienter? XD 17:07 < bridge> the startup references UIEnter 17:14 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1238509454476050582/2024-05-10_17-12-22.mp4?ex=663f8b50&is=663e39d0&hm=05d11b4a0c296fd98c82755a63557cc00677e85c246f98d5d2d50b27f89cd2f4& 17:15 < bridge> lazyvim go brrrr 17:15 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1238509745384460380/2024-05-10_17-14-54.mp4?ex=663f8b95&is=663e3a15&hm=702a84e0017a7018f68a81fcfed2e8d4ecddf2bbec7f7d6164fb6d7b73907772& 17:15 < bridge> damn okay 17:15 < bridge> :kek: 17:16 < bridge> around 240ms until the first frame tho 17:17 < bridge> it was under 200. smth got way slower :lol: 17:17 < bridge> thats for alacritty or the terminal 17:17 < bridge> neovim is a tui program 17:17 < bridge> and i'm pretty sure eventloop was like 10ms only 17:18 < bridge> Does anybody of you know how randomized automappers work? I already asked in mapping and checked the turorial without help 😦 17:18 < bridge> yeah 17:18 < bridge> unfair advantage 17:27 < bridge> botclient in project dir??!?!? even if its the worst shit ive ever seen xd 17:28 < bridge> that was literally why i cloned it, i wanted to see it what they're doing :kek: 17:28 < bridge> that was literally why i cloned it, i wanted to see what they're doing :kek: 17:30 < bridge> and my Projects folder is basically everything i ever cloned apart from deps or libs lmao 17:30 < bridge> Chillerdragooooooooooooooooon are you online 17:30 < bridge> i have this :D 17:30 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1238513461437272084/image.png?ex=663f8f0b&is=663e3d8b&hm=27d491ab23e2654647c29986aaf12822d646986455f8cede6f773cf5c39a9389& 17:39 < bridge> any tmux enjoyer here who knows how i can detach a layout and keep it after restart? 17:40 < bridge> say i have this layout: 17:40 < bridge> 17:40 < bridge> i can ofc detach it and reattach with `tmux attach` 17:40 < bridge> 17:40 < bridge> but it gets lost after restart, which is annoying because i have to set it up each time 17:40 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1238516102829441154/image.png?ex=663f9181&is=663e4001&hm=357cd704b55fe8a4df81ab7b1adec1d4cd6413f5cec802fc39df8f9f7a33515e& 17:41 < bridge> didnt find a way to do it properly using the .conf either 17:50 < bridge> https://stackoverflow.com/questions/43362709/is-there-a-simple-way-to-save-tmux-pane-position-and-size 17:50 < bridge> this? 17:50 < bridge> idk google it xd 17:51 < bridge> think of my layout like a session, i loose it everytime i restart my PC, i tried some plugins like: 17:51 < bridge> 17:57 < bridge> i did and as i said, it just doesnt work correctly for some reason 17:57 < bridge> maybe its just me 18:56 < bridge> nice leak :gigachad: 20:35 < bridge> shush :kek: 22:38 < bridge> Help me, why does the error "The server has not responded yet" write what to do? 23:19 < bridge> never noticed? 23:19 < bridge> this is the bug that allows hooking thru corners lol 23:22 < bridge> It's a feature :santatrollet: 23:31 < bridge> no.