00:06 < bridge> :hey: 00:06 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1165773311960174633/2023-10-23-000455_1920x1080_scrot.png?ex=65481200&is=65359d00&hm=6c5537070aa1c9dcba23f72a38edfe06c34959ed99db878ca4e3850f9bcb5379& 01:06 < bridge> <_voxeldoesart> whats this 01:07 < bridge> Godot :D 01:08 < bridge> <_voxeldoesart> ooo 01:08 < bridge> and tilemaps were a bit painful 01:10 < bridge> looks dunny 01:10 < bridge> looks funny 01:50 < bridge> miniaudio 01:59 < bridge> good morning 03:13 < bridge> <_gwendal> am i doing smth wrong ? :justatest: 03:13 < bridge> <_gwendal> https://cdn.discordapp.com/attachments/293493549758939136/1165820293596594228/debian_xC4PNuIk4I.png?ex=65483dc1&is=6535c8c1&hm=674b02e2bb42feb8ed23283505b31d00ac4f857b8308fdf4f468649aad805fe8& 03:15 < bridge> where'd u get this 03:15 < bridge> <_gwendal> https://ddnet.org/downloads/ 03:15 < bridge> your distro needs multiarch support to run a 32 bit binary if the system is 64 bit 03:16 < bridge> <_gwendal> tried both linux download just in case but both make the same errors 03:16 < bridge> get the x86_64 03:16 < bridge> <_gwendal> uh 03:16 < bridge> wtf 03:16 < bridge> <_gwendal> https://cdn.discordapp.com/attachments/293493549758939136/1165821016027697232/Discord_XJ6gIlgOky.png?ex=65483e6e&is=6535c96e&hm=227d99a92720e6d89091fa1b2d65701411b7e4a519f8db432e9314ad735c2038& 03:16 < bridge> so it also does this on 64 bit? 03:16 < bridge> well what is ur host 03:16 < bridge> <_gwendal> i'm using weird oracle cloud linux machins 03:16 < bridge> <_gwendal> i'm using weird oracle cloud linux machines 03:16 < bridge> <_gwendal> might be related 03:16 < bridge> it could be arm 03:16 < bridge> uname -a 03:17 < bridge> <_gwendal> ```Linux je-ten-supplie 5.15.0-1040-oracle #46-Ubuntu SMP Fri Jul 14 21:47:21 UTC 2023 aarch64 aarch64 aarch64 GNU/Linux``` 03:17 < bridge> yeah it's arm 03:17 < bridge> you'd have to build from source. given ddnet even supports arm yet, which idk about 03:17 < bridge> <_gwendal> aight sounds like a fun challenge 03:17 < bridge> didn't see ubuntu :justatest: 03:17 < bridge> yea 03:17 < bridge> good luck 03:21 < bridge> <_gwendal> it's kinda weird cause the server was working when i got it from apt :tear: 03:22 < bridge> actually i remember now that ddnet uses a universal binary on mac so it should support arm 03:22 < bridge> <_gwendal> o i'll try it xd 03:22 < bridge> aarch64 build may be packaged for apt arm repos 03:22 < bridge> just not on ddnet website 03:22 < bridge> but u want to not use apt cuz it's older right 03:22 < bridge> <_gwendal> i'm stupid for not seeing it wtf 03:23 < bridge> <_gwendal> dmg file :justatest: 03:24 < bridge> why downloading mac build :justatest: 03:24 < bridge> <_gwendal> because it's written arm ?! :justatest: i am so clueless idk what i am doing 03:25 < bridge> The only option is to emulate an x86-64 environment 03:25 < bridge> no it's not LOL 03:26 < bridge> git clone https://github.com/DDNet/DDNet 03:26 < bridge> git checkout 17.3 03:26 < bridge> cmake -B build -S . 03:26 < bridge> cmake --build build --parallel --config Release 03:26 < bridge> ./build/DDNet-Server 03:26 < bridge> ``` 03:26 < bridge> git clone https://github.com/DDNet/DDNet 03:26 < bridge> git checkout 17.3 03:26 < bridge> cmake -B build -S . 03:26 < bridge> cmake --build build --parallel --config Release 03:26 < bridge> ./build/DDNet-Server 03:26 < bridge> ``` 03:26 < bridge> that is how u build from source 03:26 < bridge> required build tools are cmake and rust, and u will also need all compile time dependencies 03:27 < bridge> oh yeah check it out 03:27 < bridge> <_gwendal> yea i was trying to figure out which arguments i should put on cmake following this https://github.com/ddnet/ddnet#building-on-linux-and-macos 03:27 < bridge> `sudo apt install build-essential cargo cmake git glslang-tools google-mock libavcodec-extra libavdevice-dev libavfilter-dev libavformat-dev libavutil-dev libcurl4-openssl-dev libfreetype6-dev libglew-dev libnotify-dev libogg-dev libopus-dev libopusfile-dev libpng-dev libsdl2-dev libsqlite3-dev libssl-dev libvulkan-dev libwavpack-dev libx264-dev python rustc spirv-tools` 03:27 < bridge> <_gwendal> yea saw it 03:27 < bridge> <_gwendal> thanks :)) 03:27 < bridge> np 03:28 < bridge> if you wanted to add compile opts u would do like this 03:28 < bridge> ``` 03:28 < bridge> git clone https://github.com/DDNet/DDNet 03:28 < bridge> git checkout 17.3 03:28 < bridge> cmake -B build -S . -DOPT1=true =DOPT2=true 03:28 < bridge> cmake --build build --parallel --config Release 03:28 < bridge> ./build/DDNet-Server 03:28 < bridge> ``` 03:28 < bridge> if you wanted to add compile opts u would do like this 03:28 < bridge> ``` 03:28 < bridge> git clone https://github.com/DDNet/DDNet 03:28 < bridge> git checkout 17.3 03:28 < bridge> cmake -B build -S . -DOPT1=true -DOPT2=true 03:28 < bridge> cmake --build build --parallel --config Release 03:28 < bridge> ./build/DDNet-Server 03:28 < bridge> ``` 03:29 < bridge> <_gwendal> python moment 03:29 < bridge> <_gwendal> https://cdn.discordapp.com/attachments/293493549758939136/1165824213798617169/debian_19frsWoqgW.png?ex=65484168&is=6535cc68&hm=c7bc7e728bd0fa5b354a770ef5f6df6c841ae30fdb4648ab0fef083e80506831& 03:29 < bridge> btw, because you're on ARM. You also need to pass these two options to cmake `-DCMAKE_CXX_FLAGS="-fsigned-char" -DCMAKE_C_FLAGS="-fsigned-char"`, if I remember correctly :) 03:29 < bridge> nice ^^ 03:34 < bridge> <_gwendal> i'm not sure i understand everything that is happening but it looks really cool 03:35 < bridge> <_gwendal> what is DOPT1 and DOPT2 btw ? 03:35 < bridge> :owo: 03:35 < bridge> <_gwendal> thanks, i put em :owo: 03:36 < bridge> example 03:36 < bridge> <_gwendal> XDD im stupid omg 03:37 < bridge> like all these 03:37 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1165826185171841075/image.png?ex=6548433e&is=6535ce3e&hm=81c0f0cea6ebafd2596618bbef9bcc7698820f8bda36fa535e10c81c8eb57d8c& 03:37 < bridge> <_gwendal> ahem... 03:37 < bridge> <_gwendal> https://cdn.discordapp.com/attachments/293493549758939136/1165826190628634674/debian_ohSOQzYhtv.png?ex=6548433f&is=6535ce3f&hm=5cc9e5a89106b8c79942b6884e4357648e4eae44ee1cce823b1bd2080027dd33& 03:37 < bridge> <_gwendal> yeye xd 03:37 < bridge> <_gwendal> i was trying to find these options in that list u just sent and was like "wtf this guy gave me" xddd 03:37 < bridge> lol 03:37 < bridge> if ur only running a server u can turn off a lot of stuff 03:38 < bridge> will make build faster and maybe a smaller executable 03:38 < bridge> but it doesn't rly matter 03:38 < bridge> <_gwendal> yea i thought about it, but realized i would take more time to understand what i can disable or not 03:39 < bridge> yea 03:39 < bridge> default is fine 03:40 < bridge> <_gwendal> it worked :owo: 03:40 < bridge> congratulations 03:40 < bridge> <_gwendal> thanks, it's all you and @furo321 03:42 < bridge> <_gwendal> indeed the server looks different from the 15.9 i was using 2 days ago xd 03:45 < bridge> <_gwendal> ```2023-10-23 01:44:45 I register/6/ipv6: registering... 03:45 < bridge> <_gwendal> 2023-10-23 01:44:45 I register/6/ipv4: registering... 03:45 < bridge> <_gwendal> 2023-10-23 01:44:45 I register/7/ipv6: registering... 03:45 < bridge> <_gwendal> 2023-10-23 01:44:45 I register/7/ipv4: registering... 03:45 < bridge> <_gwendal> 2023-10-23 01:44:45 I http: https://master1.ddnet.org/ddnet/15/register failed. libcurl error (7): 03:45 < bridge> <_gwendal> 2023-10-23 01:44:45 E register/6/ipv6: error response from master 03:45 < bridge> <_gwendal> 2023-10-23 01:44:45 I http: https://master1.ddnet.org/ddnet/15/register failed. libcurl error (7): 03:45 < bridge> <_gwendal> 2023-10-23 01:44:45 E register/7/ipv6: error response from master 03:45 < bridge> <_gwendal> 2023-10-23 01:44:45 I register/7/ipv4: registering... 03:45 < bridge> <_gwendal> 2023-10-23 01:44:46 I register/6/ipv4: registering...``` 03:45 < bridge> <_gwendal> This is weird cause the server actually is registered ? 03:46 < bridge> It failed to register on IPv6, you can disable it with `sv_register ipv4` if you want. 03:49 < bridge> <_gwendal> Thanks worked :owo: 07:01 < bridge> @jupeyy_keks thanks for the review :owo: 09:17 < bridge> @jupeyy_keks thanks for the looking at the code :owo: 09:17 < bridge> morning 09:18 < bridge> morning 🍡 09:38 < bridge> morning 09:38 < bridge> my mom used the last of my good coffee 09:39 < bridge> well 09:39 < bridge> she left some but it wasn’t even enough for a double shot 09:39 < bridge> and we’re out of milk 09:39 < bridge> oh my god. 09:43 < bridge> hi 09:43 < bridge> rest in peace 10:19 < bridge> Have any of you heard of the "Visitor Pattern"? 10:20 < bridge> I never knew it had a name πŸ˜„ 10:35 < bridge> Hello i have tried repeatedly to add this β€œAuto Verify” feature to my client but to no avail It doesn't show any errors but it doesn't work :feelsbadman: 10:35 < bridge> 10:35 < bridge> ``` 10:35 < bridge> https://github.com/sjrc6/TaterClient-ddnet/blob/master/src/game/client/components/verify.cpp 10:35 < bridge> ``` 10:37 < bridge> I created the gconfig and added that to cmakelists.txt as well: 10:37 < bridge> components/verify.cpp 10:37 < bridge> components/verify.h 10:38 < bridge> 10:38 < bridge> The rest of the steps are in gameclient.h 11:09 < bridge> well plz tell us the erro 11:09 < bridge> well plz tell us the error 11:10 < bridge> oh nvm 11:10 < bridge> u said no errors 11:10 < bridge> plz debug and make sure that the auto verify code is actually being run 11:10 < bridge> if it's a component i have a hunch that you added the object definition in gameclient.h but never actually added it to the client's list of components as is also required in gameclient.cpp 11:11 < bridge> u will see a long long list of `m_SomeComponent` 11:12 < bridge> that's my caveman explanation i'd have to look at the code to be any more specific 11:12 < bridge> serde is built upon that 11:12 < bridge> https://docs.rs/serde/latest/serde/de/trait.Visitor.html 11:14 < bridge> maybe ill invent a random data format and implement the serde traits 11:14 < bridge> can be a good way to learn the ins and outs of serde 11:14 < bridge> can be a good way to learn the ins of serde 11:14 < bridge> yea 11:21 < bridge> @mpft so u want to be a mod 11:21 < bridge> to mute my rust speech 11:21 < bridge> :gigachad: 11:21 < bridge> that's exactly wy 11:22 < bridge> i knew it 11:24 < bridge> i hate rust with a blazing passion 11:24 < bridge> i will mute all your rust speech so fast 11:30 < bridge> bro u saved my life 11:30 < bridge> :owo: :owo: :owo: :owo: thxx β™₯ 11:30 < bridge> πŸ˜ƒ 11:37 < bridge> please give me the textures of the copy love box 11:39 < bridge> map extract is very easy to use 11:39 < bridge> drag and drop 11:39 < bridge> I don't understand how to use it at all 11:41 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1165948043800084521/Discord_pEcdBywu5f.mp4?ex=6548b4bb&is=65363fbb&hm=7d26c60fcdc3a9f0fdd5f0fccc6a3fc13c0ed0958a0a4113eb179e0c7cf50c30& 11:42 < bridge> and how to download the map 11:45 < bridge> well i would say get it from heinrich's archive but i'm not finding it 11:45 < bridge> i just happened to have it in my downloaded maps 11:45 < bridge> which is at `C:\Users\user\AppData\Roaming\DDNet\downloadedmaps` on Windows 11:46 < bridge> Okay, thanks, you're the only one who explained it clearly. 11:46 < bridge> https://wiki.ddnet.org/wiki/Extra_tools 12:01 < bridge> How can I output the UUID of the system in the client? 12:02 < bridge> don't remember the exact fn 12:05 < bridge> wdym the system 12:05 < bridge> ```cpp 12:05 < bridge> CUuid &id; // idk where u want to get this from 12:05 < bridge> 12:05 < bridge> char aBuf[UUID_MAXSTRSIZE]; 12:05 < bridge> FormatUuid(id, aBuf, sizeof(aBuf)); 12:05 < bridge> ``` 12:07 < bridge> Uuid of the system? 12:07 < bridge> That makes less than 0 sense 12:09 < bridge> I want to make access to my client by UUID to block those who violate the usage rules 12:09 < bridge> Just UUID, I misspoke a little bit. 12:09 < bridge> Just UUID, I misspoke a little bit 12:10 < bridge> make and store a UUID in the settings. this will be purged on a settings change tho, so it will not work for persistent stuff like bans 12:10 < bridge> People will just change the uuid 12:10 < bridge> u can *try* and formulate some sort of unique identifier based on system info but it would not be worth it 12:10 < bridge> How can I do adequate blocking then? For example, so that only reinstalling the OS will help 12:11 < bridge> it will not be simple 12:12 < bridge> this is a problem ddnet has already and wants to solve 12:12 < bridge> the most popular idea for a solution is an accounts system... and look where we are 12:13 < bridge> the best/simplest you can do is probably implement some sort of simple auth using some web service + oauth or something, so people will have to use burner emails if they want to cheat 12:13 < bridge> and emails are getting harder to make. especially in batches 12:13 < bridge> so that would probably suffice for small-time rule-breakers 12:14 < bridge> Thank you very much, I'll try to think of something 12:15 < bridge> also this will need to be supported server-side if you want it to be immune to client mod bypasses 12:16 < bridge> so it will not work on ddnet or kog or whatever servers unless they choose to implement your auth method. which is pretty far fetched 12:16 < bridge> it's a hard problem to solve 12:16 < bridge> What is the DDnet team doing at the moment? An account system? New official server tags? 12:17 < bridge> but if you can auth with some server you host only for the sake of authenticating the client + the client is responsible for blocking abusers from joining servers, it would still work well enough to deter small time offenders 12:17 < bridge> but if you can auth with some server you host only for the sake of authenticating the client + the client is responsible for blocking abusers from joining servers based on the response from said server, it would still work well enough to deter small time offenders 12:17 < bridge> but once someone patches this out it's over. they will just share the exe 12:17 < bridge> nothing really πŸ˜ƒ 12:17 < bridge> a lot of talk 12:17 < bridge> :brownbear: 12:17 < bridge> everyone wants to do it their own way and nobody with the knowledge has made an implementation that people are onboard with 12:18 < bridge> i'd do it but i know next to nothing about cryptography/security so there would probably be huge holes in the logic 12:18 < bridge> also i have a hard time even finishing client mods 12:18 < bridge> so 12:18 < bridge> I'd love to do what I can, but my knowledge is still a bit lacking 12:18 < bridge> yea man just keep doing ur thing 12:18 < bridge> code and learn 12:18 < bridge> then u will be a genius. 12:19 < bridge> speaking of which i would quite like to have async skins and assets, but this baggage i've introduced in my pr is really not cool 12:19 < bridge> i thought it was justified but it's basically as much work to just roll a new implementation with a custom job for each instance... like... 12:19 < bridge> iif it had worked out like how i'd initially envisioned it, maybe not. but there are so many more parameters for init/precautions you have to take when using this mass file loader thing that i don't even think it's worth it 12:20 < bridge> I have so many cool ideas for a client, and I've gotten even more from my client's small community <3 12:20 < bridge> i love to hear that 12:20 < bridge> as long as what you're doing is kosher i think it's awesome 12:21 < bridge> Most importantly I would like to make support for custom skins on weapons, partials, etc. Same as skins, only more so 12:22 < bridge> yeah i think voxel had a similar idea 12:22 < bridge> would be cool 12:22 < bridge> but you'd want the infrastructure for it 12:22 < bridge> I'd also like to make support for sound sets, instead of people just replacing the standard files 12:22 < bridge> I'd also like to make support for sound sets, instead of people just replacing the default files 12:23 < bridge> that would be cool. but personally i'd rather those features just be in ddnet itself you know xd 12:25 < bridge> Everyone wants to do their own thing, but usually the DDnet team will just add your nickname to the news list 12:25 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1165959260602105906/image.png?ex=6548bf2e&is=65364a2e&hm=ab5e2354eb900e70fe5379ad6bc59e615b550967f14f7bb0ae9cc7052f5d8fcb& 12:26 < bridge> yea but at least u get to be purple xd :feelsbadman: 12:28 < bridge> sedonya the problem is that now every new feature that ddnet comes out with, your users are gonna also want. that makes a lot of work for you 12:28 < bridge> unless you structure your code very intelligently most big updates are goiing to be a lot of dealing with merge conflicts 12:29 < bridge> i don't even have an official client and i already have this problem. a few ppl use my hacked together status bar thing + i have to backport ddnet features and make windows builds every so often 12:29 < bridge> The info says to get ``dev`` you have to send a PR. But nowhere does it say that it must be useful. They didn't accept what I did to my mod - color, that counts too :feelsbadman: 12:30 < bridge> My server is the most popular of the unofficial ones 12:31 < bridge> is yours the fng server? 12:31 < bridge> My main server is S-DDR, but I also have a godfng server as well 12:32 < bridge> i see 12:32 < bridge> s-ddr doesn't show up in my browser 12:32 < bridge> is it block? 12:32 < bridge> yes 12:32 < bridge> cool 12:33 < bridge> And since a good antichit is only given to official servers, we have them allowed. Thanks to what we have collected almost all DDnet bots, which makes the official servers cleaner :owo: 12:34 < bridge> I'm strongly against cheats, but it's easier to allow them than to run through every application and only ban half of the noticeable cheaters 12:34 < bridge> @mpft have u still not contributed to ddnet? 12:34 < bridge> nope 12:34 < bridge> xd 12:34 < bridge> ddnetters dont like the way i code 12:34 < bridge> or think 12:34 < bridge> my features are stupid 12:34 < bridge> i could always pick up some mundane issue if i wanted to become purple i guess 12:35 < bridge> ya fuck it let's become purple 12:35 < bridge> well it wont be useful if ubecome blue 12:35 < bridge> but pruple is cooler 12:35 < bridge> πŸ˜ƒ 12:35 < bridge> i might become blue 12:35 < bridge> its already set 12:35 < bridge> i'm afraid there aren't enough USA players on here to vouch for me tho 12:36 < bridge> its ok u will get it 12:36 < bridge> Why do all roles have color and wiki contr are the only ones like suckers 12:36 < bridge> i hope so 12:36 < bridge> most of usa is in tee cafe 12:36 < bridge> or cool ddracers discord 12:36 < bridge> wiki gives the icon 12:36 < bridge> what is that 12:36 < bridge> a server 12:36 < bridge> That explains everything 12:37 < bridge> infclass? 12:37 < bridge> no sry tee cafe is a discord server 12:37 < bridge> a 12:37 < bridge> okay 12:37 < bridge> that i was in at one point, but left and now can't find an invite to 😹 12:37 < bridge> send link 12:37 < bridge> i wanna check 12:37 < bridge> that i was in at one point, but left and now can't find an invite to πŸ˜‚ 12:37 < bridge> @syrinok hey u got tee cafe invite? 12:38 < bridge> this is the only american mongrel online rn i bet 12:38 < bridge> i got it 12:38 < bridge> WTF 12:38 < bridge> #welcome 12:38 < bridge> sry for ping skeith 12:38 < bridge> is it even active 12:38 < bridge> i am not sure 12:38 < bridge> usually i just have a hunch that ppl are there 12:38 < bridge> a certain set of ppl playing in team but not using text chat 12:38 < bridge> so i assume they're in voice. and if they're not in cool ddracers, i assume they're in tee cafe 12:39 < bridge> ok i alreayd left got bored 12:39 < bridge> W 12:39 < bridge> consider it is 4:39 for me rn 12:39 < bridge> nobody's gonna be up except for weirdos like me 12:39 < bridge> and skeith 12:40 < bridge> i'm trying to flip flop my sleep schedule rn. my espresso machine got me into this mess, it can get me out 12:40 < bridge> when i first got it i drank 1 drink from it and the damage was already done. went to bed at 4 am and it's been this way for about a week 12:40 < bridge> my caffeine sensitivity really went up when i stopped drinking it so regularly 12:43 < bridge> i also promised my mom i'd go to the store and get some stuff but i lost track of time and the store closed. so now i'm just gonna go as soon as it opens 12:44 < bridge> Buy coffee? 12:45 < bridge> maybe 12:45 < bridge> the coffee i get you can only buy online 12:45 < bridge> at least in my area 12:45 < bridge> i usually get the sugar shack blend. it's delicious 12:45 < bridge> also cheaper 12:46 < bridge> ?? 12:46 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1165964511166083142/image.png?ex=6548c412&is=65364f12&hm=dd20738a786ae88679a8e9984c5e774a0c8c0b40b09b241de66f4207745dfd79& 12:46 < bridge> yes 12:46 < bridge> that 12:46 < bridge> i am bored so i will stream 12:47 < bridge> Pretty cheap, I guess 12:47 < bridge> not really 12:47 < bridge> it's just cheaper than the regional blends they have 12:47 < bridge> link ^^ 12:47 < bridge> https://discord.com/channels/252358080522747904/252358833052188673 12:48 < bridge> I thought Twitch or YouTube xd 13:39 < bridge> hi devs, can someone with gpu knowledge assist me in my stupidity please? right so uhh, there is this thing called vertex buffer and the gpu draws triangles using it, i can also attach uniform buffer for camera/lighting/etc but can i update vertex buffer? like what if i want to draw arbitrary triangles each frame (lets say about mm <250-500 of them)? and if i can update vertex buffer how slow is that? or am i doing the wrong way??? please i can't fi 13:41 < bridge> generally if you want to update your vertices you have to rebuild your vertex buffer, and it's okay to do so. if you hit performance issues, then you may want to think about other approaches that minimize cpu->gpu memory transfer. how many vertices are we talking about? 13:42 < bridge> so you said <500, that's not too much 13:42 < bridge> not that much, i am thinking of developing a small 2d game for my phone 13:42 < bridge> and uhh, i also went for implementing my own graphics πŸ‘ 13:43 < bridge> gl on that πŸ™‚ its very challenging but can also be very rewarding πŸ™‚ 13:43 < bridge> :gigachad: :pepeW: 13:43 < bridge> thanks for answering :heartw::heartw::heartw: 13:43 < bridge> Did u check my game?!?! 13:43 < bridge> which one 13:43 < bridge> If it deserves to be called a game 13:44 < bridge> https://github.com/MilkeeyCat/diagonals 13:44 < bridge> @ar1gin u use rust right 13:44 < bridge> with wgpu 13:44 < bridge> i know ur using opengl but if u want to learn vulkan https://vulkano.rs/ 13:44 < bridge> . 13:44 < bridge> they got a lot of tutorial 13:45 < bridge> In integrated gpus u could in theory have another advantage that the memory does not require a copy 13:46 < bridge> With opengl i always found rebuilding the whole buffer faster than updating it. So pre allocation not worth it 13:46 < bridge> i wanna make a game for my phone because google play is filled with powerconsuming garbage so i need a crossplatform compilation and wgpu says it can compile on pretty much any platform 13:47 < bridge> is this the continuation of your opengl adventures? 13:48 < bridge> @ar1gin yea 13:48 < bridge> Thats final result and i dont touch graphics 13:48 < bridge> Ever 13:48 < bridge> :pepeW: 13:48 < bridge> you know, implementing graphics from scratch is a hard milestone, so you should be proud that you were able to do it πŸ‘ 13:49 < bridge> lets see if it compiles on my machine 13:50 < bridge> :justatest: 13:51 < bridge> hmm 13:51 < bridge> imgui 13:51 < bridge> seems interesting 13:51 < bridge> no imgui! 13:51 < bridge> evil sinful library 13:51 < bridge> wasteful 13:51 < bridge> w 13:51 < bridge> whay 13:51 < bridge> its cool 13:51 < bridge> and fast 13:52 < bridge> and its rlly easy to define ui in code 13:52 < bridge> I liked it :feelsbadman: 13:52 < bridge> Btw press space, only then u can click on cells 13:53 < bridge> @ar1gin u use rust 13:53 < bridge> so use egui 13:53 < bridge> https://github.com/emilk/egui 13:53 < bridge> i know about egui 13:53 < bridge> egui is rust imgui 13:53 < bridge> yeah yeah 13:53 < bridge> i used it 13:53 < bridge> a lot 13:54 < bridge> dear imgui is fine 13:54 < bridge> for an imgui library 13:54 < bridge> but it's not a good type of ui imo 13:54 < bridge> wait 13:54 < bridge> isnt egui and imgui the same thing? 13:55 < bridge> Time to back to demo stuff :pepeW: 13:56 < bridge> im still struggling to compile it πŸ˜… 13:56 < bridge> :pepeW: 13:56 < bridge> Works on my machine 13:57 < bridge> is it for windows? 13:57 < bridge> No 13:57 < bridge> :p 13:57 < bridge> Did u use --recursive? 13:57 < bridge> ok that means the problem is me 13:58 < bridge> it's not able to find glm for some reason.. 13:59 < bridge> :pepeW: 14:00 < bridge> k fixed it 14:00 < bridge> cmakefiles is borked 14:00 < bridge> A gg 14:02 < bridge> ```diff 14:02 < bridge> -add_subdirectory(dependencies/glm) 14:02 < bridge> +include_directories(dependencies/glm) 14:02 < bridge> ``` 14:02 < bridge> this fixed it for me 14:02 < bridge> you might want to look into this issue 14:03 < bridge> Maybe i was changing stuff between commits and fucked everything up 14:03 < bridge> :justatest: 14:03 < bridge> ?xd 14:03 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1165983860178300999/image.png?ex=6548d617&is=65366117&hm=b8aa8dffe60696f606242a629ef48b023140fa065415babcbcb6f1f3f83f2a60& 14:04 < bridge> Its between 2 players 14:04 < bridge> No one can take it 14:04 < bridge> oh 14:04 < bridge> hold uyp i thought this was a different game 14:05 < bridge> XD 14:10 < bridge> add_subdirectory will add a cmake project in said dir 14:10 < bridge> include_directories will add all the headers in that directory to the global include paths (so you can use it with ``) 14:11 < bridge> typically you would want to do `target_include_directories(project PRIVATE dir)` in order to avoid polluting the global include paths 14:11 < bridge> same for linking libraries but for different reasons 14:11 < bridge> Will you also make it look nice? Xd 14:12 < bridge> i will try my best <3 14:12 < bridge> I'm something of an artist myself 14:12 < bridge> oh if you're talking about the art then yes of course 14:13 < bridge> I always find it hard to make it not look like trash but be very energy efficient. E.g. cool shaders will cost resources. Gifs etc. Are resolution and often framerate dependent so that kinda sucks too ^^ 14:13 < bridge> Are you an artist? 14:14 < bridge> yea 14:14 < bridge> not that much, i'm bad at any form of art, but if i take my time.... 14:14 < bridge> im probably gonna leave post proc. out because of that 14:15 < bridge> post processing is not always better 14:15 < bridge> sometimes you can create a picture that looks beautiful even without 1000x bloom 14:16 < bridge> I know that πŸ™‚ 14:16 < bridge> πŸ˜ƒ 14:16 < bridge> congratulations 14:16 < bridge> But somehow there was add_sybdirectories :pepeW: 14:16 < bridge> idk how much c/cpp u know so i just want to help whenever i can 14:16 < bridge> btw for anyone looking for phone games, i can recommend "slice & dice" 14:16 < bridge> I know basically 0 14:17 < bridge> 😎 14:17 < bridge> really good and really optimized 14:20 < bridge> I can't quite put my finger on it, but somethings seems off πŸ€” 14:20 < bridge> is this the rare heinrich5991 joke 14:21 < bridge> emulating pattern matching in languages that don't support it 14:24 < bridge> here ya go :) 14:24 < bridge> trivia: did you know, that... 14:24 < bridge> 1. the sunbeams on dm1 are colored with envelopes to make them less bright? 14:24 < bridge> 2. the sun is transparent and the beams are actually quite chaotic and leave a hole in the middle of the sun? its not as bad as here, but once you know, you'll see it every time 🫠 14:24 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1165989066572046386/2023-10-23-142126_1920x1080_scrot.png?ex=6548daf0&is=653665f0&hm=f0b860ff5b0629a7f8f4e1f6aae72645cce1f37dc3cc2fcd477fdd52a6a3ed84& 14:25 < bridge> > the sun is transparent and the beams are actually quite chaotic and leave a hole in the middle of the sun? 14:25 < bridge> thank you for ruining dm1 for me 14:25 < bridge> What r u working on now? Porting ddnet to godot? 14:26 < bridge> the original :) 14:26 < bridge> its more subtle than I remember 14:26 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1165989521268154449/2023-10-23-142523_692x651_scrot.png?ex=6548db5c&is=6536665c&hm=e16fc8682ad66d9eaf7b26d975105991feb4337a691efed19b9baa3e658f6972& 14:26 < bridge> yea, was curious how long that would take 14:26 < bridge> maybe its just procrastination for my bachelor thesis πŸ™ƒ 14:26 < bridge> And what is your current time 14:27 < bridge> wdym with current time? 14:27 < bridge> Time spent 14:28 < bridge> my fourth day on it, maybe 4 h each day? I didn't actually track the time 14:29 < bridge> And did u write custom shaders or only use godot one 14:29 < bridge> its actually the third time I have now reimplemented drawing tw/ddnet maps xd: blender, twgpu, godot 14:29 < bridge> I'll need to write a custom shader for quads + envelopes I think 14:30 < bridge> So it does support tile maps? 14:30 < bridge> And every time different approach xd 14:30 < bridge> yes, but its very different, large maps take quite some time to process 14:30 < bridge> not super long, but like 10 seconds I think, haven't tested much yet 14:30 < bridge> Every method has advantages and disadvantages ^^ 14:31 < bridge> yea ^^ 14:31 < bridge> the whole map construction is done with rust bindings tho ^^ 14:31 < bridge> they work quite well 14:31 < bridge> Hardest part might be to integrate the border extension 14:31 < bridge> If u plan that 14:31 < bridge> yeaaa :/ 14:31 < bridge> not sure yet how to do that 14:32 < bridge> with Godot I could test the perf difference between raycasting tilemaps and doing them the 'native' godot way 14:32 < bridge> but thats for another day I think 14:33 < bridge> I was honestly hoping I would have mipmaps by now, but there are some confusing things along the way 14:33 < bridge> I'm honestly not sure if I'll even get mipmaps for the tilemaps 14:33 < bridge> would suck 14:33 < bridge> Well Godot supports gles2 right? 14:34 < bridge> yea 14:34 < bridge> I assume they don't use texture arrays 14:34 < bridge> they are atlasses I think 14:34 < bridge> I checked the box for a 1 pixel separation between segments of the atlas 14:34 < bridge> Ah 14:36 < bridge> btw, is your Rust renderer public yet? if not, could I maybe get access to it? I'd like to take a look into its workings :) 14:36 < bridge> I can later push the current state 14:36 < bridge> Do u only want the front end? 14:37 < bridge> I wanna see the rendering code 14:37 < bridge> Like the vulkan stuff or just higher level stuff? 14:37 < bridge> both would be nice :) 14:38 < bridge> is it structured like the ddnet rendering code? 14:39 < bridge> Ok. U can get both, but I'm still in a brainstorming phase for the vk backend, so it's not really final.. wont matter too much for tile rendering. But like everything around it xd 14:39 < bridge> (hmm, if I have sufficient trust in the renderer, I might just be able to just extend all borders by like 100 or 200 tiles and call it a day πŸ€”) 14:39 < bridge> Sadly this will contain bugs tho 14:39 < bridge> I'd really love to do that for ddnet 14:40 < bridge> But e.g. aim maps use single tiles for backgrounds(by abusing the auto extend) 14:40 < bridge> doesn't really matter that it's not final. because its just a rendering challenge which I've already poured some thoughts into and I think I'll learn some stuff from seeing how someone does it who knows what they are doing ^^ 14:43 < bridge> the aim maps seem to all use a 2x2 tile background, must be some other map series 14:43 < bridge> Yeah ok but 2x2 doesn't make it better 14:44 < bridge> If they are 1000 tiles 14:44 < bridge> Visible for over 1000 tiles* 14:44 < bridge> they aren't extended at the borders though 14:45 < bridge> what? how that 14:45 < bridge> maybe we just fade to black at the borders of a map :D 14:45 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1165994374597988402/2023-10-23-144513_1920x1080_scrot.png?ex=6548dfe2&is=65366ae2&hm=7bde7f454df50e4b2c4efbd7fa525bb9513064bcb0792a3cf4d141e3c8f6788c& 14:45 < bridge> ah 14:45 < bridge> keep in mind that extending is not related to game layer 14:45 < bridge> the 2x2 will extend directly (after the 2x2 tiles ^^) 14:46 < bridge> for the rest of the map 14:46 < bridge> what i want to say is: you cannot ujst extend them by 200-300.. u need to extend them over the whole visible area 14:47 < bridge> they don't use parallax afaik 14:47 < bridge> I'm not in entities here, those are the 2x2 tiles, the layers have an empty border 14:47 < bridge> but yea 14:47 < bridge> the issue will be there on maps that use that specific nieche 14:48 < bridge> eh, those edges sure are annoying 14:48 < bridge> maybe I'll fall back to the raycasting in the end, because I won't have to worry there xd 14:49 < bridge> did u even solve this on twgpu? cant remember 14:49 < bridge> I started with Godot because I hoped for faster development, and being actually able to develop a small app that could easily run on mobile phones 14:50 < bridge> i guess once u are fluent in godot this is true πŸ˜„ 14:50 < bridge> I did raytracing: a signgle quad always covering the entire viewport. the tilemap uploaded as a texture. then I map the screen coordinates to the tilemap coordinates, clamp to the limits of the tilemap and sample the tilemap and the tile array texture right after 14:50 < bridge> its obviously true 14:51 < bridge> godot provides lot of things out of the box 14:51 < bridge> its a engine xd 14:51 < bridge> i'd say it's 99% true 14:51 < bridge> https://twitter.com/passivestar_ 14:51 < bridge> fun follow 14:51 < bridge> he posts blender and godot stuff 14:51 < bridge> a big engine always has the disadvantage that it doesn't let you integrate easily into every aspect of it 14:51 < bridge> Smooth scrolling in console is already implemented yea? 14:52 < bridge> somewhere there is an abstraction that limits you 14:52 < bridge> https://x.com/passivestar_/status/1715606056146010543?s=20 14:52 < bridge> stupid twitter 14:52 < bridge> https://twitter.com/passivestar_/status/1715606056146010543 14:53 < bridge> https://vxtwitter.com/passivestar_/status/1715606056146010543 14:53 < bridge> nice hack 14:53 < bridge> xd 14:53 < bridge> https://vxtwitter.com/passivestar_/status/1714526775156326770 14:53 < bridge> look 14:53 < bridge> this guy is insane 14:53 < bridge> this is godot 14:55 < bridge> neat 14:55 < bridge> very cool 14:55 < bridge> but how's the perf 14:55 < bridge> i mean godot will be quite optimized for PBR, so most light effects will be fast 14:56 < bridge> https://github.com/RodZill4/material-maker 14:57 < bridge> more interesting would be use of raytracing 14:57 < bridge> https://vxtwitter.com/passivestar_/status/1715199217633841600 14:57 < bridge> i feel like unreal engine currently has a monopoly on public avaialable engines 14:57 < bridge> godot can only improve 14:58 < bridge> its currently in a nice place also relogic is a sponsor 14:58 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1165997651116949596/image.png?ex=6548e2ef&is=65366def&hm=f6c407dd3d2b23cb413c154cfddf6d387b099da92300cafc98785ffe372182f4& 14:58 < bridge> oh yeah, terraria is a sponsor 14:58 < bridge> it must be good for 3d 14:58 < bridge> 😬 14:58 < bridge> i just showed u 3d godot 14:58 < bridge> xd 14:59 < bridge> the joke is that godot 2 sucked hard 14:59 < bridge> but 4 is nice 14:59 < bridge> yeah was just a joke xd 14:59 < bridge> but the meme lives on 14:59 < bridge> the pog thing about godot being open source is these tools 14:59 < bridge> popping up everywhere 14:59 < bridge> @jupeyy_keks I'm a bit unsure how I should implement the envelopes. does a envelope-values-1d-texture which the quads sample from in the vertex shader sound bad to you in any way? Godot doesn't really tell me how I should update my own gpu buffers (It doesn't actually provide me with non-const-sized-gpu-buffers I think, but 2d-textures-used-as-1d-textures could fill that gap) 14:59 < bridge> and the physics addons etc 15:00 < bridge> https://twitter.com/MegaCrit/status/1713793866779042272 15:00 < bridge> these guys made slay the spire 15:01 < bridge> ah SSIL is their GI method, then indeed i wonder about performance and how well it looks compared to unreal πŸ˜„ 15:02 < bridge> wats SSIL xd 15:02 < bridge> it also says SGDFI 15:02 < bridge> > Signed distance field global illumination (SDFGI) is a novel technique available in Godot 4.0. It provides semi-real-time global illumination that scales to any world size and works with procedurally generated levels. SDFGI supports dynamic lights, but not dynamic occluders or dynamic emissive surfaces. 15:03 < bridge> uff, tbh i have no idea. using textures sounds like a hack, but if godot doesn't give u anything better i guess u have no other choice? 15:03 < bridge> my fear with sampling stuff is that drivers can always override its behavior πŸ˜„ 15:04 < bridge> Screen-space indirect lighting (SSIL): 15:04 < bridge> 15:04 < bridge> The SSIL quality and number of blur passes can be adjusted in the Project Settings. By default, SSIL rendering is performed at half resolution (and then linearly scaled) to ensure a reasonable performance level. Not available when using the Forward Mobile or Compatibility backends. 15:04 < bridge> https://docs.godotengine.org/de/4.x/tutorials/3d/global_illumination/introduction_to_global_illumination.html 15:05 < bridge> what does unreal use? 15:05 < bridge> i dunno they call it lumen or smth 15:05 < bridge> ah, thanks for the brain storming/a bit rubber-ducking, I'll try some stuff out 15:05 < bridge> i don't think there is anything comparable 15:07 < bridge> @ryozuki the most important thing in UE5 is Nanite.. so their GI etc. has to integrate with that technology 15:07 < bridge> that's why u can't really compare it to anything else i think. it's simply a new approach 15:07 < bridge> copy the aproach 15:08 < bridge> 😬 15:08 < bridge> true xd 15:12 < bridge> i am incredibly surprised they don't have more sponsors. i guess you have to be more explicitly linux-oriented to get support from all the big names which usually sponsor oss projects like this 15:13 < bridge> smth rly weird happening 15:13 < bridge> im compiling a project with rust 15:13 < bridge> i OOM 15:14 < bridge> i just added a bench binary 15:14 < bridge> odd stuff 15:14 < bridge> ill use less jobs 15:14 < bridge> linux foundation decided to sponsor https://github.com/o3de/o3de 15:15 < bridge> maybe smth rly big in there 15:15 < bridge> instead of godot 15:15 < bridge> for WHATEVER reason xd 15:15 < bridge> probably some quarrel 15:15 < bridge> wrong license or wrong philosophy or they don't like a top contributor 15:15 < bridge> did u use it 15:16 < bridge> no, i just heard it's amazons game engine, which makes sense since many contributors have amazon in their name 15:17 < bridge> well its cool to have alternatives and its open source 15:17 < bridge> yeah, idc too much tbh πŸ˜„ 15:17 < bridge> godot profited most of the unity problems... at least from the open source engines 15:17 < bridge> amazon's got their fingers in everything 15:30 < bridge> @ar1gin it build for me even without that glm line at all 15:31 < bridge> :thonk: 15:31 < bridge> @ar1gin it builds for me even without that glm line at all 15:34 < bridge> r u under linux? 15:35 < bridge> & do u inlcude glm headers with #include 15:35 < bridge> πŸ€“ 15:35 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1166006892364038194/image.png?ex=6548eb8a&is=6536768a&hm=2716cb891a5d51a24997b05200c6b54bcf852df29946b42765a401dbd05c7887& 15:35 < bridge> then it's quite likely that the /usr/includes is already in the path, that's why u dont need it 15:35 < bridge> i still didnt install right drivers :feelsbadman: 15:35 < bridge> it might not compile under windows then tho 15:35 < bridge> whats your problem with your drivers? 15:35 < bridge> there bad 15:36 < bridge> theyre bad 15:36 < bridge> nvidia? 15:36 < bridge> yea 15:36 < bridge> i install neuvau or whatever the hell 15:36 < bridge> rip 15:37 < bridge> it's probably better to use zink globally xd 15:37 < bridge> then u have the power of mesa, while u have the driver of nvidia 15:37 < bridge> assuming u install the nvidia drivers at some point 15:38 < bridge> and no i have never tested that, but would be a funny experiment 15:38 < bridge> with AMD drivers on KDE i had no real issues 15:38 < bridge> yea i do, and i also have this line include_directories(dependencies) 15:38 < bridge> and dependencies folder has glm, i though that has to work 15:38 < bridge> :p 15:39 < bridge> i guess u have glm installed over a package manager 15:39 < bridge> if i remove it from dependencies folder it should work anyways 15:39 < bridge> right? 15:39 < bridge> if i have it installed 15:40 < bridge> yes 15:40 < bridge> ok it does :feelsbadman: 15:40 < bridge> i dont remember installing it 15:41 < bridge> i can't remember installing any of the 7000 packages out of 7100 packages on my system xdd 15:48 < bridge> would be nice if there was a better solution to this 15:48 < bridge> I also run into this sometimes 15:50 < bridge> Joke's on you, I have to go to the DMV again today 15:51 < bridge> :pepeW: 15:53 < bridge> yo I have a logical question. if I have an array of 2d vectors and I chose one of them at random. How would I figure out the nearest vector to the left and to the right side? 15:55 < bridge> ok i fixed and now it has a release :poggers: 15:55 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1166011984358162473/image.png?ex=6548f048&is=65367b48&hm=26a3bc05aae9b79c4cd831d8d31278b73b4c7f813f4a304f56815668668af28d& 15:55 < bridge> wdym by "left" and "right"? 15:56 < bridge> just with a lower/higher x coordinate? 15:56 < bridge> buy more ram xd 15:57 < bridge> i ran out of memory on 32GB lately, when compiling something on arch 15:57 < bridge> Sry for the poor quality ethernet port broke on my PC. The green vector is the randomly selected ones and the red ones are the ones that I want 15:57 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1166012519341629640/IMG_20231023_155624896.jpg?ex=6548f0c8&is=65367bc8&hm=f2de0e551e843a240781cfb7026dfe8e457ec1226ff222b8c3b2a23edb8edb1c& 15:58 < bridge> my condolences 16:00 < bridge> do you know whats the name of this color scheme? xd 16:00 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1166013268716965919/image.png?ex=6548f17a&is=65367c7a&hm=e9ce0e608eb975ac2baa25692e830b9a88f2d58937822e7be51cb5ae884f9604& 16:00 < bridge> not off the top of my head 16:00 < bridge> solarized maybe 16:00 < bridge> anybody knows whats the name of this color scheme? xd 16:00 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1166013268716965919/image.png?ex=6548f17a&is=65367c7a&hm=e9ce0e608eb975ac2baa25692e830b9a88f2d58937822e7be51cb5ae884f9604& 16:00 < bridge> (dark) 16:00 < bridge> nvm 16:01 < bridge> ive already seen it but cant remember the name :feelsbadman: 16:01 < bridge> Gruvbox, I guess 16:01 < bridge> not dissimilar to mabakor 16:01 < bridge> so u basically want to see if the dot product is positive or negative? 16:01 < bridge> yep 16:01 < bridge> or how should i interpret that? 16:01 < bridge> or the angle? 16:02 < bridge> but left and right in 3d is really weird 16:02 < bridge> u kinda want a projection of the vector first? but into which direction? 16:03 < bridge> a single red vector does not create a plane 16:03 < bridge> or the x y plane? xd 16:03 < bridge> what jupstar says, I'm still not sure what you mean by left and right 16:03 < bridge> why is the gray one not left or right? 16:04 < bridge> I only want the nearest ones 16:04 < bridge> So the nearest one on the left and the nearest one on the roght 16:04 < bridge> I only want the nearest ones 16:04 < bridge> So the nearest one on the left and the nearest one on the right 16:04 < bridge> what if it's above it? 16:05 < bridge> The vectors are normalised 16:05 < bridge> well the problem is simply, left and right doesn't work like that in 3d xD 16:05 < bridge> It's 2d bro 16:06 < bridge> this img is 2d too? 16:06 < bridge> Y 16:06 < bridge> my brain has hard time parsing that xD 16:06 < bridge> The colors are for what I want and what I have xd 16:06 < bridge> I have the green 16:06 < bridge> I want the red 16:06 < bridge> well in 2d simply check the x coordinate? 16:06 < bridge> Its a circle 16:06 < bridge> then select the vector with the minimum distance that has a higher x coordinate? 16:06 < bridge> Well no 16:07 < bridge> how is the grey one not closer than the left red one? 16:07 < bridge> Closer by angle 16:07 < bridge> The length doesn't mean anything 16:07 < bridge> i c 16:08 < bridge> so sin & cos are ur friends here 16:09 < bridge> https://en.wikipedia.org/wiki/Unit_circle 16:09 < bridge> But taking angle diffs are annoying asf 16:10 < bridge> since there are always 2 answers 16:11 < bridge> but u know which vector is closer to 1, 0 16:12 < bridge> ok i am thinking too mathematically rn anyway, u probably need a very fast approach 16:13 < bridge> i bet u can somehow abuse the dot product for this 16:13 < bridge> Just getting the closest vector is easy but I need 2 of em 16:14 < bridge> Ah wait I have an idea 16:14 < bridge> yeah but if u know one, and it's coordinate, u just need to seek out for another that as coordinates that are on the other side 16:15 < bridge> and u can search for the closest vector of red to green, instead of green to red 16:16 < bridge> yeah but if u know one, and its coordinate, u just need to seek out for another that as coordinates that are on the other side 16:18 < bridge> @_voxeldoesart were u planning to submit a pr for #7312? i was looking for stuff to knock out and it seems pretty ez but if u had plans then i'll find something else 16:18 < bridge> https://github.com/ddnet/ddnet/issues/7312 16:22 < bridge> https://tonsky.me/blog/disenchantment/ 16:23 < bridge> that yellow website is also the hell xDD 16:24 < bridge> > The whole webpage/SQL database architecture is built on a premise (hope, even) that nobody will touch your data while you look at the rendered webpage. 16:24 < bridge> I also struggled with that one while writing a website 16:25 < bridge> why is that a problem? i dont understand.. bcs scriptlanguages? 16:25 < bridge> 16:25 < bridge> security reasons? 16:25 < bridge> you display a resource that a user can edit 16:25 < bridge> multiple users might open the same page, get presented the same data 16:25 < bridge> one user changes field a, the other field b 16:26 < bridge> if you naively just update everything when the users submit, one of these changes ist going to be lost 16:26 < bridge> if you naively just update everything when the users submit, one of these changes is going to be lost 16:26 < bridge> mh yeah 16:35 < bridge> @teero777 found a solution? 16:35 < bridge> yea I think I did 16:35 < bridge> Gotta test first 16:41 < bridge> i think u could do it with a fast cross product(using z achsis for 90Β°) and using the dot product xd 16:42 < bridge> and it involves no sin, cos or sqrt 16:50 < bridge> This is an excellent blog post. He put into decent words everything I've been thinking for years 16:51 < bridge> thing about this post is i've read so many like it that i'm not sure if i've read this one specifically before 16:51 < bridge> you'd think i'd remember the yellow 16:51 < bridge> lmfao this troll dark mode 16:55 < bridge> having dealt with the javascript(typescript) universe a bit i can ensure you, it's even worse than u think xD 16:55 < bridge> <_voxeldoesart> uh yea sure u can do that 16:55 < bridge> i swear these frameworks are always broken af, and never gonna be fixed. they slow, they tend to not work after a while 16:56 < bridge> wish the world was made in rust 16:56 < bridge> :justatest: 16:56 < bridge> You know whats even scarier to me? I know a couple people going into the industry right around now and they actually don't see an issue with it 16:56 < bridge> im just hoping wasm can finally do DOM and we get rid of js 16:57 < bridge> It seems to be getting more and more normal 16:57 < bridge> static linking is also a tradeoff, unfortunately 16:57 < bridge> well this is what they are taught by their professors 16:57 < bridge> yeah it's sad tbh. i always hate the debugging session that lead to nowhere except you saying" probably a framework problem and not in my code" 16:58 < bridge> I don't think that comes up in lectures 16:58 < bridge> u don't even know if that's true 16:58 < bridge> 16:58 < bridge> 16:58 < bridge> but u cannot really expect anything else.. they are basically not reproducable etc 16:58 < bridge> that's also one of the issues i see with CSS. there are 20000 ways to do the same 16:58 < bridge> Since I have a very obsessive personality, I do end up all the way inside the framwork for these bugs to confirm it's definitely not my fault 16:58 < bridge> and nobody understands why it works xD 16:59 < bridge> well depends on the framework size i guess, but that's actually a good thing to do xd 16:59 < bridge> no way to know if this is true as i'm not in any kind of cs or ce course, but i think the general sentiment of doing things faster as opposed to 'correctly' would really shine through 17:00 < bridge> if that's what the industry is doing, there are bound to be a certain number of people who think this way. and a portion of those ppl would be professors or colleagues 17:00 < bridge> this is far weaker than the initial statement 17:00 < bridge> "there are also professors who think this is okay" 17:01 < bridge> <_voxeldoesart> javascipt is like, the only language im fluent in LOL 17:01 < bridge> It delays results though. Which is all that matters to bean counters and the new generation. A working MVP immediately that they tell themselves they will definitely improve on but never do 17:01 < bridge> english :owo: 17:02 < bridge> Who cares if one of our dependencies is pulling in a version of mongodb and another pulling in another making our bundle double the size. MVP needs to be out yesterday, why are you wasting time debugging that? 17:02 < bridge> <_voxeldoesart> yes thats what language i speak 17:04 < bridge> but well, it makes a bit of sense to want a working mvp to get money flowing rather than waiting to have that perfect software u may never reach while wasting funds 17:04 < bridge> its all a balance i guess 17:04 < bridge> and it depends a lot on how much ucan wait as a company 17:04 < bridge> today Ryozuki the capitalist 17:04 < bridge> tomorrow the comunbist 17:05 < bridge> tomorrow the comunist 17:05 < bridge> Money is a perverse incentive, it's almost always in conflict with good engineering 17:05 < bridge> yeah 17:05 < bridge> thats why free software is so good 17:05 < bridge> u can sense the dedication 17:05 < bridge> and the true craftsmanship 17:05 < bridge> kek 17:06 < bridge> ddnet :justatest: 17:06 < bridge> unfortunately it often isn't 😦 17:07 < bridge> <_voxeldoesart> if ppl got paid to program for ddnet then i bet itd be cooler 17:07 < bridge> depends 17:08 < bridge> well there is lots 17:08 < bridge> I never said no money incentive implies good software πŸ˜„ 17:08 < bridge> but good free software is usually better than the counterpart 17:08 < bridge> i like to believe blender is good 17:08 < bridge> xd 17:09 < bridge> Blender is excellent. If only their competition didn't have war chests the size of a small countries budget marketing their products 17:09 < bridge> hats! 17:09 < bridge> or loot boxes or whatever we call them these days 17:10 < bridge> We should cave and sell capes and colored names and hats 17:10 < bridge> today its battlepass 17:10 < bridge> every game has it 17:10 < bridge> valve created it 17:10 < bridge> i been playing diabl o4 17:10 < bridge> diablo 4 17:10 < bridge> it has battlepass xd 17:10 < bridge> <_voxeldoesart> :justatest: 17:10 < bridge> im at that point of tiredness that i'm hallucinating phone dings 17:11 < bridge> go sleep 17:11 < bridge> where 17:11 < bridge> no 17:11 < bridge> can't 17:11 < bridge> i go get coffee 17:11 < bridge> Sleep 17:11 < bridge> Can i have twerking twinbop for $9.99 17:11 < bridge> i need to fix my sleep schedule 17:11 < bridge> btw i got a rice cooker and i can say they are nice 17:11 < bridge> best way to lazy cook 17:11 < bridge> yea it was a game changer 17:11 < bridge> when i got mine 17:11 < bridge> suddenly i can make good dinner in 30 mins 17:11 < bridge> set up rice, halfway thru its cooking throw some chicken in the air fryer, basically 0 maintenance food 17:11 < bridge> and it's good 17:12 < bridge> i dont have air fryer 17:12 < bridge> but well i dont want one 17:12 < bridge> they're gret 17:12 < bridge> they're great 17:12 < bridge> do air fryer not use oil 17:12 < bridge> they can 17:12 < bridge> most stuff doesn't need it 17:12 < bridge> so its like cooking chicken on a pan with almost no oil? 17:12 < bridge> but some recipes advise u drizzle oil on there 17:12 < bridge> its what i do 17:12 < bridge> non stick pans 17:12 < bridge> yea they are without oil in nature 17:12 < bridge> i see 17:13 < bridge> is it healthier? 17:13 < bridge> xd 17:13 < bridge> well it has less oil than most other methods so yea 17:13 < bridge> it's just hot air 17:13 < bridge> i see maybe i get one 17:13 < bridge> it's sorta like microwave if it didn't make most food either too chewy or too hard in the worst ways possible 17:14 < bridge> <_voxeldoesart> what would ddnet battlepass even be like for an open source game 17:14 < bridge> air fryers are really nice 17:15 < bridge> if u want good tasting unhealthy food 🀣 17:17 < bridge> WTF 17:17 < bridge> trolled 17:17 < bridge> speaking of im gonna go throw something in 17:17 < bridge> me hungry 17:17 < bridge> sprays mabye idk. Would need to add them first though 17:19 < bridge> i threw in chicken nuggets 17:19 < bridge> not great but it's what we have 17:19 < bridge> i nuke some broccoli too 17:20 < bridge> <_voxeldoesart> i mean 17:20 < bridge> <_voxeldoesart> whats stopping ppl from making clients that bypass the payment system 17:20 < bridge> the server 17:21 < bridge> they would undoubtedly need to be on the same page about who paid 17:21 < bridge> accounts :justatest: 17:21 < bridge> which to do with any integrity would require accounts yea 17:21 < bridge> implement fortnite dances for tees 17:21 < bridge> <_voxeldoesart> true! 17:22 < bridge> <_voxeldoesart> ppl keep telling me that 17:22 < bridge> <_voxeldoesart> id love to but why 17:22 < bridge> just a joke 17:23 < bridge> what's stopping people from teleporting in maps? the same thing 17:25 < bridge> <_voxeldoesart> i mean the thing is i thought u meant battlepass as in "custom skins or weapons n stuff" 17:26 < bridge> that's still the same thing: other people won't see your cool skins by default unless you pay up 17:26 < bridge> just implement a system for weapon skins as we have for player skins and sell those πŸ€‘πŸ€‘ 17:26 < bridge> similar to other games 17:27 < bridge> people can ofc show themselves other skins 17:27 < bridge> but that doesn't seem to have the same effect on people 17:28 < bridge> <_voxeldoesart> i dont think ppl care about if others see them. why do you think ppl play with skins not on any database 17:28 < bridge> I estimate that less than 10% of the people do that 17:31 < bridge> <_voxeldoesart> still 17:31 < bridge> <_voxeldoesart> ppl are gonna fork ddnet to bypass these payment systems 17:32 < bridge> <_voxeldoesart> betterdiscord exists 17:32 < bridge> it wouldn't work on official servers tho 17:32 < bridge> <_voxeldoesart> i dont think ppl care 17:32 < bridge> no it would actually like not be possible 17:32 < bridge> <_voxeldoesart> i wouldnt 17:32 < bridge> yeah but the majority won't which is the point 17:32 < bridge> @patiga 17:32 < bridge> https://github.com/Jupeyy/dd-pg/tree/test5 17:33 < bridge> @patiga do u want to compile it too? 17:33 < bridge> or just look through the code 17:33 < bridge> don't use or read this code :kek: 17:33 < bridge> it's a mess 17:33 < bridge> just look through the code 17:33 < bridge> thanks! :) 17:34 < bridge> doesn't matter, you see people paying for discord nitro 17:34 < bridge> betas 17:35 < bridge> @patiga these are the map related things 17:35 < bridge> https://github.com/Jupeyy/dd-pg/tree/test5/game/client-render-base/src/map 17:35 < bridge> 17:35 < bridge> this is the "front end" stuff (stuff that isnt vk) 17:35 < bridge> https://github.com/Jupeyy/dd-pg/blob/test5/game/client-render-base/src/map/map.rs 17:36 < bridge> 17:36 < bridge> this is the stuff inside vk: 17:36 < bridge> https://github.com/Jupeyy/dd-pg/blob/test5/lib/graphics-backend/src/backends/vulkan/vulkan.rs#L325-L361 17:36 < bridge> this project is huge o.o 17:36 < bridge> yes 17:36 < bridge> it has grown quite a bit already 17:36 < bridge> and still i am only at like 40% vanilla xd 17:36 < bridge> <_voxeldoesart> tf 17:36 < bridge> <_voxeldoesart> is this trying to be the image splitter thing 17:37 < bridge> https://github.com/Jupeyy/dd-pg/tree/test5/game/client-extra/src 17:37 < bridge> holy shit you're about to get sued 17:37 < bridge> here are the splitters xD 17:37 < bridge> "only 40%" 17:38 < bridge> so you are basically reimplementing the entire ddnet codebase? or what is the project? ^^ 17:38 < bridge> i'd say i reimplement teeworlds, but keep racing in mind 17:38 < bridge> but i didn't really implement any ddnet physics related stuff yet 17:39 < bridge> rustworlds? 17:39 < bridge> xd 17:39 < bridge> for voxel our rust fan 17:40 < bridge> <_voxeldoesart> mine is still better because i made it myself.... 17:40 < bridge> <_voxeldoesart> and also reorganized everything 17:42 < bridge> you are crazy @jupeyy_keks :D 17:43 < bridge> <_voxeldoesart> its gonna be a metaverse type thing where it shills rust everywhere like its the next blockchain update or smth 17:44 < bridge> erm 17:44 < bridge> rust is a strong modern language with amazing features centered around safety and security πŸ€“ 17:46 < bridge> if u want serious WASM support u have like c++ or rust as choices 17:46 < bridge> what do you think about an option in settings which allow to sync main tee color and dummy :thonk: 17:46 < bridge> so why waste time using c++ again 17:47 < bridge> I have no idea 17:47 < bridge> i think copy/paste color code button would be nice 17:48 < bridge> <_voxeldoesart> because ddnet used c++ and how else was i supposed to make updates 17:48 < bridge> rustworlds.io??? 17:48 < bridge> @teero777 try this 17:49 < bridge> u take the cross product of green 17:49 < bridge> 17:49 < bridge> then u take the cross product of any vec, and the dot product with green 17:50 < bridge> 17:50 < bridge> the closer the dot product is to 1 the closer the vec 17:50 < bridge> 17:50 < bridge> with the cross products of the "any" vec and green vec u can see if it's left or right 17:50 < bridge> if the dot product of these cross products is positive its left, else right 17:50 < bridge> i think xdd 17:50 < bridge> convert to polar and sort by angle 17:50 < bridge> xdd the next io game 17:51 < bridge> i wanted to give him a solution without sin, cos etc. 17:52 < bridge> i dunno, i find rust not MUCH harder than cpp 17:52 < bridge> didnt know in ddnet there's fav skin feature xD 17:52 < bridge> i see 17:52 < bridge> seems tricky 17:53 < bridge> but did u know u can skip the main menu 😬 17:54 < bridge> i bet nobody here knows all features of ddnet 17:54 < bridge> i read about it before 17:54 < bridge> <_voxeldoesart> i guess but thats only because i i only know how to copypaste other code from ddnet to make things 17:54 < bridge> <_voxeldoesart> i guess but thats because i i only know how to copypaste other code from ddnet to make things 17:54 < bridge> xddd 17:57 < bridge> "ddnet in a nutshell", as zogtib would say xD 17:58 < bridge> that's why i introduced a clear hierarchy 17:58 < bridge> <_voxeldoesart> ddnet's the Most Fun to program idk why 17:58 < bridge> to prevent this from happening again in such a mess style 17:59 < bridge> ddnet is not fun to write code for πŸ’€ 17:59 < bridge> <_voxeldoesart> i tried finding other open source games but none are rly good looking 18:00 < bridge> 0ad 18:00 < bridge> Can't think rn 18:00 < bridge> Gonna screenshot that and think about it tmrw. thx 18:04 < bridge> @jupeyy_keks did u feel job dev burnout yet 18:04 < bridge> it's ez to understand if u visualize what i'm doin xd 18:04 < bridge> want my honest or my humble answer? 18:05 < bridge> brain is split in half 18:05 < bridge> yeah 18:05 < bridge> i feel like today has been rly stressful for me xD 18:05 < bridge> such a programmer answer to my question xD 18:05 < bridge> I SEE "OR" 18:05 < bridge> xD 18:07 < bridge> have you seen mindustry? its neat :) 18:07 < bridge> question is, was it stressful but u still did a lot? 18:07 < bridge> 18:07 < bridge> or was it stressful and u still didnt achieve anything 18:07 < bridge> <_voxeldoesart> i tried playing that but dropped out of it 18:07 < bridge> ozu laser is also supposedly good ^^ 18:07 < bridge> don't lure him away from tw :pepeW: 18:08 < bridge> in Veloren you probably have the most freedom, since could influence the direction where the game is going 18:08 < bridge> mindustry only makes fun for 1 day anyway xD 18:08 < bridge> I like to encourage coding :D 18:09 < bridge> veloren is cool but barebones for sure 18:09 < bridge> <_voxeldoesart> you meant osu right? or 18:09 < bridge> unfortunately i couldnt really make my character a cute girl so i didnt play for too long 18:09 < bridge> true, but visually its nice. zooming out is amazing 18:09 < bridge> i did a lot i think but the stress lingers 18:10 < bridge> the problem with me is i think im someone who gets too involved in stuff 18:10 < bridge> could simply be a bad day or week 18:10 < bridge> 18:10 < bridge> if u start doing less, then u in the burn out 18:10 < bridge> so im also then the one on the receiving end if something is not that ok 18:10 < bridge> because i talk a lot 18:10 < bridge> xd 18:10 < bridge> <_voxeldoesart> veloren was the case study for what i meant by "none looked fun" 18:10 < bridge> there is an easy fix for that 18:10 < bridge> <_voxeldoesart> ryozuki tried to reccomend but it looked boring and grindy 18:11 < bridge> i just mentioned it 18:11 < bridge> it looks boring indeed 18:11 < bridge> i played it for 1 day xd 18:11 < bridge> its hard to make nice gameplay loops 18:11 < bridge> but it is boring after a while 18:11 < bridge> u need game designers for that not engineers 18:11 < bridge> but beautiful xd 18:11 < bridge> dw it's boring. I liked to find exploits in it though 18:11 < bridge> the zooming is epic xd 18:11 < bridge> i did it like every 5 minutes 18:11 < bridge> just to doit 18:11 < bridge> just to do it 18:12 < bridge> it really is addicting 18:13 < bridge> apparently osu lazer 18:13 < bridge> didn't remember where the z goes ^^ 18:13 < bridge> <_voxeldoesart> i dont rly like osu :justatest: 18:14 < bridge> fun times xD 18:14 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1166046941814202408/Haw2.mp4?ex=654910d7&is=65369bd7&hm=7f8fee6c8a3d4c4b503858d8d1903885957b0fd1a3c8fb59b38cdc561bdc9ae1& 18:14 < bridge> ghosy the minecraft king also pro in other survival games 18:14 < bridge> xdd 18:15 < bridge> iirc server is not open source 18:15 < bridge> @jupeyy_keks u didnt answer 18:15 < bridge> a yes to an OR question means yes to both 18:16 < bridge> <_voxeldoesart> me when cyberfighter forces me to grind in xpanic 18:17 < bridge> no xD 18:17 < bridge> it means at least one condition is true 18:17 < bridge> xd 18:17 < bridge> tell me honest then 18:18 < bridge> i never really took my job serious enough to call it burnout, but i guess u could say that is already some kind of burnout xD 18:18 < bridge> 18:18 < bridge> i find my job rather boring 18:19 < bridge> i guess my problem is i think of it now as i depend on it 18:19 < bridge> before i lived alone iwas like ye idc 18:19 < bridge> oh yeah 18:19 < bridge> but now i have the little fear of losing my job and since i live alone it can be a problem 18:19 < bridge> i can certainly believe that is one problem 18:20 < bridge> i currently luckely have no money problem 18:20 < bridge> its mainly what stresses me out when smth troublesome happens 18:20 < bridge> so i feel rather safe 18:20 < bridge> i mean i also have savings 18:20 < bridge> and i get daily offers on linkedin 18:20 < bridge> i think im safe 18:20 < bridge> but u never know xd 18:20 < bridge> anyway 18:20 < bridge> i can ensure u it's normal 18:21 < bridge> i had serious burnouts in the past. then u really can't work on anything anymore 18:23 < bridge> <_voxeldoesart> safe? rust refere 18:23 < bridge> ic 18:23 < bridge> yeah thanks rust, our lord and savior 18:24 < bridge> read my bio 18:24 < bridge> "Now i am become Rust, Destroyer of Unsafe code" 18:24 < bridge> amazing 18:24 < bridge> <_voxeldoesart> yea yea 18:24 < bridge> <_voxeldoesart> im immovable 18:25 < bridge> @_voxeldoesart good, nice we get closer 18:25 < bridge> now the opposite 18:25 < bridge> apparently there's a third-party server impl: https://github.com/osuAkatsuki/bancho.py 18:25 < bridge> u can move 18:25 < bridge> (TIL) 18:25 < bridge> like rust variables, immutable by default 18:25 < bridge> xd 18:26 < bridge> voxel is pinned 18:26 < bridge> mutable by default is a mistake 18:26 < bridge> like null pointers 18:26 < bridge> yeah 18:26 < bridge> generally 18:26 < bridge> 18:26 < bridge> if it exists, it should exist 18:26 < bridge> null pointers are only good for niche optimization, that u dont need to care about 18:26 < bridge> less Option = less code to check for 18:27 < bridge> btw if u know a value wont ever be 0 18:27 < bridge> and u have a option 18:27 < bridge> use Option 18:27 < bridge> then it will occupy same space as a u64 18:27 < bridge> ez 18:27 < bridge> ``` 18:27 < bridge> use std::mem::size_of; 18:27 < bridge> assert_eq!(size_of::>(), size_of::()); 18:27 < bridge> ``` 18:27 < bridge> https://doc.rust-lang.org/std/num/struct.NonZeroU64.html 18:27 < bridge> ez optimizations 18:28 < bridge> maybe i can actually use it in one place 18:28 < bridge> that abstraction is unfortunately a bit annoying to work with 18:28 < bridge> and it only works for 0 18:30 < bridge> @heinrich5991 check this hack 18:30 < bridge> https://docs.rs/nonmax/0.5.3/nonmax/ 18:30 < bridge> it works 18:30 < bridge> ``` 18:30 < bridge> /// Creates a new non-max if the given value is not the maximum 18:30 < bridge> /// value. 18:30 < bridge> #[inline] 18:30 < bridge> pub const fn new(value: $primitive) -> Option { 18:30 < bridge> match core::num::$non_zero::new(value ^ $primitive::MAX) { 18:30 < bridge> None => None, 18:30 < bridge> Some(value) => Some(Self(value)), 18:30 < bridge> } 18:30 < bridge> } 18:30 < bridge> ``` 18:30 < bridge> xd 18:31 < bridge> they do the complement 18:31 < bridge> <_voxeldoesart> to what 18:31 < bridge> and u can swap 0 to the value yo uwant 18:31 < bridge> in this case its MAX 18:31 < bridge> xd 18:31 < bridge> that comes with a perf penalty, unfortunately 18:31 < bridge> rust might eventually support that without the perf penalty, I think 18:32 < bridge> it's currently implemented in nightly, I think 18:32 < bridge> yeah but i think its rly small 18:32 < bridge> i think the argument was that its rly rare to use this 18:32 < bridge> to support it 18:35 < bridge> https://doc.rust-lang.org/std/sync/struct.Exclusive.html 18:35 < bridge> lol 18:35 < bridge> async related 18:35 < bridge> so u cannot be moved 18:36 < bridge> immoveable 18:36 < bridge> <_voxeldoesart> yea thats what i said 18:36 < bridge> hmm, interesting 18:36 < bridge> just what u wanted xd 18:36 < bridge> voxel is a `Pin>` 18:36 < bridge> <_voxeldoesart> and how does this benefit you 18:36 < bridge> @_voxeldoesart we teach u rust 18:36 < bridge> https://doc.rust-lang.org/stable/std/pin/index.html 18:36 < bridge> <_voxeldoesart> ew what the fuck? 18:36 < bridge> <_voxeldoesart> rust dyns in fng? 18:36 < bridge> <_voxeldoesart> f3 18:36 < bridge> 😬 18:37 < bridge> https://github.com/rust-lang/rust/issues/98407 18:38 < bridge> i wish u could remove only the embed image 18:38 < bridge> but keep text 18:38 < bridge> <_voxeldoesart> you mean the pfp? 18:38 < bridge> `rustc_layout_scalar_valid_range_{start,end}` 18:38 < bridge> just the summary text 18:39 < bridge> that's what's used to implement the niches @ryozuki 18:39 < bridge> ic 18:39 < bridge> interesting, `Option` is also 4 byte 18:40 < bridge> <_voxeldoesart> rust feels like one of those things where you HAD to have been programming since 2017 with it (before it blew up) to make anything in it 18:40 < bridge> i'd say the opposite 18:40 < bridge> it's slowly getting usable 18:40 < bridge> for a wider range of ppl 18:41 < bridge> ah it can only be used in compiler code yet 18:42 < bridge> #![allow(internal_features)] 18:42 < bridge> #![feature(rustc_attrs)] 18:42 < bridge> requires this 18:42 < bridge> `File` uses `-1` as the niche on linux πŸ™‚ 18:45 < bridge> <_voxeldoesart> oh yea i found the linux github page yesterday 18:45 < bridge> <_voxeldoesart> some of the prs are so golden 18:46 < bridge> linux isn't developed on github AFAIK 18:46 < bridge> so it'd just be a mirror 18:46 < bridge> yes but everything is mirrored yes 18:46 < bridge> i.e. the PRs aren't getting looked at 18:46 < bridge> <_voxeldoesart> oh 19:24 < bridge> Hi looking to build DDNet client on windows, any guide available other than the really limited one on the GitHub ? 19:25 < bridge> there's also one in the forums 19:25 < bridge> I think it might be outdated though 19:25 < bridge> https://forum.ddnet.org/viewtopic.php?t=5765 19:25 < bridge> if you have problems, post them 19:40 < bridge> Linux does not use pull requests at all 19:40 < bridge> They use a mailing list and patches 19:41 < bridge> <_voxeldoesart> bro u gotta mail your update?? πŸ’€ 19:41 < bridge> Old ppl 19:41 < bridge> <_voxeldoesart> fair 19:42 < bridge> <_voxeldoesart> i can only imagine you storing your changed code in an usb stick and physically mailing it to linus 19:43 < bridge> email 19:43 < bridge> <_voxeldoesart> oh yea 19:43 < bridge> <_voxeldoesart> forgot emails were a factor 19:43 < bridge> πŸ”₯ 19:43 < bridge> <_voxeldoesart> idk physical mail sounded more fitting for such a niche 19:44 < bridge> it’s tha way 19:46 < bridge> how to build a portal in ddnet? 19:47 < bridge> portal? 19:47 < bridge> yes 19:47 < bridge> wdym 19:47 < bridge> there are teleports already 19:47 < bridge> Portal like in Minecraft? 19:48 < bridge> I can't find 19:49 < bridge> you should redirect mapping questions to #mapping 19:49 < bridge> Ok 20:23 < bridge> Im not sure if this is the right channel but I have a quick question to someone who knows cryptography. Is AES-GCM still a save solution to encrypt passwords? Or is there a newer and better mode/algorithm? 20:24 < bridge> encrypt passwords for? 20:24 < bridge> a database? 20:24 < bridge> a packet? 20:24 < bridge> a database 20:25 < bridge> then it was never a secure solution 20:25 < bridge> πŸ™ 20:25 < bridge> xD 20:26 < bridge> not?? 20:26 < bridge> what you want is a hash function i guess 20:26 < bridge> with a salt 20:26 < bridge> nono it has to be recoverable 20:26 < bridge> no 20:26 < bridge> no 20:27 < bridge> no 20:27 < bridge> no:banhammer: 20:27 < bridge> xD 20:27 < bridge> I want to see them later. 20:27 < bridge> nope 20:27 < bridge> no 20:27 < bridge> ur asking for bad practises 20:27 < bridge> we dont do that here 20:27 < bridge> Oh for your own passwords? 20:27 < bridge> altho we do c++ 20:27 < bridge> :justatest: 20:28 < bridge> Like as in a password manager? 20:28 < bridge> And rust? 20:28 < bridge> good 20:28 < bridge> I need to store them so I can see tham later. 20:28 < bridge> y es 20:28 < bridge> surely for his own 20:28 < bridge> 20:28 < bridge> yeah yeah, i also store your paypal password with symmetric encryptions 20:30 < bridge> if you're just trying to keep passwords out of people's view, you might just base64-encode them 20:30 < bridge> noooooooo 20:30 < bridge> no 20:30 < bridge> otherwise the next question will be why the key for the encryption is safer than your password 20:30 < bridge> For a password manager kind of application aes gcm is fine 20:30 < bridge> i.e. what are you trying to do? 20:31 < bridge> yes Im trying to do similar stuff like a password manager 20:31 < bridge> I would also put a slow kdf in the middle, like argon2 20:32 < bridge> yeah sure 😏 20:32 < bridge> I think argon2id is what’s popular nowadays 20:32 < bridge> ("where are you getting your encryption key from?") 20:32 < bridge> ? 20:32 < bridge> 😏 20:32 < bridge> answer this 20:33 < bridge> this is important 20:33 < bridge> yes i use that 20:33 < bridge> https://en.wikipedia.org/w/index.php?title=Key_derivation_function&oldid=1169865879#Password_hashing says OWASP says argon2id 20:34 < bridge> so I should use that to generate the encryption key of the master key? 20:35 < bridge> what do you want to use for encryption? is it a password? is it randomly generated data? 20:35 < bridge> if you want to use a password as a key, then yes, such a key derivation function is the way to go 20:35 < bridge> good 20:35 < bridge> thats what i want 20:36 < bridge> if you use randomly generated data, then no, don't use the derivation function 20:36 < bridge> if you use randomly generated data, then no, don't use the key derivation function 20:36 < bridge> cuz? 20:36 < bridge> Just interested 20:36 < bridge> No more secure 20:36 < bridge> takes a second to derive 20:36 < bridge> useless time spent 20:36 < bridge> doesn't improve security 20:37 < bridge> yeah sure cuz its already secure random 20:37 < bridge> ok ok 20:37 < bridge> ty 20:37 < bridge> We use KDFs to stretch our short passwords into the required size in a slow way 20:37 < bridge> You can already generate however many bits needed randomly, so no need to stretch 20:38 < bridge> (and if you have 128 bits, you can stretch that to as many bits as you want, without a kdf) 20:39 < bridge> thanks that helped a lot 20:39 < bridge> @trexic what are u coding 20:40 < bridge> DDNet bot, but with AES-GCM 20:41 < bridge> @trexic r u on windows? 20:41 < bridge> ye 20:41 < bridge> did u ever have problems compiling ddnet? 20:41 < bridge> no 20:41 < bridge> mhh 20:41 < bridge> weird 20:41 < bridge> xd 20:41 < bridge> hahahaha 20:41 < bridge> @jupeyy_keks u troll xddd 20:41 < bridge> i recently compiled it? 20:42 < bridge> @trexic so wanna leak what u doin 20:42 < bridge> It worked for me after a few tries 20:42 < bridge> or prefer to keep secret 20:42 < bridge> hmm?? 20:42 < bridge> is anything wrong that it worked? xD shouldnt it? 20:42 < bridge> no 20:42 < bridge> i mean, do you want to share what u coding 20:42 < bridge> i mean u ask in ddnet dev chat 20:43 < bridge> so i assume it's ddnet related? 20:44 < bridge> yes ik that im writing to ddnet channel. Thats also why I asked if this is the right channel for that question. No its not for ddnet. It was a general coding question for some projects 20:44 < bridge> i c 20:44 < bridge> i mean that's not forbidden, was just curious 20:45 < bridge> the forbidden questions.... 20:45 < bridge> :Frog087: 20:45 < bridge> it's okay to ask non-ddnet-related programming questions in this channel 20:45 < bridge> gtk 20:45 < bridge> tho other discords might be more appropriate for some questions 20:46 < bridge> hmm 20:46 < bridge> hard to find some guys which answe that fast 20:46 < bridge> also most of them had no idea of crypto 20:52 < bridge> yeah ddnet is elite chat anyway 😬 20:52 < bridge> half of rust community is here 20:52 < bridge> then a guy that knows the c spec by heart 20:52 < bridge> make that two 20:52 < bridge> O.O 20:52 < bridge> u too? 20:52 < bridge> not me 20:52 < bridge> zogtib 20:53 < bridge> ah 20:55 < bridge> I am just the middleman xD 20:55 < bridge> u the machine learning guy 20:55 < bridge> xD 20:55 < bridge> together with gerdoe 20:55 < bridge> and Tater 20:55 < bridge> Tater is already shader guy xd 20:55 < bridge> Tater is machine learning guy? 20:55 < bridge> :justatest: 20:56 < bridge> teero is TAS guy 20:56 < bridge> xd 20:56 < bridge> xd 20:56 < bridge> New automatic TAS generator coming soonℒ️ 21:06 < bridge> <_voxeldoesart> i gotta make more ddnet shader concepts when i get home 21:06 < bridge> hyper realistic teeworlds :poggers2: 21:07 < bridge> The tee will have simulated hair 21:07 < bridge> The tees will have simulated hair 21:07 < bridge> haha imagine some ropes sticking out of a tee on top acting like hair xdd 21:07 < bridge> no need to optimize dnet when u can implement DLSS 3 & FSR 21:08 < bridge> no need to optimize ddnet when u can implement DLSS 3 & FSR 21:08 < bridge> :giga_chad: 21:09 < bridge> <_voxeldoesart> interactive skins would be awesome 21:09 < bridge> <_voxeldoesart> but hard to impliment 21:11 < bridge> softbody tees xd 21:11 < bridge> You could use some library but that would probably be bloat 21:14 < bridge> <_voxeldoesart> im gonna make a ddnet client that has an overengineered skins system 21:14 < bridge> <_voxeldoesart> features include: more faces, flipped bodies, layered skins, maybe a tail, maybe a hat, maybe an animated segment 21:14 < bridge> great 21:15 < bridge> just gotta learn rust 21:20 < bridge> <_voxeldoesart> ddnet uses python and c++ 21:20 < bridge> <_voxeldoesart> no need to learn rust for smth like that 21:21 < bridge> It is very essential 21:21 < bridge> but then u bloat the client instead of using the awesome WASM API 21:21 < bridge> also pls remove python xd 21:21 < bridge> that's an insult to ddnet 21:21 < bridge> Replace with bash πŸ’€ 21:27 < bridge> <_voxeldoesart> ok then replace all python files 21:27 < bridge> yes pls 21:27 < bridge> <_voxeldoesart> when u do that, only then will i start to learn it 21:28 < bridge> 😬 21:28 < bridge> heinrich is huge pyson fan sadly 21:28 < bridge> and deen likes it too 21:28 < bridge> no one needs checksum generation anyways :banhammer: 21:34 < bridge> <_voxeldoesart> that sucks 21:39 < bridge> <_voxeldoesart> speaking if which 21:39 < bridge> <_voxeldoesart> what does rust in the ddnet code even do rn 21:40 < bridge> <_voxeldoesart> sorry goldfish memory 21:40 < bridge> ddnet uses rust too 21:40 < bridge> <_voxeldoesart> read 21:40 < bridge> well nothing xD 21:40 < bridge> the master srv is in rust 21:42 < bridge> <_voxeldoesart> LOL 21:42 < bridge> <_voxeldoesart> ok well the master srv 21:42 < bridge> <_voxeldoesart> ok 21:42 < bridge> <_voxeldoesart> i dont touch the master srv so 21:43 < bridge> https://github.com/search?q=repo%3Addnet%2Fddnet++language%3ARust&type=code 21:43 < bridge> <_voxeldoesart> ok? 21:43 < bridge> 4sec extra compile times is the current feature of the rust code 21:43 < bridge> 😬 21:44 < bridge> and the rust code can detect bot creators 21:44 < bridge> 😬 😬 21:49 < bridge> <_voxeldoesart> 😬😬😬😬😬 21:51 < bridge> <_voxeldoesart> like im *interested* but i dont wanna become a cult member 22:14 < bridge> you are member of anti-rust cult tho 22:14 < bridge> hm 22:14 < bridge> actually you are anti-ryo cult member 22:20 < bridge> <_voxeldoesart> sounds about right 22:20 < bridge> <_voxeldoesart> like id LEARN rust if it meant i got something out of it 22:21 < bridge> you first need to know what you wanna do 22:21 < bridge> then you will code it 22:24 < bridge> <_voxeldoesart> i did want to make an adobe animate mirror that offered better QoL features and overall a better experiencr 22:24 < bridge> <_voxeldoesart> i did want to make an adobe animate mirror that offered better QoL features and overall a better experience 22:24 < bridge> <_voxeldoesart> since .fla files are just zip files under the hood 22:27 < bridge> so here you go 22:27 < bridge> take rust, learn .fla format and so on xd 22:28 < bridge> looks hard tho 22:28 < bridge> for me atleast, have never used adobe animate 22:30 < bridge> <_voxeldoesart> i mean most of the fla is in json format 22:31 < bridge> here you go then xd 22:31 < bridge> fla 22:32 < bridge> @_voxeldoesart i kinda want to see all ur ideas xd 22:32 < bridge> <_voxeldoesart> yea afobe animate used to be adobe flash 22:32 < bridge> <_voxeldoesart> i am at work i will dump all of my ideas later 22:32 < bridge> but probably frame dependent? 22:32 < bridge> <_voxeldoesart> i have too many 22:32 < bridge> me2 22:32 < bridge> never ending story 22:32 < bridge> <_voxeldoesart> i think flash was always frame dependant 22:32 < bridge> mhh that ofc always sucks xd 22:33 < bridge> <_voxeldoesart> true 22:33 < bridge> <_voxeldoesart> especially if you're trying to sync to a song 22:33 < bridge> teeworlds dance challenge 22:33 < bridge> omg 22:33 < bridge> nice 22:33 < bridge> <_voxeldoesart> like i know HOW TO do teeworlds animation now 22:33 < bridge> <_voxeldoesart> but the system is so jank 22:33 < bridge> <_voxeldoesart> ................... 22:33 < bridge> <_voxeldoesart> i still need to program a osudeo accurate teeworlds pose editor 22:34 < bridge> <_voxeldoesart> ................... 22:34 < bridge> <_voxeldoesart> i still need to program a psudeo accurate teeworlds pose editor 22:34 < bridge> yeah rip xd 22:37 < bridge> so can C++ 😬 22:43 < bridge> <_voxeldoesart> teero replace the rust code with the cpp code then 22:43 < bridge> <_voxeldoesart> :troll: 22:45 < bridge> still waiting for carbon 23:10 < bridge> carbon sucks