00:01 < bridge> I'm trying out awk this year for advent of code, I gladly take feedback :) 00:01 < bridge> 1: 00:01 < bridge> ||```awk 00:01 < bridge> #! /usr/bin/awk -f 00:01 < bridge> 00:01 < bridge> function diff(a, b) { 00:01 < bridge> if (a > b) { 00:01 < bridge> return a - b 00:01 < bridge> } else { 00:01 < bridge> return b - a 00:01 < bridge> } 00:01 < bridge> } 00:01 < bridge> 00:01 < bridge> BEGIN { 00:01 < bridge> } { 00:01 < bridge> a[FNR] = $1 00:01 < bridge> b[FNR] = $2 00:01 < bridge> } 00:02 < bridge> 00:02 < bridge> END { 00:02 < bridge> asort(a) 00:02 < bridge> asort(b) 00:02 < bridge> for (line in a) 00:02 < bridge> sum += diff(a[line], b[line]) 00:02 < bridge> print sum 00:02 < bridge> } 00:02 < bridge> ```|| 00:02 < bridge> 2: 00:02 < bridge> ||```awk 00:02 < bridge> #! /usr/bin/awk -f 00:02 < bridge> 00:06 < bridge> chillerdragon: can you help me for autofarm for clb2s? 01:06 < ws-client> @liberiumrat autofarm is illegal on all clb servers I know. I contacted the admins and arranged an exception. I don't think there is any teeworlds server except my block servers which allow autofarm bots right now. 01:07 < ws-client> the thing is even if you were to use the bot only on your server or mine or got permission elsewhere I can not distribute tools that are illegal on the majority of servers 01:19 < bridge> chillerdragon: Bro, I can make a deal with kisao, kisao my friend 01:21 < ws-client> @cx5x3ko9zce1d6ew defining t1 and t2 in a loop and then using it outside is just nasty but it looks like you are golfing for less lines so everything is allowed 01:24 < ws-client> @liberiumrat yes but as i said i do not feel comfortable distributing tooling thats illegal on most servers. Sorry, you have to build this one on your own. 01:24 < bridge> chillerdragon: can i get ws-client? 01:24 < ws-client> https://chat.zillyhuhn.com/ 01:24 < ws-client> sign up token is: nimrocks 01:25 < ws-client> code is here https://github.com/orgs/discord-irc/repositories 01:25 < ws-client> or what do you mean by "get"? 01:25 < bridge> chillerdragon: wrong credentials 01:26 < ws-client> you have to make an account 01:27 < ws-client> hello 01:27 < ws-client> hello <:poggers2:1008007455936094328> 01:27 < bridge> hi irc fellows 01:27 < ws-client> lol this is discord 01:27 < ws-client> xd 01:27 < ws-client> chillerdragon is legend 01:28 < ws-client> chillerdragon can i buy you farm? i use for clb2s you can close src 01:29 < ws-client> lets switch to the #off-topic channel discussing bots is illegal here 01:30 < ws-client> click on #off-topic on the left side -.- dont go to discord 01:30 < ws-client> oka 05:59 < bridge> :justatest: 05:59 < bridge> chillerdragon is dealing with blackmarket stuff confirmed 07:03 < bridge> @jupeyy_keks will account token send to gameserver contain auth source? (email / steam) 07:03 < bridge> @jupeyy_keks is account token send to gameserver contain auth source? (email / steam) 07:04 < bridge> @jupeyy_keks does account token send to gameserver contain auth source? (email / steam) 07:04 < bridge> like can gameserver tell whether a player is authed via email or steam? 07:05 < bridge> no, but we could include a boolean or some enum if needed 07:05 < bridge> actually nvm, if we hide steamid to gameservers anyway, there is not valid way to check whether a steam account is in good standing 07:06 < bridge> `"vacbanned":false,"publisherbanned":false` 07:06 < bridge> 07:06 < bridge> this is the info we know about the acc 07:07 < bridge> some steam games also have info about whether it has the 5$ minimum purchase history reached 07:07 < bridge> you know. steam account is free and our game is free 07:07 < bridge> yeah, but it's not included in their web api apparently 07:07 < bridge> ah 07:07 < bridge> make sense 07:08 < bridge> what about account creation time or play time? 07:08 < bridge> these are the only fields besides the steamid 07:09 < bridge> i see. ill dig through webapi a bit more. might be available in other api 07:09 < bridge> We use 07:09 < bridge> https://partner.steamgames.com/doc/webapi/ISteamUserAuth#AuthenticateUserTicket 07:09 < bridge> btw 07:09 < bridge> ok 07:10 < bridge> we are hard blocked the idea of just send steamid to gameserver right? 07:10 < bridge> I dunno, I think it's nice if personal information is not send to third party servers 07:11 < bridge> that's true 07:11 < bridge> just considering if steam account itself is actually personal information. 07:12 < bridge> Let's say it like this, do other steam games do it? 07:12 < bridge> As publishers we also have some kind of responsibility to not just do random things ig 07:12 < bridge> lots of game just grab steam id to check things 07:13 < bridge> but we are talking about third-party servers ofc 07:13 < bridge> and im pretty sure third-party csgo server also has steamid available to them? 07:13 < bridge> I don't think steamid is confidential to any community servers in valve games 07:13 < bridge> you can track name history and behavior i guess but steam itself doesn't disclose email or any personal info other than the ones user made available in profile i think. 07:14 < bridge> but as heinrich said, if we can just not send it then there is no concerns 07:14 < bridge> i do agree but i do kinda want it to be more reliable in terms of moderating. 07:14 < bridge> probably just a balancing act 07:14 < bridge> email is ofc not the same as steamid 07:15 < bridge> agreed 07:15 < bridge> but we're limiting steam accounts to 1 ddnet account anyway right? 07:15 < bridge> so if you ban the steam linked ddnet account it's the same as banning their steamid 07:16 < bridge> ye, but people can just register a new one. same goes with the email thinp 07:16 < bridge> ye, but people can just register a new one. same goes with the email thing 07:16 < bridge> sure but steam is a little harder 07:16 < bridge> ig you want some kind of trust factor, therefore the 5$ thing? 07:16 < bridge> im just thinking if it is possible for a gameserver to limit to good standing steam accounts only 07:16 < bridge> ye 07:17 < bridge> but if it not possible then it's probably no big deal since registering a new account is probably already a much higher barrier than just... not having to do that at all. 07:17 < bridge> but that's a pretty low bar tho lol 07:18 < bridge> I can't find public enpoints that let you do stuff that trust factor does in csgo lol 07:18 < bridge> I can't find public endpoints that let you do stuff that trust factor does in csgo lol 07:19 < bridge> csgo stuff is game specific not related to steam id imagine 07:19 < bridge> yeah but they know if you've attached a mobile authenticator and phone number 07:19 < bridge> we can't do that afaik 07:19 < bridge> and how much money you've spent 07:19 < bridge> oh that would be quite useful if we can check that 07:23 < bridge> You can query the steam level and badges xd 07:23 < bridge> That could give you an estimate 07:24 < bridge> But probs not on a private profile 07:24 < bridge> i think levels are public regardless 07:24 < bridge> Not on the steam website at least 07:24 < bridge> but maybe you can still query them yeah 07:25 < bridge> what? i remember seeing the circle on private profile. 07:25 < bridge> probably just misremembered 08:06 < bridge> you can't do anything as a publisher tho, it's a user endpoint. 08:06 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1313038646084898836/image.png?ex=674eae08&is=674d5c88&hm=b9144f1b12297ddbbcb28a42b2ea847ae055d91f72ae311496dfdbe59f9e3ca6& 08:23 < bridge> Okay so I wrote some *artistic* solutions (honestly I wish I could do better but I'm not yet a certified Haskell wizard) 08:23 < bridge> Now looking at day 2 I'm afraid I'm going to struggle with the complexity of the requirements 08:23 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1313042813021196318/SPOILER_1.hs?ex=674eb1e9&is=674d6069&hm=86101e03209c99ea8d30b1e212c53472b5cf3be87ca0366037604425829e97b4& 08:23 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1313042813461467167/SPOILER_1x.hs?ex=674eb1e9&is=674d6069&hm=a0c8971f1e9f8f9d0414c53277ae71b4fa8a76e7aef2eb1637c949820c4b62ca& 08:26 < bridge> I might even have to break it up onto multiple lines! 08:36 < bridge> what is a monad 08:38 < bridge> 😬 08:39 < bridge> > Monads are used to model computations. Think of a computation as being like a function, which maps an input to an output, but as also doing "something more." The something more is an effect that the function has as a result of being computed. For example, the effect might involve printing to the screen. Monads provide an abstraction of effects, and help to make sure that effects happen in a controlled order. 08:43 < ws-client> I think i rq aoc i just wasted my day on this shitty edge case. In case anyone gets stuck like me try adding this to your test cases ``21 24 21 19 17 14`` 08:50 < bridge> @murpi we might need a bot command /lmgptfy 08:50 < bridge> :kekw: 08:53 < ws-client> duckduckgo AI assistant > chatgpt 09:01 < bridge> what backend are they using 09:01 < bridge> do they have an api too. i might need that 09:02 < bridge> openai access is too hard to get as a chinese person 09:02 < bridge> ok, they have multiple choices, so just wrappers. 09:03 < bridge> i like that it is just free to use without login tho. seems super abusable too, i wonder how long it will stay like that. 09:12 < bridge> chillerdragon: is duckduckgo for profit 09:16 < bridge> lol I went a bit too hard with the functional juice with the 2nd problem for the first day, it takes 100ms to execute because I'm generating the cartesian product of the two input lists 09:16 < bridge> lol I went a bit too hard with the functional juice with the 2nd problem for the first day, it takes 90ms to execute because I'm generating the cartesian product of the two input lists 09:28 < bridge> chillerdragon: btw did you implement the server redirect thing 09:31 < bridge> does that mean we could somehow make a command that automatically finds an empty server, change it's map and direct player there? 09:31 < bridge> does that mean we could somehow make a command that automatically finds an empty server, change its map and direct player there? 09:46 < bridge> i did day 2 p1 in ocaml but im frustrated with how dune works and tooling 09:46 < bridge> my god its just so bad 09:46 < bridge> > ❯ dune build 09:46 < bridge> > File "lib/util.ml", line 15, characters 0-0: 09:46 < bridge> > Error: Syntax error 09:46 < bridge> this is the quality of the error messages 09:46 < bridge> i love rust even more now 09:47 < bridge> the idea behind ocaml seemes so good, but i wont work with this bad ux 09:47 < bridge> xd 09:48 < bridge> These are still artistic in that I never bind any variables but I did split it into multiple lines so they're almost readable *eugh* 🤢 09:48 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1313064153811914752/SPOILER_2.hs?ex=674ec5c9&is=674d7449&hm=1f9ae6d27d1092a0b56c36298637a67dc52f6798b6e001c461024b0285f97878& 09:48 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1313064154311168050/SPOILER_2x.hs?ex=674ec5c9&is=674d7449&hm=5586439766d9f2110bcbfadea6b2bc61e982d65f161ea78718e41358f90329e4& 09:51 < bridge> I'm trying so hard right now 09:51 < bridge> I hope you're proud of me 🧡 10:05 < bridge> I feel bad about abusing `liftM2` for everything, I should find ways to use more varied combinators >:3 10:13 < bridge> :justatest: i'm on a spectating spree i guess 10:35 < bridge> @soulyvevo any examples for skins that we might want to keep in database but other players might not want to see them? 10:35 < bridge> i'm curious 10:35 < bridge> defatulYoda 10:36 < bridge> :justatest: i see 10:37 < bridge> though for me it's the reverse 10:37 < bridge> maybe I'll override my default skin with defatulYoda 10:37 < bridge> It's so beautiful 🤩 10:37 < bridge> Any of the ghost skins, since they lack feet, and knowing if your partner has double jump is very important 10:37 < bridge> honestly. i think people who see these as beneficial would just seek them out anyway, it's not like we have a in-game skin browser. 10:37 < bridge> they are already seeking them out. maybe we could just do it on the web part and opens a non public section 10:38 < bridge> or group 10:38 < bridge> I want a button to just download the entire skin database hehe 10:38 < bridge> they are already seeking them out by checking out the skin database. maybe we could just do it on the web part and opens a non public section 10:39 < bridge> every time there's a batch of new skins I need to manually download them 10:39 < bridge> every time there's a batch of new skins I need to manually download them and that's a bit annoying 10:39 < bridge> non public section - where we still host them on website, but you can't automatically fetch it in game 10:40 < bridge> i'm wondering if we have dynamic asset managment now. like loading and unloading based on usage 10:40 < bridge> my guess is that skin menu is loading every asset all at once so too many skins will just break either vram or just ram? 10:41 < bridge> i see player who can't open game due to having too many skins downloaded 10:41 < bridge> i remember seeing player who can't open game due to having too many skins downloaded 10:42 < bridge> I had this happen to me once when I had a different game (Yuanshen) running at the same time hogging all my VRAM 10:44 < bridge> :pepeW: shouldn't it be called genshin impact 10:45 < bridge> so basically it's a lack of resource management thing. if we have that, we can just show every skin in database probably. 10:53 < bridge> Yeah but I think it's funny to call it by the chinese name 10:54 < bridge> another nickname I use for it is "chinese game" 10:55 < bridge> it's kind of an euphemism tbh :justatest: 10:55 < bridge> it's kind of a euphemism tbh :justatest: 11:02 < bridge> @soulyvevo Instead of removing skins, just move them to community db, if you dislike a skin for whatever reason. 11:02 < bridge> 11:02 < bridge> Or what is the motivation to remove skins (other than if it is requested by the author)? 11:04 < bridge> How did you even evaluate the usage of a skin? 11:04 < bridge> 11:05 < bridge> Does furo have stats for that? 😄 11:06 < bridge> Furo has.. everything (and his site tracks the used skin of someone so it's fairly easy to grep for from his db) 11:07 < bridge> I should log into it again at some point... 11:39 < bridge> monoid in the category of endofunctors 11:41 < bridge> I learned some abstract nonsense but once I stopped trying to learn more it kinda fell out of my head 11:42 < bridge> I'm sure I'll grok it if I put more thinking time into it 11:44 < bridge> I *think* my realization earlier today about `fmap` and `liftM` being the same thing is approximately correct 11:50 < bridge> See Lea, it's not even purely about being compatible to mods. 11:50 < bridge> 11:50 < bridge> If we don't talk about gameplay for a moment, just about ddnet services, skin database, community list etc. 11:50 < bridge> 11:50 < bridge> Even then ddnet's way is just insane. We are not allowed to write imperfect non-future proof code anymore. 11:51 < bridge> 11:51 < bridge> If I want to introduce skin categories or generally want better search systems (https://discord.com/channels/252358080522747904/1287503756048465981), and make normal & community a category instead of what we have now, as well as allowing sub categories, which would also remove the "skin-prefix" and instead make santa skins a category (for example). 11:51 < bridge> 11:51 < bridge> Then I have to make sure it's compatible to ddnet 9-current. I have to make sure the old system also still gets skin updates, bcs maybe -1 players are still playing on a client that already had downloaded skins support. I have to make sure it's directly implemented bug-free. 11:51 < bridge> 11:51 < bridge> That is one of the reasons I did what I did, I just find it so annoying to always have the excuse, but player xy also wants to enjoy ddnet. Oh nooo, player xy, poor guy. 11:51 < bridge> 11:51 < bridge> I prefer to make stuff where 95% of all players benefit from it, most ppl that simply use the steam version wouldn't even notice a skin database upgrade as in my example. 11:51 < bridge> 11:51 < bridge> Additionally we tend to bloat with new features, bcs we do it in such a bad way, that we support old and new versions over years. 11:51 < bridge> 11:51 < bridge> It's simply a paradigm change. If you don't like it, don't support it. I am ok to fail, at least I tried. Not like I am ignored since years anyway.. Mister dictator ddnet admin decides what he likes most anyway, and all follow without self reflection or reasoning. It just bores me. Maybe I am alone with that, fine. But if all devs are bored by the project it will die as well. 11:51 < bridge> holy 11:54 < bridge> yeah they're the same 11:57 < bridge> I'm out of the loop, why is deprecating features not allowed around here? 11:58 < bridge> Don't ask me, ask the ppl I don't want to mention by name 11:59 < bridge> Apparently staying 10 years comaptible to all ddnet related projects that ever existed is good 12:00 < bridge> Nice! I'd like some pointers in general since you seem to know your stuff... Maybe you could take a look at my horrendous incantations and tell me if I'm doing anything obviously stupid at some point? 🥺 12:01 < bridge> A bit hard if I don't know their names lol 12:01 < bridge> but I get it :pepeW: 12:12 < bridge> Every person is allowed to have their own opinion. Except me apparently 12:14 < bridge> Not like I can tell you what to do. Feel free to break whatever you want. I can just hope you don't end up accidentally killing the whole thing trying to remove ddnet 9 compatibility 12:21 < bridge> Is there any notable reason for holding onto that compatibility? Some reason people would be unable to easily upgrade to the latest versions? 12:22 < bridge> Yes, you are only here to have no opinion, true 12:22 < bridge> Else I'd not write to you 12:24 < bridge> There isn't 12:25 < bridge> :frozen: 12:26 < bridge> And even if they're for some reason stuck on those older versions it's not like they couldn't keep playing as long as basic Teeworlds compat is there... 12:27 < bridge> That is a good point too yes 12:27 < bridge> Most people stuck on old versions are just using cheat clients the couldnt get an update for - change my mind 12:28 < bridge> Most people stuck on old versions are just using cheat clients they couldnt get an update for - change my mind 12:29 < bridge> I'm a bit past my haskell days too but this lgtm 12:29 < bridge> There are some small things you could do differently/golf further but I wouldn't say they're wrong 12:29 < bridge> 12:29 < bridge> Like, in day 2 you could try to combine `rising` and `decreasing` into one function with, uhh 12:29 < bridge> ```haskell 12:29 < bridge> monotonic = any . (traverse (rising .) $ map map [id, negate]) 12:29 < bridge> ``` 12:29 < bridge> (written on my phone so might have errors but you probably get the idea. `traverse` and `sequence` can be really cool. Also lenses (e.g. `under`) but I haven't fully learned those yet either.) 12:29 < bridge> 12:29 < bridge> Similarly `liftM2 (&&) monotonic smooth` could be turned into `all . (sequence [monotonic, smooth])` 12:29 < bridge> The advantage being that you can very quickly add new conditions or have a dynamic number of them. 12:29 < bridge> bleh the reply got lost 12:29 < bridge> a 12:33 < bridge> or are called @.freezy_ ... 12:35 < bridge> thamks, `map map` is exactly the kind of fun thing that I wouldn't think of since I'm still too imperative-brained 12:36 < bridge> 12:36 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1313106393187880961/image.png?ex=674eed20&is=674d9ba0&hm=a6eacfe6697bbfa9a885854b244e4cc08ae69cacc08901db99b473b523eff2e3& 12:41 < bridge> :kek: 12:50 < bridge> <♂S1mple♂> was tele menu fixed in last update? 12:50 < bridge> <♂S1mple♂> i'm not really familiar with github and can't tell 12:51 < bridge> and wow, `traverse` and `sequence` are not trivial at all to my tired brain 12:51 < bridge> sequence is pretty simple, it's just `[m a] -> m [a]` 12:52 < bridge> so with the reader monad it'd be `[a -> b] -> a -> [b]` 12:52 < bridge> and traverse is just sequence but with a map first 12:52 < bridge> > Remove self from spectator menu unless in demo 12:52 < bridge> 12:52 < bridge> Lol wasn't this intentionally added at some point? 12:52 < bridge> in early clients u couldnt do that either 12:53 < bridge> `traverse f l = sequence (map f l)` 12:53 < bridge> Being able to sit while still having your camera follow your tee is nice imo 12:54 < bridge> thanks for this 13:00 < bridge> Can't find a general `m1 m2 a -> m2 m1 a`, is this something that just doesn't work or is it something rarely needed? 13:04 < bridge> Can't find a general `m1 (m2 a) -> m2 (m1 a)`, is this something that just doesn't work or is it something rarely needed? 13:04 < bridge> I've yet to gain an intuition for what is generalizable and what is not 13:05 < bridge> So my rule of thumb so far has been that if I can think of it it's probably generalizable 13:05 < bridge> I don't think that works in general (e.g. then you'd also have a `(a -> [b]) -> [a -> b]` and it's not clear how that should be defined). The list in `sequence` generalized to something traversable (since you need to join all the `m a` in some order), not any monad 13:05 < bridge> but that does mean that you can `sequence` along, say, a tree, and not just a list 13:06 < bridge> I don't think that works in general (e.g. then you'd also have a `(a -> [b]) -> [a -> b]` and it's not clear how that should be defined). The list in `sequence` generalizeds to something traversable (since you need to join all the `m a` in some order), not any monad 13:06 < bridge> I don't think that works in general (e.g. then you'd also have a `(a -> [b]) -> [a -> b]` and it's not clear how that should be defined). The list in `sequence` generalizes to something traversable (since you need to join all the `m a` in some order), not any monad 13:06 < bridge> Yeah I guess a lot of things are traversable 13:08 < bridge> Or you could say that Nothing is traversable 😉 13:13 < bridge> I think it was mostly there for when u used /spec 13:13 < bridge> 13:13 < bridge> To know where you are 13:13 < bridge> Bcs unspeccing can kill a team 😄 13:14 < bridge> spec as a game mechanic is just wild to me 13:15 < bridge> in gores u often need it, bcs the platforms are too small 13:17 < bridge> Any notable reason to break it? Our extension mechanisms are all backwards compatible by default. New netmsgs, new netobjs are all possible without breaking anything 13:17 < bridge> yeah, after playing a bit more gores recently I've seriously considered actually binding spec 13:17 < bridge> I really should just rebind since there's no downside 13:18 < bridge> I'm really involved with DDNet development (yet?) but it seems to be causing Jupstar distress so I assume there are some reasons 13:18 < bridge> I'm not really involved with DDNet development (yet?) but it seems to be causing Jupstar distress so I assume there are some reasons 13:18 < bridge> This is false from what I can see. The popular degenerate clients are all up to date 13:21 < bridge> I'm not sure if we are allowed to introduce new player flag 13:21 < bridge> but to fix any target pos related issue like #8810 i couldn't think of another way 13:21 < bridge> https://github.com/ddnet/ddnet/issues/8810 13:21 < bridge> bro mods are using this 13:21 < bridge> last time this was suggested it was brought up that it can't be fixed 13:22 < bridge> thought so 13:22 < bridge> wrong reply? 13:22 < bridge> ? 13:22 < bridge> ah nvm 13:22 < bridge> it's just the rendering 13:22 < bridge> oh i thought you are talking about playerflag 13:22 < bridge> ignore me 13:23 < bridge> new playerflag tho 13:23 < bridge> kinda crazy 13:24 < bridge> i don't expect that to merge tbh, too many things could break 13:24 < bridge> well by things, i mean mods probably 13:24 < bridge> shouldn't the server use the client verison to detect the feature, not by sending it to the server for one tick 13:25 < bridge> > I can change the compatibility detection to a version based one if desired, but I feel this way is more concrete. 13:25 < bridge> It's not easy to use. 13:25 < bridge> It's hard to test old clients. 13:25 < bridge> It's bloat. 13:25 < bridge> 13:25 < bridge> 13:25 < bridge> The better question is, why should old clients matter? 13:25 < bridge> I would say there's no reason to not use the version check 13:25 < bridge> it's the proper method 13:25 < bridge> if robyt3 told me to i'll do it 13:25 < bridge> ok 13:25 < bridge> There is some burden to making features work with old clients sometimes, but if it doesn't work we do just version gate stuff sometimes. It's not like we just don't allow anything that doesn't work on every single version. We just don't want people breaking stuff that already works for the lulz 13:26 < bridge> we removed self spectating? 13:26 < bridge> i could also just not send that first tick and it wouldn't really break anything other than it would still flash the first time you spec 13:26 < bridge> isn't that a regular feature? 13:26 < bridge> just use `spectate ` 13:26 < bridge> As I remember it wasn't removed, just not in the menu anymore 13:26 < bridge> :/ 13:26 < bridge> it's useful tho 13:26 < bridge> yeah this is a bit annoying 13:27 < bridge> you don't get prediction when spectating yourself everyone is smooth 13:27 < bridge> i see 13:28 < bridge> I use it all the time when I'm the one being dragged through a freeze part and I don't need to do anything 13:28 < bridge> Well you *can* `bind x toggle cl_predict 0 1` or whatever I don't rember if that's exactly right 13:28 < bridge> I just use it to sit :P 13:28 < bridge> I don't want another bind .-. 13:29 < bridge> i'll add a config maybe 13:29 < bridge> what's the downside to letting you spectate yourself in the menu 13:29 < bridge> it just makes sense to me 13:29 < bridge> it comes from player keep asking me why they cant move camera when pausing 13:29 < bridge> your own tee is not special 13:30 < bridge> hmm 13:30 < bridge> For all 3 you could have just broken all old clients, didn't have to break all teeworlds compatibility along with it 13:30 < bridge> maybe i'll do a visual effect instead 13:31 < bridge> Yeah but, you downplay what my ultimate goal is in this case. 13:31 < bridge> 13:31 < bridge> I want server provided client side physics prediction. 13:31 < bridge> But yes, there is lot of headroom to improve the current version too 13:32 < bridge> Hmm? Is this about using the same code for prediction as for the server, like any reasonable person would want it to work? 13:32 < bridge> I want a united community so this game can live for another decade 13:32 < bridge> I think the main reason to allow old clients is to support platforms that do not get builds anymore 13:32 < bridge> yes, and the server can also provide WASM modules to customize it even further 13:33 < bridge> Yeah but which platform should that be, win xp? 13:33 < bridge> Ooh wacky mods server side? Sounds potentially great, potentially horrid 13:33 < bridge> then i'd say that is a user problem, not our 13:33 < bridge> win 7 also? 13:33 < bridge> all win7 users can upgrade to win10 13:33 < bridge> "to play the game you must first uninstall your os" 13:33 < bridge> i looked into it, wouldnt call it `wacky mods` at all! 13:34 < bridge> yeah sry, but win7 is dead even by microsoft 13:34 < bridge> we don't have to support smth that is officially dead 13:34 < bridge> win7 SHOULD upgrade, same with win 8.1 - why are we properly providing an application for an unsafe os :o 13:34 < bridge> You mean to tell me people *wouldn't* make wacky mods with it? I'd be disappointed if they don't 13:34 < bridge> at some point this is religious 13:34 < bridge> so we will drop win10 support in october 2025? 13:34 < bridge> i'll be coding the old zombies mod in it :greenthing: 13:35 < bridge> ok here's where we disagree 13:35 < bridge> I want my Windows 98 compatibility 13:35 < bridge> If it's end of life, we do yes. But I assume that is just end of standard support? 13:35 < bridge> ill do a revert pr tomorrow 13:35 < bridge> the issue you brought up is valid 13:36 < bridge> spectating yourself is confusing 13:36 < bridge> I don't have a good solution 13:36 < bridge> I don't have a good solution rn 13:36 < bridge> i can add hint when you spectating yourself. but that might be more obnoxious than a bind 13:36 < bridge> idk 13:36 < bridge> where even is the pr that added self spectate 13:36 < bridge> cant find it xd 13:37 < bridge> no such thing. its a by product of pause 13:37 < bridge> i really thought it's been there since spectator menu launched 13:37 < bridge> you never spectate and have a tee in teeworlds 13:38 < bridge> ah then we just never excluded it within /pause 13:38 < bridge> i see 13:38 < bridge> I get not providing builds for old systems, but have there been changes to the game that make it impossible to build for those systems? 13:38 < bridge> this bug is also a by product of pause 13:38 < bridge> I think we dropped very old OGL versions? 13:38 < bridge> dependencie updates, other than that the game runs on my toaster 13:39 < bridge> and even then i'm fairly sure you could hack your way to still building it 13:39 < bridge> there is still a video in here somewhere of furo getting latest master running on windows XP :kekw: 13:41 < bridge> ah true, back then /pause were not actual spectator 13:41 < bridge> well it was kinda weird state 13:42 < bridge> no 13:42 < bridge> ok 13:42 < bridge> I'm just thinking, I'm sure there are insane people glad to try building the game for the Wii or whatever, so as long as it *runs* we good imo 13:42 < bridge> there is a person having ddnet run on his nintendo DS 13:42 < bridge> if it can still build on windows xp then actually I support dropping old versions 13:44 < bridge> if it can still build for windows xp then actually I support dropping old versions 13:45 < bridge> We don't need proper automated builds, as long as you can download that 9 months old version that some nerd built for sport 13:45 < bridge> if you wanna play on WinXP you deserve to go through that 13:46 < bridge> I mean if we had once a year builds for win xp that would be enough to drop clients >2y/o 13:47 < bridge> Lol what u talking about with winxp xD 13:47 < bridge> using internet on winxp is suicidal 13:47 < bridge> that's true tbh 13:48 < bridge> but I like that the game can be played on the platforms that it released on 13:48 < bridge> that's my only reason 13:48 < bridge> ok guys dont rant to hard i want to read it later but i need to go shopping :owo: 13:49 < bridge> you can still play old arcade that is using windows 2000 if you run a private server 13:49 < bridge> ddnet was released 2013, so win7 min xd 13:49 < bridge> 13:49 < bridge> but srsly, it's also a matter of support from all libs. 13:49 < bridge> 13:49 < bridge> E.g. rust doesn't support win7 or older anymore 13:49 < bridge> Only accept outgoing connections with destination port 8303 :) 13:50 < bridge> dropping support is probably quite normal 13:50 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1313125261440581632/image.png?ex=674efeb3&is=674dad33&hm=eae22dbfcb256a62dbabab2c93c97b1d3af84bb4919607416501f586170374cc& 13:51 < bridge> got em 13:51 < bridge> See this is why I'm not a crustacean! They go against my aesthetic principles! 13:51 < bridge> this is not serious JSYK 13:52 < bridge> :troll: 13:53 < bridge> wtf, windows xp got security updates until 2019 for some versions 13:53 < bridge> about the bicycle game, if i couldn't figure out the artstyle. i might just make it kirby star ride but tees 13:53 < bridge> 13:53 < bridge> Also how does a programming language stop supporting an OS? The compiler produces CPU instructions, for a CPU, not an OS! 13:53 < bridge> 13:53 < bridge> (yes I know this is a very C mindset) 13:53 < bridge> BASED BASED BASED 13:53 < bridge> This is probably more of a reason than anything. You think we are just insane ideological zealots 🙃 13:54 < bridge> here's more consoles 13:54 < bridge> 13:54 < bridge> 13:54 < bridge> 13:54 < bridge> 13:55 < bridge> bruh 13:55 < bridge> does the 3ds one work online 13:55 < bridge> yes 13:55 < bridge> :O 13:55 < bridge> I should try it 13:55 < bridge> porting is based but imagine maintaining all these 13:55 < bridge> :kek: 13:56 < bridge> they're already on ddnet 9 13:56 < bridge> so 13:56 < bridge> I assume thats not happening 13:57 < bridge> this is like the ultimate portfolio for a porting specialist tho 13:57 < bridge> maybe if they're hiring for porting to dead consoles 13:57 < bridge> shots fired 13:58 < bridge> i would trust the general skill could carry through new consoles 13:58 < bridge> i was suprised when a friend told me he had harry potter 6 for ps2 13:58 < bridge> true I guess 13:58 < bridge> I think you can just use regular libraries for modern consoles tho 13:58 < bridge> that is also true 13:59 < bridge> but console might have werid filesystem and weird permissions 13:59 < bridge> we ran into that when porting a unity game using a third party lua bridge to PS5 14:00 < bridge> nothing can be as annoying as porting to android 14:01 < bridge> but i gotta admit i like to download an appimage and just start it. no deps, no assets 14:01 < bridge> 14:01 < bridge> all in one binary 14:06 < bridge> things like this https://ddnet.org/skins/skin/community/defatulYoda.png or this https://ddnet.org/skins/skin/community/Cammostripes%20Small.png which not gonna lie i was really thinking of removing all those "small" skins 14:06 < bridge> i think its really bad for gameplay and i see those being mostly used at mods like block 14:08 < bridge> ddg uses chatgpt 14:08 < bridge> i just think it sets bad examples and its sometimes hard to explain to people why their slight skin edit didnt get in while things like those are in the database 14:08 < bridge> idk they do have ads 14:08 < bridge> but im open to discussion 14:09 < bridge> I did add the redirect message. But I still am waiting for the extension proposal to redirect to other iOS 14:09 < bridge> iOS 14:09 < bridge> iOS 14:09 < bridge> iOS 14:09 < bridge> iOS 14:09 < bridge> Fuck you iphoe 14:09 < bridge> IPS\* not iOS 14:09 < bridge> lmao 14:09 < bridge> @jupeyy_keks my evaluation of skin usage was based on this 14:09 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1313129965549785158/skin-stats_total-time-played.txt?ex=674f0314&is=674db194&hm=9c7f1a17ca8d2d94ff0c1240919f03055450049dd2181b2adbc33a3ca4040e5c& 14:09 < bridge> and yes its from furo lmao 14:09 < bridge> Just say it's historical :) 14:09 < bridge> Just like the ancient maps... :justatest: 14:10 < bridge> the issue is that those flower skins were pretty fresh lol 14:10 < bridge> There is an issue for that https://github.com/ddnet/ddnet/issues/6754 14:10 < bridge> @jupeyy_keks theres also this if you are interested 14:10 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1313130216255651881/unique-names-skin-usage-10000.txt?ex=674f0350&is=674db1d0&hm=84f9b1b0efa9376bdddf06d188d65799860b9d085c7db239f488644ea7d1d2c3& 14:14 < bridge> i wonder how many skins from the db are not used at all xD 14:14 < bridge> did u check? xd 14:14 < bridge> ofc there is oof 14:14 < bridge> they wouldn't be in this list at all 14:15 < bridge> there are some really weird skin names 14:15 < bridge> like really weird stuff 14:15 < bridge> to the point where i wonder how did that happen 14:15 < bridge> he just uses the skin name 14:15 < bridge> u can set any name as skin name 14:15 < bridge> in the client 14:16 < bridge> ye, just move them to a separate webpage for download and not serve them automatically via url 14:16 < bridge> but why do we even care rn? 14:17 < bridge> as long as they are in community 14:17 < bridge> what sane person puts `cockaballsamec` as their skin name 😭 14:17 < bridge> and plays 6 hours with it 14:17 < bridge> either way definitely should not be a client thing 14:18 < bridge> should we change rules on what gets in normal database then? 14:18 < bridge> cuz it might be a decent solution 14:18 < bridge> i am ok if we remove skins like ghosts 14:18 < bridge> and move them to community 14:19 < bridge> so people could see some more popular edits of skins like https://ddnet.org/skins/skin/community/ahl_chinesefox.png without having to look at other stuff 14:19 < bridge> having no feet is defs not very tw friendly 14:19 < bridge> ghosts are in normal db? 14:19 < bridge> im changing that rn lol 14:19 < bridge> one 14:19 < bridge> ahh the og one 14:19 < bridge> We'd also need to think if `bomb` needs eyes: 14:19 < bridge> https://ddnet.org/skins/skin/bomb.png 14:20 < bridge> It's certainly used in some mods so we can't just remove it 14:20 < bridge> but having no eyes is also kinda not normal xd 14:20 < bridge> @bencie. bomb with eyes yes or no? :kek: 14:20 < bridge> bomb 2 has eyes: 14:20 < bridge> https://ddnet.org/skins/skin/Bomb%202.png 14:20 < bridge> i think it is fine, not that my opinions matter 14:20 < bridge> i wonder what happened to the old bomb skin 14:20 < bridge> I'd say client filter is neat since ppl have different preferences 14:21 < bridge> id prefer regular white eyes tho 14:21 < bridge> i still have this one in my skins directory 14:21 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1313132844947607662/bomb.png?ex=674f05c3&is=674db443&hm=7a8030cf4a60c5a0c99325191b2c1f9872392bc5591f1de60bd673e16e5f59f0& 14:21 < bridge> who is the author? 14:21 < bridge> yeah but we add so many skins 14:21 < bridge> we already divide by normal and community 14:21 < bridge> if we want to break the skin system, then we should redesign it 14:22 < bridge> and not add more features 14:22 < bridge> +1 14:22 < bridge> I'd say normal is too small 14:22 < bridge> Client filter is just adblock 14:22 < bridge> xd 14:22 < bridge> never tried with eyes but ill check if it looks good lol 14:22 < bridge> I don't see what's the matter 14:22 < bridge> u can probably prevent the http request 14:22 < bridge> with a third party tool 14:22 < bridge> okay i moved `bomb` `bomb_exploded` and `ghost` to community db 14:23 < bridge> https://ddnet.org/skins/skin/Hidden%20Assassin.png i guess this one should go to community too 14:24 < bridge> well if it's a client feature we need need some kind of db for it to store the deny list. 14:24 < bridge> Then, no front, I bet the feature is only used by like 10 ppl, the others don't even know about the existence xd 14:24 < bridge> did we remove blocking x_ prefix on server or was it never a thing, just how teeworlds worked 14:24 < bridge> If we want to block skins it must follow some intuitive logic 14:25 < bridge> oh probably a client thing 14:25 < bridge> the client ships them anyway, so we'd need to remove them there 14:25 < bridge> is the question if e.g. bomb should be community anyway 14:25 < bridge> as said, bomb mod uses that skin 14:25 < bridge> i don't think the ddnet admins like that 😄 14:25 < bridge> we can replace the bomb skin by some different one 14:26 < bridge> is the question if e.g. bomb should be really* community anyway 14:26 < bridge> bomb 2 is kinda cursed 14:26 < bridge> sure 14:26 < bridge> i can see x_bomb indicating it is non-tw but for popular gamemodes. and no user can use it 14:26 < bridge> When it comes to prefixes I think it'd be nice if a ton of skins had prefixed versions so that the prefix field would actually do something noticeable... 14:26 < bridge> not a proposal tho 14:26 < bridge> yeah, as long as the client doesn't reject it 14:26 < bridge> honestly that would be really reasonable 14:26 < bridge> i think the server needs to send some flag 14:27 < bridge> Is this not a thing because people don't submit variants or is it because they don't get accepted? Something to do with licensing? 14:27 < bridge> but for non regular skins like the big ones and no feet ones should be community that i agree 14:28 < bridge> prefixes feel like a kind of dead feature to me 14:28 < bridge> besides the santa_ one 14:28 < bridge> we should just remove prefixes 14:28 < bridge> f3 14:28 < bridge> I wish it was alive 🥺 14:28 < bridge> i would rather just have a modular skin system 14:29 < bridge> than prefixes 14:29 < bridge> just let player decide what to use. and if we do festive or april fools just use a known list 14:29 < bridge> why would we need a bunch of new skins just to add glasses or santa hat to a tee 14:29 < bridge> Just like how current friends work maybe, with a good UI it should be fine 14:30 < bridge> can you tell me which skins you want to block? 14:30 < bridge> tagged skins would be just as good, as long as it's not hard to get every subset of tags accepted :P 14:30 < bridge> Like that ass skin and some Longhair skins 14:30 < bridge> And various random ugly ones 14:31 < bridge> inappropriate skins should just be removed. (ass mentioned) 14:31 < bridge> yeah dunno why it was added in first place 14:31 < bridge> LEAVE GROSBOULE ALONE 14:31 < bridge> funny 14:31 < bridge> But I'd say someone must like that 14:32 < bridge> oh lol it also doesnt have eyes 14:32 < bridge> ugly ones very easily falls into non tw skins and should be in community. and we should warn people when turning on community 14:32 < bridge> ah it even in normal lol 14:32 < bridge> yeah must 100% be community skin xD 14:32 < bridge> And I don't really care if others can use it, so I'd prefer to just block it on my side 14:33 < bridge> i can see a file. but no UI 14:33 < bridge> Do you know that tuzi is actually a community skin 14:33 < bridge> not before we can display skin database in the first place 14:33 < bridge> also you can just block http requests 14:33 < bridge> another problem is, should the blocking really happen by file name? 14:33 < bridge> 14:33 < bridge> or better by a sha256 hash. since filenames are not unique 14:33 < bridge> 14:33 < bridge> if we ever have server side provided skins, then it could even do harm 14:33 < bridge> e.g. if the mod depends on it 14:34 < bridge> I think strcmp is easier than proxies 14:34 < bridge> tuzi should be community skin 14:34 < bridge> https://github.com/ddnet/ddnet/blob/master/data/skins/bomb.png found it 14:34 < bridge> But santa_tuzi is notmal 14:34 < bridge> its by Ravie and for some reason its not in the database 14:34 < bridge> Normal* 14:34 < bridge> then someone should move it 14:34 < bridge> didnt u just move it to community 14:34 < bridge> lol 14:35 < bridge> sounds like a bug too 14:35 < bridge> compare the skins 14:35 < bridge> https://ddnet.org/skins/skin/bomb.png 14:35 < bridge> this is the one in database 14:35 < bridge> the license is wrong too 14:35 < bridge> under the same name 14:35 < bridge> its so weird 14:35 < bridge> for santa_tuzi & tuzi cat 14:35 < bridge> oh lol 14:35 < bridge> different color 14:35 < bridge> weird 14:35 < bridge> id love to know more about skins after im done with all the spec things 14:36 < bridge> Yeah but while I love tuzi I hate to see the ass skin at the same time 14:37 < bridge> i mean u can always rename a default skin to the ass skin's name 14:37 < bridge> it's just a bit more annoying to do 14:37 < bridge> no idea how that happened 14:37 < bridge> Yeah so that's where a filter works 14:37 < bridge> Nice bot online 14:37 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1313137012059930654/rn_image_picker_lib_temp_32fc9d25-21ca-482a-a421-849ed3578209.jpg?ex=674f09a4&is=674db824&hm=1c93eb91e65add1afe5efc153efb8147b50edd005f14ffe49d1b920115aef845& 14:38 < bridge> lets just say. im willing to implement a filter. but i need to hear about skin vetting process and make sure database is doing it's thing properly first. 14:39 < bridge> Fr 14:39 < bridge> what do you mean by database doing its thing properly 14:39 < bridge> in my eye. if any skin makes some people uncomfortable it should be removed. non-tw ones should be community. 14:39 < bridge> but then don't add it to the config, and use the file hash not the skin name 14:39 < bridge> we can come up with better rules and vetting 14:40 < bridge> that comes later 14:40 < bridge> I don't think file hash is necessary 14:40 < bridge> i think it is 14:40 < bridge> well thats also how i see it 14:40 < bridge> also idk why i dragged myself into this tho 14:41 < bridge> i think it's more about blocking a url. 14:41 < bridge> File name is easier for manual edit imo, for at first I don't expect a good ui 14:41 < bridge> but also not just name tho 14:41 < bridge> oh lol 14:41 < bridge> u want to block the http request? 14:42 < bridge> i want to make sure if someone blocks a skin by clicking a button , it blocks where the skin comes from. local, url, custom url. 14:42 < bridge> hash not nessasary in that case i think 14:42 < bridge> but still 14:43 < bridge> not until we figure out a rule for skins 14:43 < bridge> which seems pretty easy but obviously not trivial ie practice 14:43 < bridge> then we should make a more practical rule 14:44 < bridge> the point is about server provided skins, or generally mod support 14:44 < bridge> How does swarfey work? 14:44 < bridge> ill design it in one go and vet everything 14:45 < bridge> if it changes somehow bcs i designed a shitty system, i'll send you my nude as an apology 14:45 < bridge> ez 14:47 < bridge> doesnt count if i didnt pr anything tho 14:47 < bridge> :kek: 14:51 < bridge> It's defs weird that we have to block ddnet provided content already 14:51 < bridge> lmao 14:51 < bridge> hard times 14:51 < bridge> oh damn, deen merged the playerflag 14:51 < bridge> lets just pretend it is to protect skins.tw users 14:52 < bridge> hence the url thing 14:52 < bridge> does that break anti bot? xd 14:52 < bridge> thats what ive been thinkg 14:52 < bridge> i need to go outside i thought id tag heinrich and murpi after im home 14:52 < bridge> 😬 14:53 < bridge> also mods 14:53 < bridge> at least antibot can be fixed on our end 14:56 < furo> Yep, I just got banned on noby fng for `nonstandard client (flags=33)` ;DDD 14:57 < bridge> lol 14:57 < bridge> left click doesn't spectate closest player anymore 14:57 < bridge> in 18.8 rc1 14:58 < bridge> shoot. did i messed this up too 14:58 < bridge> ill check asap 14:58 < bridge> oh btw 14:59 < bridge> in demo you need to get out of follow mode to do that now. i can improve the handling but it's a bit more complicated 14:59 < bridge> not in demo now 14:59 < bridge> then it is a bug 14:59 < bridge> ill check 15:02 < bridge> does everyone else get stressful for PRs or is it just me lol 15:11 < bridge> i only get stressed when i get a mention on a PR i didnt do :kekw: 15:11 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1313145479298809938/image.png?ex=674f1187&is=674dc007&hm=24fb293ec4bb3678d479b48d0779564e4de9311f64f2e87867d6b510df551e79& 15:21 < bridge> I get stressed when I look on my system clock 15:22 < bridge> december already T_T 15:37 < ws-client> lol 15:43 < bridge> 😬 https://github.com/ddnet/ddnet/pull/9319/files 15:43 < bridge> I should stop juggling branches to work on multiple things at once 15:44 < bridge> a.k.a i just fix my ADHD 15:45 < bridge> I feel like I'm tripple checking codes, builds and ci for every pr. but it still happens 15:50 < bridge> i think the contrast before was easier to see 15:50 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1313155326962434151/249dfab27edae251.png?ex=674f1ab3&is=674dc933&hm=bd44c84534e4a31ba23e0ba353c991f67ff847f1e4af37279488c58a99b3784d& 15:50 < bridge> tho i couldn't remember how was that 15:51 < bridge> also how can i spectate myself 15:51 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1313155593040826489/efce412ea5d1e310.png?ex=674f1af2&is=674dc972&hm=9793206c6115e2f4d800ac2eab81576bb870ef00c29bb1162b1dc47e5000e3b9& 15:52 < bridge> spectate takes a clientID 15:52 < bridge> `cl_show_ids 1` 15:52 < bridge> 15:52 < bridge> and then enter your clientID which you can see in your scoreboard 15:52 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1313155910259966034/image.png?ex=674f1b3e&is=674dc9be&hm=99af377c2c84c354d42fbb2a3963ce141e425ad5b962c2751f07347b6296fa45& 15:52 < bridge> this feels bad 15:53 < bridge> you can ofc just leave spectator mode :P 15:53 < bridge> waiting the revert 😄 15:56 < bridge> maybe it is time to not care about adding config for adding yourself back into the menu? 15:56 < bridge> i kinda liked the avoid adding configs for tiny stuff approach 15:57 < bridge> assuming it is for disabling prediction right? 15:57 < bridge> for showing im afk while watching myself 15:59 < bridge> wait did we not have a `/afk` or was it removed 16:00 < bridge> i think maybe i have brain damage 16:00 < bridge> its proposed several times 16:02 < bridge> i think disabling prediction is a better use case that i can accept being reasonable for spectating yourself. but i'd like to remove new player's confusion as much as possible. let me think of something else 16:02 < ws-client> Hi everyone how to make teeworlds-pkg ai in java script if it's not a secret 16:18 < bridge> @learath2 hi, got time? 16:45 < bridge> Im outside 16:52 < bridge> :nouis: alright, enjoy your day. i'll find another time 17:02 < bridge> @deen Is it intentional that the app name includes the version? For the final website release the app name on the home screen should only be "DDNet" and the version "18.8". 17:02 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1313173395327680532/Screenshot_2024-12-02-16-49-05-33_fc704e6b13c4fb26bf5e411f75da84f2.jpg?ex=674f2b87&is=674dda07&hm=7b3700c301071039cf5a4daeeed0f3acacb286be7eb0e3e33f0ec60aab8dcc9e& 17:02 < bridge> @0xdeen Is it intentional that the app name includes the version? For the final website release the app name on the home screen should only be "DDNet" and the version "18.8". 17:02 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1313173395327680532/Screenshot_2024-12-02-16-49-05-33_fc704e6b13c4fb26bf5e411f75da84f2.jpg?ex=674f2b87&is=674dda07&hm=7b3700c301071039cf5a4daeeed0f3acacb286be7eb0e3e33f0ec60aab8dcc9e& 17:04 < bridge> @totar @pioooooo do you guys think you would perfer auto cancel self spectating or a command/bind. for auto cancel, the next time you pause it would go into freeview if you are previously spectating yourself. 17:05 < bridge> i think just a bind might be more comfortable if you pause a lot right? 17:06 < bridge> i'd like how it was and actually don't like to add random binds 17:06 < bridge> auto cancel is for me 17:08 < bridge> if tater says otherwise i'll just revert it and add some visual effects when you go in and out of freeview 17:11 < bridge> traitor 17:11 < bridge> im on a island 17:11 < bridge> its 24C 17:12 < bridge> are you participating in a mrbeast challenge 17:16 < bridge> <0xdeen> I think that's how you wrote it in your guide. Will change for rc2 17:17 < bridge> <0xdeen> See TW_VERSION_NAME in https://github.com/ddnet/ddnet/issues/8550#issuecomment-2463130180 17:18 < bridge> no i went to gf familiy, in canary islands 17:18 < bridge> im returning home today tho 17:18 < bridge> ddnet android pog 17:18 < bridge> It looks like you set `TW_VERSION_NAME` to `DDNet-18.8-rc1`, anything after "Version" in the Android UI is the user-defined version string 17:18 < bridge> dab on those iphone users 17:19 < bridge> :dab: 17:19 < bridge> Not sure if it was really worth it to put the app name as a command argument, that's supposed to be for forks 17:21 < bridge> <0xdeen> You had `export TW_VERSION_NAME=DDNet-18.7-20241101` in the comment I linked, so I wasn't sure if it's required or not 17:22 < bridge> Ah, my bad 18:15 < bridge> sleeping gn 18:17 < ws-client> gn freddie 18:36 < bridge> @soulyvevo We currently also have non-ascii character named skins in the db (only a few tho) 18:36 < bridge> https://ddnet.org/skins/index.php?search=%24creator%3Acammodude 18:36 < bridge> 18:36 < bridge> I think for the international community it's best to stay with english only, what are your thoughts? 18:36 < bridge> 18:36 < bridge> We'd probably need to add a check to the ddnet bot to prevent such names then too 19:04 < bridge> i strongly agree 19:30 < bridge> i abandoned ocaml, im trying gleam now 19:33 < bridge> will you solve one riddle on your gpu 19:33 < bridge> wot 19:33 < bridge> gleam is not gpu 19:33 < bridge> it compiles to BEAM (erlang) or js 19:34 < bridge> but that doesnt answer my question xd 19:34 < bridge> but it has rust-like tooling 19:34 < bridge> no idk shaders 19:34 < bridge> i need to learn them in depth someday 19:43 < bridge> @murpi u think it would be hard to add a simple check for that in the bot? doesn't hurry, but if u have some todo list add it there xd 19:52 < bridge> this str is not internationalized? 19:52 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1313216359471251559/38e99f347abdfc70.png?ex=674f538a&is=674e020a&hm=d2abd2dae472130bd3d37fd488fece9f00963ba49e166e6a6498db0f31591735& 19:53 < bridge> Open a PR 19:54 < bridge> It localized in the code, but I guess it breaks the language script because of the escaped quotes. Easiest would be to switch to single quotes 19:55 < bridge> It's localized in the code, but I guess it breaks the language script because of the escaped quotes. Easiest would be to switch to single quotes 20:21 < bridge> feels weird having the same image being used for editor and console 20:22 < bridge> i was using a semi transparent image for editor earlier 20:22 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1313223665508417546/ihlhfawfhiwapf.png?ex=674f5a58&is=674e08d8&hm=44f06e4b8211ae953c9db72a58a3aee529a1eae42df30cba2c53f02f2fdcf5a4& 20:22 < bridge> but doing the same now results in a weird looking console 20:22 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1313223825747611668/screenshot_2024-12-02_20-22-10.png?ex=674f5a7e&is=674e08fe&hm=574a40d22d5f413975a07210a0fa6d165a50d2f8841e73ee682422405a57bd72& 20:23 < bridge> wow 20:23 < bridge> new consoles 20:32 < ws-client> @soulyvevo this is bag lol 20:32 < bridge> 🛍️ 20:32 < bridge> 👜 20:32 < bridge> 💰 21:01 < bridge> <_voxeldoesart> oh wtf that looks kind of cool 21:01 < bridge> hard to read text sometimes tho 21:02 < bridge> especially when opening it in server browser 21:51 < bridge> what file did you replace? 21:53 < bridge> background_noise.png 21:56 < bridge> i can't even find this file xd 21:58 < bridge> ok found 22:02 < bridge> <_voxeldoesart> @jupeyy_keks you know how you want different skins to have different sounds? 22:02 < bridge> <_voxeldoesart> is it too early to try and sorta, make sounds for 🤖 skin? 22:02 < bridge> <_voxeldoesart> i wanna do something fun and im bored 22:02 < bridge> make a walking sound for tees 22:03 < bridge> <_voxeldoesart> theres already one 22:03 < bridge> <_voxeldoesart> its unused 22:03 < bridge> ok it's very funny 22:03 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1313249181368062013/image.png?ex=674f721b&is=674e209b&hm=b236d1a76c99ba3e89d2657325b6e10018bdbc8ed98327dfb14b5ada9c8d7874& 22:03 < bridge> <_voxeldoesart> https://cdn.discordapp.com/attachments/293493549758939136/1313249248451493958/foley_foot_left-01.mp3?ex=674f722b&is=674e20ab&hm=14b6f1c50b973ede145b8f6e99ae0f330edbb17b6bb11f51aa34bc83ee10a32a& 22:03 < bridge> <_voxeldoesart> https://cdn.discordapp.com/attachments/293493549758939136/1313249248883773511/foley_foot_right-01.mp3?ex=674f722b&is=674e20ab&hm=6ba3459d2b1ffb3a251dea61fda34a1a103f05d6527391f51a170e90dc19bc0f& 22:03 < bridge> <_voxeldoesart> or this is for something else 22:05 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1313249670755123321/image.png?ex=674f7290&is=674e2110&hm=131a8edce09bc68ca368759c8ff0172d2776b8f18ae9a45eaed063d04e9119c8& 22:06 < bridge> why did you switch it to that 22:06 < bridge> the only 128x128bpng i found in game folder 22:07 < bridge> now switch it to twinbop with boobs:ddnet_lgbt: 22:07 < bridge> It should just load images of any size 22:08 < bridge> oh :justatest: 22:09 < bridge> furry comes 22:11 < bridge> why does it affect default console.png though 22:12 < bridge> console.png does not exist anymore 22:12 < bridge> :justatest: 22:12 < bridge> why 22:12 < bridge> i ate it 22:13 < bridge> replace with background_noise.png 22:13 < bridge> replaced with background_noise.png 22:13 < bridge> but what if i want different bgs for console and editor :justatest: 22:15 < bridge> NO 22:35 < bridge> https://www.khronos.org/news/press/khronos-streamlines-development-and-deployment-of-gpu-accelerated-applications-with-vulkan-1.4 @jupeyy_keks 23:00 < bridge> the new background color for selected completion is really hard to see 23:00 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1313263485441933513/249dfab27edae251.webp?ex=674f7f6e&is=674e2dee&hm=59321ba6cb1ab3e927980294e6c1151afa1b6cf937d854711b9c1ab70cdb7ef4& 23:00 < bridge> especially as i have a not very good monitor that shows dark part almost all the same 23:02 < bridge> especially as i have a not very good monitor that displays dark part almost all the same 23:42 < bridge> For translations, do they have to be exact or make sense in the language? 23:43 < bridge> For example (romanian) 23:43 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1313274291642564699/image.png?ex=674f897e&is=674e37fe&hm=bf1037fb57b2f732fb27d6d3a5561e1588d7e953ec1063ddb43eb1cd05a57af8& 23:43 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1313274291839569970/image.png?ex=674f897e&is=674e37fe&hm=347615f104051810fe8f6e72f45e8b5ad9582445d129367b7189f2156b8185b6& 23:44 < bridge> "Emoticon" would best be translated and understood as itself, it's a borrowed word in our language anyway, and "figurine" doesn't make sense, if anything "emoji" would make more sense, but I'm not sure if it's alright to call an emote and emoji, I see them as the same thing, but others might not 23:46 < bridge> to make sense 23:47 < bridge> "Emoticon" would best be translated and understood as itself, it's a borrowed word in our language anyway, and "figurine" doesn't make sense, if anything "emoji" would make more sense, but I'm not sure if it's alright to call an emote an emoji, I see them as the same thing, but others might not 23:47 < bridge> alright 23:48 < bridge> Emoticon isn't the same as emoji btw, they're not synonyms 23:48 < bridge> my point exactly 23:48 < bridge> i didnt dig enough into the differences between emotes and emojis 23:49 < bridge> and i reckon im not the only one :kekw: 23:49 < bridge> You can't translate everything one to one 23:49 < bridge> 23:49 < bridge> If I had to read dummy as Attrappe in German I'd quit the game :monkaStop: 23:49 < bridge> i cant tell if i should laugh 23:49 < bridge> at any rate, "Emoticon" like I said is best translated in romanian as "Emoticon" :)) 23:49 < bridge> Listen to the pronunciation of Attrappe 23:51 < bridge> Is there a way to get context for translations? Here either "salt", "săritură" or "sari" fits, but without context it's hard to pick one 23:51 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1313276480863735879/image.png?ex=674f8b88&is=674e3a08&hm=43b8fcef7122df7d5ad92071636f243794bd1c9c4d992530b8075f03bee6c8bf& 23:54 < bridge> Are these the newly added translations for mobile ? 23:55 < bridge> Because then it's just the `jump` button 23:59 < bridge> could be