11:23 < ChillerDragon> What does str_utf8_stats count? https://github.com/ddnet/ddnet/blob/391c127cb3adacfdc0084b060009f7ec5de524e9/src/test/str.cpp#L591-L625 11:23 < ChillerDragon> i can not reall use it to count the letters can i? 11:25 < ChillerDragon> I need a thing that counts this ``любовь`` as 6. Does ddnet code base offer something for that? Basically counting how many times my cursor would jump. To calculate the width in a fixed width font scenario 11:26 < ChillerDragon> it seems to do so the first time in the test but the 2nd time it counts 3? does it keep state? when i str cmp those two it seems to be the same 11:27 < bridge> @Learath2 11:27 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1098540331940712490/RDT_20230420_1126054450350668568685903.jpg 11:27 < bridge> chiller i think u want to count unicode graphemes 11:27 < bridge> in rust thats not hard 11:28 < ChillerDragon> ttps://zillyhuhn.com/cs/.1681982876.png 11:28 < ChillerDragon> bra did i fail the link? xd 11:28 < ChillerDragon> https://zillyhuhn.com/cs/.1681982876.png 11:28 < ChillerDragon> how are these two strings different? why does the count vary? does it keep state? 11:31 < bridge> Can't super react on phone, so take this :hypervomit: 11:37 < bridge> Did you even bother to read the documentation we have on `str_utf8_stats` or even just the parameter names? 11:38 < ChillerDragon> no i no read doc 11:38 < ChillerDragon> everytime i wonder if there is doc there is none :D 11:39 < bridge> Almost every system.h function is documented atleast to some degree if they are not completely obvious 11:39 < ChillerDragon> ah the max size caps it 11:39 < ChillerDragon> ok then it seems to be the function i need weirdly it doesnt work as epxected for me ill furtehr investigate 11:58 < bridge> Just set max_size to the size of the buffer, max_count to INT_MAX 13:50 < bridge> is there a well known algorithm to reduce padding or just put the biggest elements first? 13:50 < bridge> i wonder what rust does 13:50 < bridge> (rust is free to reorder fields for maximum efficiency) 13:54 < bridge> since all alignment is power-of-two (in rust, c++) and object sizes are always a multiple of alignment (rust, c++), putting the elements with largest alignment first minimizes padding 13:54 < bridge> rust does this 13:54 < bridge> afaik 14:03 < bridge> Is your goal using less memory? 14:04 < bridge> i mean less padding is always better right 14:05 < bridge> If u access the variable from 2 threads maybe not 14:05 < bridge> Or 2 fields 14:05 < bridge> From 2 threads 14:05 < bridge> no threads here 14:05 < bridge> 🥲 14:09 < bridge> Hm, maybe worse in performance due to your access pattern, e.g. if you always check a field right after another, they might end up in the same cache line 14:10 < bridge> also SoA is better than AoS 14:10 < bridge> but I don't know any language that supports it natively 14:10 < bridge> (https://en.wikipedia.org/wiki/AoS_and_SoA) 14:10 < bridge> There is that one research language people point out. I don’t remember the name 14:10 < bridge> yeah i forgor 14:11 < bridge> But iirc it can do both with just a flag on the struct 14:11 < bridge> SoA has no padding 😉 14:11 < bridge> I wanna know the name 14:12 < bridge> Uff, I think I remember it being mentioned in the data oriented design cppcon talk by that guy who hates cpp 14:12 < bridge> Though not sure, ymmv 14:12 < bridge> I take no responsibility if you watch it and it’s not there 😛 14:12 < bridge> More input about this topic 14:13 < bridge> Its getting interesting 14:13 < bridge> https://www.youtube.com/watch?v=IK76q13Aqt0 bruh this guy alone did this 14:13 < bridge> amazing dev 14:16 < bridge> Runs on your rtx4090 super Cluster xdD 14:16 < bridge> But nice if that's actual gameplay footage 14:16 < bridge> Nice, someone knows some secrets to cinematic game dev 14:17 < bridge> The game almost looked like swat, but better graphics and insane camera movement 14:24 < bridge> That's gameplay 14:24 < bridge> So is this game completely recorded as video? 14:24 < bridge> Well it's VR so 14:24 < bridge> Hard to see on mobile 14:24 < bridge> There's a beta coming soon 14:24 < bridge> Yeah, not like any interactive gameplays, unreal 5 rocks 14:24 < bridge> But it's not rendered is it? 14:24 < bridge> based 14:27 < bridge> it is 14:27 < bridge> must be 14:27 < bridge> but the dev most likely used IRL textures 14:27 < bridge> the lightning looked unreal 14:28 < bridge> camera movement looks real because that's a VR game it moves with your own head 14:28 < bridge> camera movement looks real because that's a VR game it moves together with your own head 14:29 < bridge> Well from what I see on mobile this is way too realistic 14:29 < bridge> I guess it's a video 14:29 < bridge> this isnt a mobile game is it 14:29 < bridge> Wtf r u talkn about xd 14:29 < bridge> why do you think that shit runs on mobile 14:29 < bridge> I watched the video 14:29 < bridge> On mobile 14:30 < bridge> And see a game with prerecorded video 14:30 < bridge> lmao 14:30 < bridge> the game isn't built with videos tho 14:30 < bridge> that's how I understood you 14:30 < bridge> We'll see 14:31 < bridge> Or do u have any proof 14:32 < bridge> hard to believe its 1 guy 14:32 < bridge> making animations is extremly time consuming 14:32 < bridge> and the graphics look way too real 14:32 < bridge> also the video feels laggy somehow but maybe jut me xd 14:32 < bridge> but well the game is jut 1 guy with a gun 14:33 < bridge> Yeah it's him and some friends recording a video and then put a game on top of it 14:33 < bridge> xd 14:33 < bridge> @Jupeyy_Keks i think so to, but i hope to be wrong 14:34 < bridge> there is a limit to what 1 guy can do 14:34 < bridge> tbh the fog effect on the gun when he shoots gives it away, that it was made in an engine 14:34 < bridge> also this project isnt rly old, cuz i saw it on twitter some time ago 14:34 < bridge> U can create filters 14:34 < bridge> Or put some effects on top of the videi 14:34 < bridge> but that would be cheesy towards IGN 14:34 < bridge> must be gameplay element 14:34 < bridge> try to render a shadow that behaves like a normal one on a 2d image 14:34 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1098587602493374464/0qaCYRs.png 14:35 < bridge> of course it's not a video 14:35 < bridge> yeah, but if the fog wouldn't be there, I would've easily said it's real xd 14:35 < bridge> When will the beta come? 14:36 < bridge> there are no dates as far as I looked 14:36 < bridge> I could see this being used by military 14:36 < bridge> their simulators are dogshit 14:36 < bridge> I'll later look on desktop 14:37 < bridge> unreal simulations, I cannot wait to have Among us simulation on UE5 14:37 < bridge> :lol: 14:37 < bridge> this is not a simulation of physics tho 14:37 < bridge> just a environment one 14:37 < bridge> what half life did simulating physics first was a real break through 14:38 < bridge> and with the half life vr game too 14:39 < bridge> you think? 14:39 < bridge> they used an engine they had to buy a license for 14:40 < bridge> Alyx and CS2 run their own one 14:40 < bridge> I think 14:40 < bridge> Alyx and CS2 run their own inhouse one 14:41 < bridge> gets explained in this video probs: https://www.youtube.com/watch?v=VqekPzzCZGk 14:43 < bridge> ```C 14:43 < bridge> str_utf8_stats("「中国社区服」", 10, 10, &Size, &Count); 14:43 < bridge> EXPECT_EQ(Size, 9); 14:43 < bridge> EXPECT_EQ(Count, 3); 14:43 < bridge> ``` 14:43 < ChillerDragon> hmm this test is passing ._. how does it count it as 3 letters? 14:44 < bridge> they used an engine they had to buy a license for 14:44 < bridge> Edit: Havoc 14:47 < bridge> The max size does not cover the entire string 14:47 < bridge> So it only counts until 10 bytes 14:47 < bridge> ```py 14:47 < bridge> >>> len("「中国社区服」".encode("utf-8")) 14:47 < bridge> 21 14:48 < bridge> ``` 14:51 < ChillerDragon> i see so i need to make sure the size is big enough 14:51 < bridge> just use `str_length` 14:54 < bridge> no clue, but if the game is rly like that then VR will become amazing, if u have the budget 14:55 < bridge> after nanite & lumen makes things like that accessible 14:56 < bridge> the game is not vr sadly 14:56 < bridge> https://twitter.com/unrecordgame/status/1649028019741155332/photo/1 if you want more info 14:57 < ChillerDragon> ``str_length("服服服服") // => 12`` 14:57 < ChillerDragon> so that wont work 14:57 < bridge> hoo thought it wa vr 14:57 < bridge> hoo thought it was vr 14:58 < ChillerDragon> or you mean strlenth as max bytes? 14:58 < bridge> so it's gameplay footage 14:59 < bridge> the animation of the hands is far too precise to be vr I think 15:00 < bridge> normally yes 15:01 < bridge> Actually I think utf8_stats would also fail on this 😄 15:01 < bridge> ChillerDragon: pass str_length("...") + 1 for max size 15:02 < bridge> Why doesnt he then simply drop a video where he uses a fly cam 15:02 < bridge> Or wireframes 15:03 < bridge> Would be the easiest proof 15:03 < bridge> Zero-termination is checked in `str_utf8_stats`, so you could also pass `INT_MAX` for max size I guess 15:03 < bridge> ChillerDragon: as max_bytes 15:04 < bridge> Chiller: What are you looking to do btw? Count glyphs? Graphemes? 15:04 < bridge> Characters? 15:04 < bridge> "characters" 15:07 < bridge> I don't think we even have code to count graphemes in ddnet now that I think about it 15:07 < bridge> Unreal engine is insane, after the camera movement etc... does alot too 15:07 < bridge> personally I agree with you, for me the images are 100% 3d but is this the real gameplay of the game 🤔 15:10 < bridge> Why would you ever need to count graphemes for a game though? This would be impossible unless you know which language it is, right? 15:11 < bridge> we kinda need it for left-right movement of the cursor, no? 15:11 < bridge> if you have "é" as "e, combining acute accent", then we don't want to place the cursor between those "characters" 15:11 < bridge> https://www.reddit.com/r/rust/comments/12so3j9/is_rust_serde_unique/ 15:11 < bridge> Those are glyphs though, aren't they? 15:11 < bridge> no, graphemes are language-independent AFAIK 15:12 < bridge> glyphs might be something related to rendering, I don't think unicode has a concept of glyphs 15:13 < ChillerDragon> i think i have a different problem anyways 15:13 < ChillerDragon> seems like my assumption about fixed width was wrong 15:13 < ChillerDragon> https://zillyhuhn.com/cs/.1681996377.png 15:13 < ChillerDragon> at least vscode does not match the line lengths 15:13 < bridge> Yeah. We'll i hope it's real BCS then the big game studios were beaten by some hobby artists xdd 15:14 < bridge> i think there arent many games unsing unreal engine 5 15:14 < ChillerDragon> @Learath2 align server names 15:14 < bridge> Not even matrix tech demo looks realistic enough 15:14 < bridge> maybe my beloved kingdom hearts 4 will use it though 15:14 < bridge> I think there is a huge table of rules to count them. I can see them being maybe useful for spacing issues 15:14 < bridge> Yeah. But still insane then 15:14 < bridge> big game studios are only good to do crunching & release a game after 2weeks 15:14 < bridge> Xd 15:15 < bridge> so normal to see a game like that when people take their time to do things properly 15:15 < bridge> and not rush cuz they only like money 15:15 < ChillerDragon> a table? 15:15 < ChillerDragon> seems like my terminal also ignores fixed width when it comes to those 15:15 < ChillerDragon> https://zillyhuhn.com/cs/.1681996484.png 15:15 < bridge> Hm, I think there is a single codepoint version of the more common combinations 15:16 < ChillerDragon> so i should replace letters? 15:20 < bridge> For CJK languages there are separate half-width and full-width characters. If you want correct monospaced text you need the half-width characters 15:22 < bridge> there is, but we're not guaranteed to get it 15:22 < bridge> ChillerDragon: fixed-width terminal font length of graphemes is a deep rabbithole 15:23 < bridge> I read a lot of blog posts about that ^^ 15:28 < bridge> I think if we don't get it I bet we fail. I'm fairly certain we don't have the grapheme rules table 15:36 < ChillerDragon> yikes okay where can i buy half width? 15:40 < bridge> Those are separate unicode codepoints, so you'll have to manually translate the full-width to the half-width codepoints 15:41 < ChillerDragon> was that done already? 15:41 < ChillerDragon> or do i have to get a table into my code and do some unicode str replace? 15:59 < bridge> https://news.ycombinator.com/item?id=35639673 15:59 < bridge> @Learath2 we live in a society 16:00 < bridge> Thanks Tech CEO very cool 16:12 < ChillerDragon> i tries rust xd ryo 16:12 < ChillerDragon> also that fails me 16:13 < ChillerDragon> https://zillyhuhn.com/cs/.1681999975.png 16:16 < bridge> > Half-width kanji is not usable on modern computers 16:16 < bridge> https://en.wikipedia.org/wiki/Half-width_kana 16:17 < ChillerDragon> xd ffs 16:18 < ChillerDragon> wait but is full width exactly twice as large? then i can use that to calc 16:22 < bridge> rust is not failing here 16:23 < bridge> https://crates.io/crates/unicode-width 16:24 < bridge> this is used by all cli tools written in rust 16:24 < bridge> it tells the width of a utf8 str 16:24 < bridge> https://unicode-rs.github.io/unicode-width/unicode_width/index.html 16:52 < ChillerDragon> yea i also just saw that 16:53 < ChillerDragon> made me realize they are actualy two columns wide so i can properly offset even wide characters in a terminal 18:27 < bridge> so at desktop i'd say it defs doesnt look as perfect as i thought on mobile 18:27 < bridge> i'd still say there is a high chance, even if its 100% in unreal engine 5, that this isn't real time. 18:27 < bridge> 18:27 < bridge> there are photorealistic videos in UE5 that look insanely good (also with this weird camera movements), eg: 18:27 < bridge> https://youtu.be/2paNFnw1wRs 18:27 < bridge> 18:27 < bridge> but it has a much smaller viewport and the creator said in the comment it was prerendered ^^ 18:27 < bridge> So would defs be insane and a game changer 😄 18:28 < bridge> so at desktop i'd say it defs doesnt look as perfect as i thought on mobile 18:28 < bridge> i'd still say there is a high chance, even if its 100% in unreal engine 5, that this isn't real time (or i underestimate 4090, or multiple 4090). 18:28 < bridge> 18:28 < bridge> there are photorealistic videos in UE5 that look insanely good (also with this weird camera movements), eg: 18:28 < bridge> https://youtu.be/2paNFnw1wRs 18:28 < bridge> 18:28 < bridge> but it has a much smaller viewport and the creator said in the comment it was prerendered ^^ 18:28 < bridge> So would defs be insane and a game changer 😄 18:31 < bridge> well on twitter he said it was actual gameplay 18:31 < bridge> IGN is not the creator 18:32 < bridge> on twitter he posted the worst answer 18:32 < bridge> he only said it was recorded from an executable 18:33 < bridge> he is either hard troll, or noby is not a troll at all 18:33 < bridge> well with keyboard etc.. 18:33 < bridge> ig he meant not from UE directly 18:33 < bridge> its still weird xD 18:33 < bridge> he could simply toggle wireframes 18:33 < bridge> takes 5 seconds 18:34 < bridge> he could go live and play that scene xD 18:34 < bridge> would create even more hype xD 18:37 < bridge> i just hope i can soon play minecraft 8k on my 4090 rigs using 10kWh electricity and feel like i am in the matrix 18:42 < bridge> i remember wanting to code smth else but i completely forgot what i wanted to code 20:19 < bridge> meh im having a hard time defining a rust function in the ddnet code all the existing rust code seems so hollow no idea where to slap something like this so i can call it from the c++ code```rust 20:19 < bridge> #[no_mangle] 20:19 < bridge> pub extern "C" fn hello_from_rust() { 20:19 < bridge> println!("Hello from Rust!"); 20:19 < bridge> } 20:19 < bridge> ``` 20:24 < ChillerDragon> i was hoping this would just work xd 20:24 < ChillerDragon> https://zillyhuhn.com/cs/.1682015021.png 20:24 < bridge> oh wow very informative error message :o 20:24 < bridge> ah wait whjat 20:24 < bridge> ah wait what 20:34 < ChillerDragon> ah wait ``RustVersionPrint`` seems to be a good hello world 20:40 < ChillerDragon> https://zillyhuhn.com/cs/.1682016023.png 20:40 < ChillerDragon> poggies 20:53 < bridge> https://blog.rust-lang.org/2023/04/20/Rust-1.69.0.html 20:53 < bridge> funny number on 4.20! 20:58 < bridge> false 20:59 < bridge> afaik, there's no standard definition of what a letter is 21:01 < bridge> nvm, you both got answer later in the text 21:14 < bridge> Given you do both, which one do you prefer @Voxel ? 21:14 < bridge> https://www.reddit.com/r/ProgrammerHumor/comments/12rpylc/design_vs_programming/ 21:38 < bridge> ddnet doesnt need anything redesigned rn, does it? 21:54 < bridge> https://www.deepmind.com/blog/announcing-google-deepmind 21:54 < bridge> google joining the game 21:59 < bridge> i bet it fucking sucks and people are going to exploit it to death 22:02 < bridge> why are u so anti ai 22:02 < bridge> he keeps the balance 22:02 < bridge> we need someone who hates ai as well xd 22:03 < bridge> :troll: 22:05 < bridge> because its stupid and every company shouldnt need to get one to "be relevant" 22:06 < bridge> lets be real 22:06 < bridge> its not stupid 22:06 < bridge> and its not every company 22:06 < bridge> its google 22:06 < bridge> xd 22:06 < bridge> i need to buy ddnet.ai 22:07 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1098701449602547752/image.png 22:07 < bridge> nvm 22:07 < bridge> discord 22:07 < bridge> Artist 22:07 < bridge> discord does not need ai yet it had it anyways 22:08 < bridge> discord could have a decent use for ai 22:08 < bridge> discord does not need ai yet it addad it anyways 22:08 < bridge> discord can use ai pretty much anything 22:08 < bridge> to make setting up roles etc 22:08 < bridge> a chatbot is a perfect ai use case 22:08 < bridge> moderation 22:08 < bridge> Antispam ai please. I beg of you 22:08 < bridge> anti racism ai 22:08 < bridge> kekw 22:08 < bridge> anti konsti 22:08 < bridge> yall need to incorporate antispam ai into ddnet server 22:08 < bridge> i always get muted since i have a degenerate typing style 😔 22:08 < bridge> Ai moderation would instantly ban all the edgier people on this discord 22:08 < bridge> i want to incorporate a ai-powered translator to ddnet client 22:09 < bridge> so i can tell chinese players how much better taiwan is 22:09 < bridge> :troll: 22:09 < bridge> <судный день.> watafuk 22:10 < bridge> ok those are actually useful 22:10 < bridge> chatbots arent 22:10 < bridge> i let chatgpt give me a tldr xD 22:10 < bridge> Current ai is very lib too 22:10 < bridge> "hur hur look at what the funny gpt said!!!" 22:10 < bridge> <судный день.> how do chinese download ddnet? 22:10 < bridge> i just can only picture voxel as a old grandma complaining all day 22:10 < bridge> <судный день.> is it being delivered in usb-s there? 22:11 < bridge> yes usb-s 22:11 < bridge> <судный день.> ah the usb-s 22:11 < bridge> my usb-s 22:11 < bridge> remember chatterbox or whatever that chatbot was called 22:11 < bridge> it can be pretty funny 22:11 < bridge> specially giving it lot of contextual info about this sv 22:11 < bridge> i seen it in another server 22:12 < bridge> get the fuck off my lawn 22:12 < bridge> i mean what 22:13 < bridge> stable diffusion goes brr 22:13 < bridge> imagine having a lawn 22:13 < bridge> thats pretty american 22:14 < bridge> if the lawn had a crab and a penquin on it you'd be on the ground kissing the grass 22:14 < bridge> he would... ergh i will not say that 22:15 < bridge> wtf 22:17 < bridge> wat 22:21 < bridge> anyeahs yeah i will forever hate ai chatbots 22:34 < bridge> what if we're all ai chatbots designed to make you feel like you're not alone 22:35 < bridge> id end it 22:40 < bridge> Hi! I am a pretty shy person, and have no idea what I can tell you about me right away. I am Susan Cummings and I would like us to continue our communication through my Email(cummingssusan71@gmail.com) just send me a few lines to make sure I got the right email address. 22:40 < bridge> nice susan 22:40 < bridge> kek surname 22:51 < bridge> I think that is the Cum guy from here 22:51 < bridge> Don't get catfished 22:54 < bridge> eh guys do you know why `fix_style.py` hardcoded to use only linux clang-format? 22:54 < bridge> im struggling with my windows setup and 15.0.2 clang-format 22:56 < bridge> Why would you delete ms. cummings msg? 23:12 < bridge> wdym 23:27 < bridge> It doesn't support .exe files I guess 23:27 < bridge> @gerdoe Just push without caring about clang-format. We can fix it. 23:27 < bridge> Not worth putting in effort for that, it's something trivial 23:28 < bridge> If you have visual studio you can use that to call clang-format with Ctrl+K+D