07:48 < bridge> tee tidal wave 07:48 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1448929369392418857/image.png?ex=693d0c21&is=693bbaa1&hm=4eeec3f81c49fa7a6ef0f7514074136f7ad4e4e3fae909ddb6a2f3f31f8f0f4f& 08:11 < bridge> https://tenor.com/view/spongebob-squarepants-computer-start-burning-not-working-office-gif-5611019866811860182 09:37 < bridge> :justatest: 09:39 < bridge> https://tenor.com/view/tidal-wave-geometry-dash-top-1-extreme-demon-geometry-dash-jumpscare-gif-14462163257869144652 09:44 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1448958755692875868/image.png?ex=693d277f&is=693bd5ff&hm=7024582aa11bc69570e460c8e5ca087fa35535dd3d67939c1abca507ab79587c& 10:06 < bridge> you should make like a marbel race but with tees 10:15 < bridge> pickup rendering yay 10:15 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1448966556620165140/image.png?ex=693d2ec3&is=693bdd43&hm=4a402c7f58ef59a5309eeafe41b58c3e8b86e0b250e24077dc7c4934129951a5& 10:21 < bridge> you even animated them 😮 10:35 < bridge> @learath2 I'm thinking about making my own DSL for instruction selection instead of using python 😬 10:35 < bridge> ``` 10:35 < bridge> ; ISLE 10:35 < bridge> (rule 1 (lower (sdiv a @ (value_type (fits_in_64 ty)) b)) 10:35 < bridge> (let ((a Gpr a)) 10:35 < bridge> (value_regs_get 10:35 < bridge> (x64_idiv ty a (repeat_sign_bit ty a) (nonzero_sdiv_divisor ty b) (TrapCode.INTEGER_OVERFLOW)) 10:35 < bridge> 0))) 10:35 < bridge> 10:35 < bridge> ; My idea 10:35 < bridge> rule 1 (sdiv a @ (value_type (fits_in_64 ty)) b) { 10:36 < bridge> let Gpr(a) = a; 10:36 < bridge> 10:36 < bridge> value_regs_get( 10:36 < bridge> x64_idiv( 10:36 < bridge> ty, 10:36 < bridge> a, 10:36 < bridge> repeat_sign_bit(ty, a), 10:36 < bridge> nonzero_sdiv_divisor(ty, b), 10:36 < bridge> TrapCode.INTEGER_OVERFLOW, 10:36 < bridge> ), 10:36 < bridge> 0 10:36 < bridge> ) 10:36 < bridge> } 10:36 < bridge> ``` 10:36 < bridge> Do you think 2nd rule is more readable than the first one by any chance? xd 10:36 < bridge> I like cranelift's dsl more than LLVM's but I don't like S-expressions for the part which builds the instructions, imo it looks nicer like regular code 10:36 < bridge> @learath2 I'm thinking about making my own DSL for instruction selection instead of using python 😬 10:37 < bridge> ``` 10:37 < bridge> ; ISLE 10:37 < bridge> (rule 1 (lower (sdiv a @ (value_type (fits_in_64 ty)) b)) 10:37 < bridge> (let ((a Gpr a)) 10:37 < bridge> (value_regs_get 10:37 < bridge> (x64_idiv ty a (repeat_sign_bit ty a) (nonzero_sdiv_divisor ty b) (TrapCode.INTEGER_OVERFLOW)) 10:37 < bridge> 0))) 10:37 < bridge> 10:37 < bridge> ; My idea 10:37 < bridge> rule 1 (sdiv a @ (value_type (fits_in_64 ty)) b) { 10:37 < bridge> let Gpr(a) = a; 10:37 < bridge> 10:37 < bridge> value_regs_get( 10:37 < bridge> x64_idiv( 10:37 < bridge> ty, 10:37 < bridge> a, 10:37 < bridge> repeat_sign_bit(ty, a), 10:37 < bridge> nonzero_sdiv_divisor(ty, b), 10:37 < bridge> TrapCode::INTEGER_OVERFLOW, 10:37 < bridge> ), 10:37 < bridge> 0 10:37 < bridge> ) 10:37 < bridge> } 10:37 < bridge> ``` 10:37 < bridge> Do you think 2nd rule is more readable than the first one by any chance? xd 10:37 < bridge> I like cranelift's dsl more than LLVM's but I don't like S-expressions for the part which builds the instructions, imo it looks nicer like regular code 11:05 < bridge> even better than ddnet, im not using some weird static variable for measuring time. just gametick + intratick 11:09 < bridge> ddnet is not using static variables anymore (with 19.6) 11:10 < bridge> because I complained long enough about that 8 year old bug preventing me from doing cool stuff, like envelope trigger tiles 11:11 < bridge> Oh man you don't know how many times this happened to me too, when I was doing pickup rotation 11:21 < bridge> https://github.com/ddnet/ddnet/blob/master/src/game/client/components/items.cpp 11:21 < bridge> haha lol? 11:23 < bridge> (╯°□°)╯︵ ┻━┻ 11:23 < bridge> at least for envelopes it's now working 11:25 < bridge> why is this a float 11:30 < bridge> why are pickup animations stopped in time when the game is paused 11:31 < bridge> why are we time integrating again when it does nothing 11:32 < bridge> idk ddnet code is cooked 11:32 < bridge> mine is too though 11:32 < bridge> i have a pimple directly on my elbow it's so annoying 11:33 < bridge> I was able to git blame Magnus from 2008 there 😆 11:33 < bridge> go complain to him 11:34 < bridge> is that unintended? 11:34 < bridge> probably intended - but fairly useless 11:34 < bridge> I like it :) 11:34 < bridge> like the hovering animation and ninja particles are stopped 🤷‍♂️ 11:35 < bridge> perfect would be if everything just freezes imo 11:35 < bridge> sometimes it just looks like my whole game froze xd 11:35 < bridge> uncomfortable 11:35 < bridge> thats why there is typically some overlay in a game to tell you its paused, here we just have the broadcast iirc 11:36 < bridge> pausing the game should not freeze everything - at least some indication that it's running should be there 11:36 < bridge> @patiga go do a while(1) on the client when the game is paused then you have a real stop 11:36 < bridge> except sounds ig 11:36 < bridge> oh unsynced animations also not necessarily stopped when pausing the server (: 11:36 < bridge> hm 11:37 < bridge> I don't think the indication should be in the game canvas. Perfect in my eyes would be if you could later cut out the paused portion and you wouldn't be able to tell that it was paused 11:37 < bridge> When I looked at the pickups I thought it’s a gif with animation at first :D I swear I saw them moving for a second 11:38 < bridge> xd 11:38 < bridge> 11:38 < bridge> I still have work to do 💀 11:38 < bridge> This is gettint deeper and deeper. Making a language to make a language 11:39 < bridge> maybe I should make a generalized animation state class 11:40 < bridge> 2nd one is definitely more readable, at least to me. I hate reading parenthesis slop 11:43 < bridge> im so confused, cmake is doing black magic fuckery 11:44 < bridge> yes, but in what aspect do you need help? I can do a bit of dark magic 11:44 < bridge> github.com/ddnet/ddnet/issues/11421 11:44 < bridge> 11:44 < bridge> My idea only concerns the server side, building, and uploading to ghcr.io. 11:44 < bridge> I simply have no ideas on what to do with it. 11:44 < bridge> https://github.com/ddnet/ddnet/issues/11421 11:44 < bridge> 11:44 < bridge> My idea only concerns the server side, building, and uploading to ghcr.io. 11:44 < bridge> I simply have no ideas on what to do with it. 11:44 < bridge> https://github.com/ddnet/ddnet/issues/11421 11:44 < bridge> 11:44 < bridge> My idea only concerns the server side, building, and uploading to ghcr.io. 11:44 < bridge> I simply have no ideas on what to do with it. 11:44 < bridge> https://github.com/ddnet/ddnet/issues/11421 11:44 < bridge> 11:44 < bridge> My idea only concerns the server side, building, and uploading to ghcr.io. 11:44 < bridge> I simply have no ideas on what to do with it. 11:44 < bridge> >i build my project with clang 11:44 < bridge> >i go afk 10min 11:44 < bridge> >i build again, it tries to regenerate cmake and fails because it somehow now uses clang-cl (msvc compatible shit) 11:45 < bridge> it randomly changes the compiler to clang-cl and then it can't find link.exe or whatever. what is going on man 11:47 < bridge> AND somehow cmake refuses to give me debug symbols, even after specifically setting -g as a compile option 11:47 < bridge> EXCEPT when i use sanitizers, then it gives me debug symbols 11:48 < bridge> I already answered there - I understand his concerns 11:49 < bridge> The setup for docker will probably end up a bit more complicated 11:50 < bridge> sounds to me like your configuration step is a bit broken or your CMakeCache 11:51 < bridge> do you have multiple different build directories? 11:51 < bridge> nope 11:52 < bridge> quite strongly 11:52 < bridge> 11:52 < bridge> In my opinion, it would be easier to build ddnet via CICD when a new tag appears, check it there, and then issue a release. 11:52 < bridge> also is your example cicd generated or copied from another project? Because like this it doesn't make sense for ddnet 11:53 < bridge> we can still do this, but depend this step on the build steps and then do this with the artifacts - check the image in yet another integration step - and then deploy 11:56 < bridge> I already said, my proposal was related to building a server, I told the chiller about this back in ddnet-insta, https://github.com/ddnet-insta/ddnet-insta/pull/483#issuecomment-3636377270, but he still said, offer it to ddnet 11:56 < bridge> 11:56 < bridge> This is just an attempt to build a server and automatically deploy it, for the convenience of everyone who hosts ddnet servers.we can still do this, but depend this step on the build steps and then do this with the artifacts - check the image in yet another integration step - and then deploy 11:59 < bridge> ah it's just copied from your ddnet-insta PR, okay that makes more sense now - there the released are tagged differently 11:59 < bridge> @kdaniel you made something similar no? 13:11 < bridge> @robyt3 should we use std::ranges on newer code or stick to the old way? 13:51 < bridge> lol 13:51 < bridge> I found the others players in a fng server are still using 19.5 but I'm playing on DDNet 19.7 13:54 < bridge> To be honest, I think anti-ping is broken for FNG. 13:54 < bridge> watchout this might get you banned on some servers for "cheat client", no joke. 14:10 < bridge> ? What's his goal 14:11 < bridge> up 14:11 < bridge> up 14:11 < bridge> 🆙 14:11 < bridge> It’s a upvote 14:12 < bridge> +1 14:12 < bridge> is my emoji button in the PR hidden or something? Normally people just thumbup 14:13 < bridge> I disabled reactions on your pr 14:13 < bridge> 🍆 14:35 < bridge> @kebscs: when finish remove super pr. I am waiting on https://github.com/ddnet/ddnet/pull/11232#issuecomment-3592349264 15:20 < bridge> When I have some time 15:20 < bridge> https://github.com/ddnet/ddnet/pull/11371 15:20 < bridge> This should be easier to merge 15:37 < bridge> https://thephd.dev/the-cost-of-a-closure-in-c-c2y 15:44 < bridge> https://cdn.discordapp.com/attachments/713526608937615461/1449048321934233610/IMG_4246.jpg?ex=693d7ae9&is=693c2969&hm=20bb99b2f50f8d64cf34be39cecc841590ab7725a2c9d2aa78c4f2f80b8a54b0&&_t=19b13050dfc&_r=5nhm4w https://cdn.discordapp.com/attachments/713526608937615461/1449048322307522795/IMG_4247.jpg?ex=693d7aea&is=693c296a&hm=0d4b977699616e2ea5def6f5fb75cab7db02059697690bcc49e679fb08115cd4&&_t=19b13050dfc&_r=z8uwu6 https://cdn.discordapp 16:44 < bridge> Yeah. 16:44 < bridge> I always see that there're many players who still using legacy DDNet client. 16:44 < bridge> The oldest client user I have met is even using DDNet 9.3.1, (Oops, but I guess that the legacy Android version) 16:44 < bridge> Anyway, I'm one of the moderators in that server, so I won't get banned at all. :3 16:44 < bridge> :nouis: 18:11 < bridge> I don't know if the compiler on the build machine support them 18:29 < bridge> It should, it's a C++ 20 feature :justatest: 18:31 < bridge> https://en.cppreference.com/w/cpp/compiler_support.html#cpp_lib_ranges_201911L 18:31 < bridge> GCC 10 18:36 < bridge> GCC 13 :feelsbadman: 18:42 < bridge> No, ranges need GCC libstdc++ 10, but I don't remember if we are using that already. You read the second column I think. 18:42 < bridge> No, ranges need GCC libstdc++ 10, but I don't remember if we are using that already. You read the next column I think. 18:43 < bridge> hello @everoyne 18:43 < bridge> ouch 19:05 < bridge> wtf its 16.4 in debian packages 20:22 < bridge> This time I won't write lexer and parser myself though, so it should be easier™ 20:22 < bridge> the find_if and a lot of others functions come later 22:26 < bridge> guys and girls, if you do micro commits like this, review is easy and merge can be quick 22:31 < bridge> :p 22:31 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1449151697103486976/image.png?ex=693ddb30&is=693c89b0&hm=1e56e2b0f6e30f2e820b26e0a03abfee440b32008f96f2704bbc3d377e56e7e9& 22:31 < bridge> That will balance out one of the next macro commits :justatest: 22:31 < bridge> `23 files changed, 1527 insertions(+), 1512 deletions(-)` 22:35 < bridge> I always hope that you have more time for reviews for me if I help you :justatest: 23:16 < bridge> OMG you merged the milliseconds PR ❤️:owo: 23:16 < bridge> :deen_star: 23:59 < bridge> 969 23:59 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1449173774510325810/image.png?ex=693defc0&is=693c9e40&hm=21d8f612e1ebbb7c3f83f4e533811593fe9176b52bd8447d7120a9e70ff4de15&