01:00 < bridge> I think the ranked system needs an overhaul. It would be very nice if ranks 100-1 would yield in points for the ladder, to have a better defined ladder and allow new people to compete. At this point of time your either have to grind annoying maps to even get ranked points or beat people with over 10 years of experience to get some measely 4 ranked points etc. Would be way cooler if a rework came through, it would also have the effect that skill lev 01:09 < bridge> there was a rework in the past but it had some weird formula and people complained 01:10 < bridge> it had to do with a ratio of the # of finishes or the time of the finishes or something along those lines 01:10 < bridge> i think it felt unbalanced to some people 06:45 < bridge> you are describing unique points system? 06:45 < bridge> or atleast it sounds like it 06:45 < bridge> * https://uniqueclan.net/ranks#points-calculation 07:36 < bridge> What version of OpenGL teeworlds use? 07:39 < bridge> Theoretically it requires at least 2.0 08:45 < bridge> Practically opengl 1.2 with support for npot textures 08:50 < bridge> looks reasonable, but I probably would design it a bit differently, cool project tho! Dealing with people bot having finished all maps is a problem i havent thought about yet tho 08:54 < bridge> interesting, though i could imagine the people complaining were the top20 players, not the avg player 09:12 < bridge> @gumbatw which servers are you even taking about xd 09:13 < bridge> Ddnet? 09:13 < bridge> yes 09:14 < bridge> You can ofc connect opinions here, but if u want to have changes u should also discuss this on github 09:14 < bridge> Collect* 09:16 < bridge> devs when the challenge is to not make someone discuss something on github (impossible) 09:17 < bridge> on github it will not be lost like here 09:17 < bridge> yeah, just wanted to animate people to think about it, if I have a more solid model I'll show it. Just had the feeling that some really good players don't getthe credit they deserve 09:17 < bridge> Also not everyone follows dev chat all the time xd 09:17 < bridge> cyberfighter trying not to meme (impossible) 09:17 < bridge> I haven't seen the discussion before xd 09:17 < bridge> i personally like unique formula 09:17 < bridge> totally not because im part of unique 09:39 < bridge> yea I think ranks are most indicative of real skill anyway 09:39 < bridge> as opposed to just clears 09:39 < bridge> you can grind a crazy map for 48 hours and you still deserve those points but not as much as someone who has already put in the work to beat it in 20 minutes 09:40 < bridge> to be able to beat it in 20 mins i should say 10:04 < bridge> i immediately stopped caring about ranks because of lag lol 10:04 < bridge> even worse if its server lag/ddos 10:50 < bridge> i came for the right moment: 10:50 < bridge> peak chillerdragon moment 11:58 < ChillerDragon> dude mutt is so pog 11:58 < ChillerDragon> one day ill ditch gnome 11:58 < ChillerDragon> and replace it with tty + tmux 12:20 < bridge> chillerdragon: what kind of mod do you want to develop? 12:42 < ChillerDragon> i am currently working on gctf/ictf/zcatch https://github.com/ZillyInsta/ddnet-insta 12:42 < ChillerDragon> but would also use it for ddnet++ some day i guess 12:42 < ChillerDragon> and literally every server mod i work on since they are all ddnet based 13:23 < bridge> Gnome :cammostripes: 13:37 < bridge> @jupeyy_keks is there any, any reason at all to not wrap both `Device` and `Queue` in an `Arc`? 13:39 < bridge> I'm not sure what exactly you are asking. The queue can simply be part of the device tbh. It lives when the device lives 13:41 < bridge> They don't have a cleanup at least in Vulkan 13:41 < bridge> That's what I mean 13:41 < bridge> calls to any queue related operation must be externally locked 13:48 < bridge> (with gpu struct I mean something that holds pointers or whatever to buffers on the gpu) 13:48 < bridge> whenever I create any gpu struct, be it something that holds vertex data or texture storages, they need a device, sometimes queue to do stuff. 13:48 < bridge> when I do methods on them like add_texture or whatever, they need the queue again. alternatively, they could simply get an `Arc` and never have to ask for it again. 13:48 < bridge> so far, I haven't used `Arc`s, but am starting to think that using them would reduce the amount of function parameters everywhere and improve my sanity a little 13:48 < bridge> now in my texture storage, I find that I'll need to create many bind groups (I think descriptor sets in vulkan) for each new texture. either when the texture is newly added or live during rendering. 13:48 < bridge> however, each bind group will also need to contain an entry for both the sampler and the gpu camera buffer. both of those would *also* just work fine in an `Arc`, since pretty much everything gpu-related only need immutable references. so basically I'm currently thinking about throwing around `Arc`s and wondering if that is commonly done ^^ 13:49 < bridge> hm iirc, in the vulkan ray tracing project I did once, I also threw around `Arc`s a lot, maybe it is simply a good idea to do so 13:52 < bridge> <_voxeldoesart> same 13:53 < bridge> i am generally not against Arc, so i think you have a point here. 13:53 < bridge> 13:53 < bridge> What I'd wish Arcs could do, and probably i will work on that too some time, 13:53 < bridge> is have a way to define the hierarchy of you structs in a way that it can only have properties that actually outlive your object, at compile time 13:53 < bridge> 13:53 < bridge> This would lead to clean code imho 13:55 < bridge> another thing i dislike about Arc, tho in your case it almost doesn't matter. 13:55 < bridge> 13:55 < bridge> It can quickly lead to many small heap allocations. 13:55 < bridge> 13:55 < bridge> I am still thinking about custom allocators for this scenario also for my project 13:55 < bridge> <_voxeldoesart> what code section inside of ddnet do you think is the messiest? 13:55 < bridge> ALL of the server code 13:55 < bridge> i really dislike working/implementing/reading it xD 13:56 < bridge> <_voxeldoesart> yeah fair 13:56 < bridge> <_voxeldoesart> the list of net packages are mega jank 13:57 < bridge> network code, ddrace logic 13:57 < bridge> 13:57 < bridge> the way it handles gamecontrollers 13:57 < bridge> if you ask me, it could be designed much cleaner 13:57 < bridge> 13:57 < bridge> but it's hard without breaking physics 😄 14:02 < bridge> btw since you said most GPU calls take a reference only... 14:02 < bridge> 14:02 < bridge> could they maybe have clone implemented already? 14:02 < bridge> maybe it uses Arcs internally 14:02 < bridge> do you create/update your descriptor sets on the fly or in advance? I don't have enough overview over dd-pg yet and in ddnet it doesn't look like you select a texture at all? xd 14:02 < bridge> https://github.com/ddnet/ddnet/blob/55098cd3132c94f65f02a4fc2081dbfd27f9e1aa/src/engine/client/backend/vulkan/backend_vulkan.cpp#L3460C124-L3460C136 14:02 < bridge> like srsly, I don't understand where the texture is selected o.o 14:03 < bridge> selected = used for the pipeline? 14:03 < bridge> yes 14:04 < bridge> didnt u send the link where it happens 😂 14:04 < bridge> yes i prepare descriptor sets in advance 14:04 < bridge> they don't, sadly 14:04 < bridge> in the call i mentioned i only want to allow 2 texture binding points 14:04 < bridge> maybe u remember xd 14:04 < bridge> but yes, they **do** use `Arc`s internally xd 14:04 < bridge> ah weird 😄 14:05 < bridge> `Arc`-ception 14:05 < bridge> arception 14:05 < bridge> yes, but there it doesn't seem to change per-sprite 14:06 < bridge> at least my eyes don't see it :d 14:08 < bridge> well you gotta understand that the execbuffer is kind of a helper class for commands 14:08 < bridge> 14:08 < bridge> so the sprite changing happens at command level already 14:08 < bridge> here it simply uses the descriptor set that is filled to the execution helper class 14:08 < bridge> 14:08 < bridge> which represents a single command a.k.a single draw call 14:08 < bridge> oho, then that makes more sense to me ^^ 14:09 < bridge> awesome, then I can't blame my eyes all that much, after all 14:09 < bridge> https://github.com/ddnet/ddnet/blob/55098cd3132c94f65f02a4fc2081dbfd27f9e1aa/src/engine/client/backend/vulkan/backend_vulkan.cpp#L6758 14:17 < bridge> how do arcs make heap allocs? 14:18 < bridge> at creation time 14:18 < bridge> ? 14:18 < bridge> my point is also not heap allocation itself 14:18 < bridge> 14:18 < bridge> but the size of it 14:18 < bridge> ah i guess it needs to be in heap yeah 14:19 < bridge> how is it bigger? 14:19 < bridge> i think its just an atomic counter 14:19 < bridge> no, i mean 14:19 < bridge> 14:19 < bridge> u cant like create a vector of arcs 14:19 < bridge> 8bytes? 14:19 < bridge> u know. it's 1 arc = 1 heap alloc 14:19 < bridge> not contagious storage 14:19 < bridge> is it called like that? xd 14:20 < bridge> why vec of arca 14:20 < bridge> make arc with a vec 14:20 < bridge> bra 14:20 < bridge> why vec of arcs 14:20 < bridge> i mean like malloc(sizeof arc * 1000) 14:20 < bridge> ok 14:20 < bridge> delete all i said 14:21 < bridge> <_voxeldoesart> malloc scares me 14:21 < bridge> I'm confused 14:21 < bridge> xd 14:21 < bridge> what i mean is: 14:21 < bridge> 14:21 < bridge> u have 10000 allocations 14:21 < bridge> u want to keep track of them 14:21 < bridge> 14:21 < bridge> if u use vec => one huge heap allocation 14:21 < bridge> if u use arcs inside a vec => many small heap allocations + vec allocation 14:21 < bridge> u can't really reuse the storage 14:22 < bridge> if an arc is gone, the storage will be free'd 14:23 < bridge> but anyway, it's not a really huge deal, heap allocations are not ultra slow, it's just something i know i could prevent because i can estimate in my case how many arcs there will be 14:23 < bridge> if you still don't understand, call my lawyer 14:25 < bridge> LOL 14:26 < bridge> :troll: :troll: :troll: 14:26 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1174701990719275058/image.png?ex=65688d7b&is=6556187b&hm=af1483e5d68f263f8f8a7894e57485ac5f5dac59dbd492552e0aedfe24402521& 14:26 < bridge> kog :troll: 14:30 < bridge> wasnt it also in the kog tab before. what is so funny about it 14:32 < bridge> @ryozuki today is TFVK 14:32 < bridge> thursday for vk 14:32 < bridge> 14:32 < bridge> where is ur vk question xd 14:44 < bridge> I have one but for opengl xD 14:46 < bridge> I am trying to use multiple textures but I'm failing 14:48 < bridge> here's is the source if you'd be so kind as to take a look ^^ 14:49 < bridge> could u point me to the draw call? xd 14:49 < bridge> yeah sure 14:50 < bridge> here 14:50 < bridge> i assume opengl 3.3? 14:51 < bridge> yeah 14:51 < bridge> looks like u forgot to bind a sampler to that slot, or was it done somewhere else? 14:51 < bridge> hmm doesn't this do that ```c 14:52 < bridge> if ((!loadimage(&textures[0], "data/textures/clown.png"))) { 14:52 < bridge> fprintf(stderr, "hello I am under the texture return 0\n"); 14:52 < bridge> return; 14:52 < bridge> } 14:52 < bridge> if ((!loadimage(&textures[1], "data/textures/mrgh0s7.png"))) { 14:52 < bridge> fprintf(stderr, "hello I am under the texture return 1\n"); 14:52 < bridge> return; 14:52 < bridge> } 14:52 < bridge> glUniform1i(glGetUniformLocation(prog, "texture0"), 0); 14:52 < bridge> glUniform1i(glGetUniformLocation(prog, "texture1"), 1);``` 14:52 < bridge> with this ```c 14:52 < bridge> glActiveTexture(GL_TEXTURE0); 14:52 < bridge> glBindTexture(GL_TEXTURE_2D, textures[0]); 14:52 < bridge> 14:52 < bridge> glActiveTexture(GL_TEXTURE1); 14:52 < bridge> glBindTexture(GL_TEXTURE_2D, textures[1]);``` 14:53 < bridge> glBindSampler 14:53 < bridge> seems to completely missing, but maybe it's somewhere else? 14:53 < bridge> it's not 14:54 < bridge> (it's not somewhere else) 14:54 < bridge> yeah, then i guess u should do it xd 14:54 < bridge> glBindSampler(0, whateversamplerfortexture1) 14:54 < bridge> glBindSampler(1, whateversamplerfortexture2) 14:54 < bridge> hmm in the tutorial it doesn't mention it, or use it (in the source code of the particular tut) 14:55 < bridge> really? 14:55 < bridge> that sounds weird 14:55 < bridge> it does indeed 14:55 < bridge> now i am confused 14:56 < bridge> As am I. xD 14:56 < bridge> here's the shader code btw 14:57 < bridge> yeah that looks fine 14:57 < bridge> <_voxeldoesart> coding from nothing has to be the hardest thing ever i swear 14:58 < bridge> well maybe u'll get a warning bcs the one sampler will be optimized out with the comment in, but should ™️ work still i guess xd 14:58 < bridge> which nothingness u mean xdd 14:59 < bridge> It's just that I forgot to change it back to this ```c 14:59 < bridge> void main() 14:59 < bridge> { 14:59 < bridge> FragColor = mix(texture(texture0, TexCoord), texture(texture1, TexCoord), 0.2); 14:59 < bridge> // FragColor = texture(texture1, TexCoord); 14:59 < bridge> } 14:59 < bridge> ``` 15:00 < bridge> hmm I think instead of `glBindSampler` it uses `glUniform1i` 15:01 < ChillerDragon> hello I am under the texture 15:01 < ChillerDragon> xd 15:01 < bridge> yeah just opened their tutorial 15:02 < bridge> that is also needed indeed, yes 15:03 < bridge> `glBindSampler binds sampler to the texture unit at index unit. sampler must be zero or the name of a sampler object previously returned from a call to glGenSamplers. unit must be less than the value of GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS. ` 15:03 < bridge> 15:03 < bridge> i assume you can use 0, do have some default sampler bound to it 15:04 < bridge> in other words. if u dont do it, u will probably have some default sampler active 15:05 < bridge> @mr.gh0s7 can u show the output in renderdoc? 15:06 < bridge> yeah give me a sec 15:06 < bridge> <.wa1> c++ can't parse the json? 15:06 < bridge> <.wa1> lmao 15:06 < bridge> esp the fragment stage 15:07 < bridge> from what time machine did you come from lmao 15:07 < bridge> who was talking about json here xd 15:08 < bridge> <.wa1> na i'm talking generally abt c++ why can't i parse json 15:08 < bridge> <.wa1> :justatest: 15:08 < bridge> if u can parse json in javascript, you can also do it in cpp 15:08 < bridge> <.wa1> nah i'm using flask for that 15:08 < bridge> ddnet parses some json, u can take a look there 15:08 < bridge> <.wa1> python > js 15:08 < bridge> <.wa1> show me 15:09 < bridge> python interpreter is also written in c or cpp xd 15:09 < bridge> <_voxeldoesart> like, starting with just text and i guess some dependancies 15:09 < bridge> <_voxeldoesart> still, i dont have the time or energy to learn how to make backend code 15:10 < bridge> i c 15:10 < bridge> yesterday you said tomorrow 15:10 < bridge> <.wa1> :owo: 15:10 < bridge> dunno, can't search rn on phone, just search json in ddnet repo 15:13 < bridge> You have been banned on google.com? 15:14 < bridge> <.wa1> nah but for some reasons i can't parse the json from the flask route :.) i tried plain html and it's still showing stupid things 15:14 < bridge> u laugh at something u dont know 15:14 < bridge> <.wa1> ye cuz i don't know 15:15 < bridge> iks de 15:15 < bridge> <.wa1> Logical 15:15 < bridge> ?? 15:15 < bridge> laughing about x not having something just because u dont know reeks ignorance and pettyness 15:15 < bridge> xd 15:16 < bridge> if ur c++ code is not using ddnet check out https://rapidjson.org/ 15:16 < bridge> that escalated quickly 15:16 < bridge> i woke up angry today 15:16 < bridge> :NekoEvil: 15:16 < bridge> <.wa1> Can I know clearly who is speaking to me whether it is a girl or a boy :owo: ? 15:16 < bridge> i woke up and that makes me angry 15:16 < bridge> ryo is e-girl 15:16 < bridge> <.wa1> i see 15:16 < bridge> what do u mean by that 15:17 < bridge> im a 23y old boy from spain 15:17 < bridge> <.wa1> Completely clear bro 15:17 < bridge> and my conclusion is 15:17 < bridge> you should learn rust 15:17 < bridge> thanks for coming to my ted talk 15:17 < bridge> <.wa1> python better 15:17 < bridge> good joke 15:17 < bridge> <.wa1> nah 15:17 < bridge> <.wa1> good fact* 15:17 < bridge> :lol: 15:17 < bridge> was about to say something but this will be read by heinrich 15:17 < bridge> Rust? 15:17 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1174714960232845363/ryo.png?ex=6568998f&is=6556248f&hm=ab179753d3d29f46fcda0d5785ec1266a7169e5129a5a389703b20884c80cc17& 15:17 < bridge> PYSON! 15:18 < bridge> <.wa1> WHAT 15:18 < bridge> <.wa1> Do you have an objection 15:18 < bridge> https://media.discordapp.net/attachments/1013485453388828746/1172990207759491194/watermark.gif?ex=65625342&is=654fde42&hm=a08b65b33fcf41474a85998a787b7e01a61774bdeb8878813eb15caf5ee9ffff& 15:19 < bridge> hi guyz, i write pyson code, it's fast and clean 15:19 < bridge> 15:19 < bridge> my tab key is so broken already that i frequently buy new keyboards 15:19 < bridge> 15:19 < bridge> c is slower than pyson 15:19 < bridge> I don't get what to share xD. But renderdoc is cool :) 15:19 < bridge> <.wa1> :owo: 15:19 < bridge> <.wa1> hello i wanna create a very cool games with c cuz i wanna earn money 15:19 < bridge> record the draw calls 15:19 < bridge> 15:19 < bridge> click on a draw call 15:19 < bridge> Machine code is slower than pyson 15:19 < bridge> then go to the stages, click fragment 15:20 < bridge> great idea 15:20 < bridge> 15:20 < bridge> best is you put it into google play 15:20 < bridge> 15:20 < bridge> maybe your project is the one under 100000000 games that are uploaded there every day that has success xDD 15:20 < bridge> @jupeyy_keks i may be addicted to rust macros 15:21 < bridge> <.wa1> :owo: 15:21 < bridge> <.wa1> weak rust fan 15:21 < bridge> yes, they are important to your health xdd 15:21 < bridge> <.wa1> OKE 15:22 < bridge> ```rust 15:22 < bridge> macro_rules! dict_builder { 15:23 < bridge> ( $($key:expr $(=>)+ $value:expr),* $(,)? ) => { 15:23 < bridge> let mut map = std::collections::HashMap::new(); 15:23 < bridge> $(map.insert($key, $value);)* 15:23 < bridge> map 15:23 < bridge> }; 15:23 < bridge> } 15:23 < bridge> 15:23 < bridge> let map = dict_builder!( 15:23 < bridge> 1 => "a", 15:23 < bridge> 2 => "b" 15:23 < bridge> ); 15:23 < bridge> ``` 15:23 < bridge> @jupeyy_keks look its pythonic 15:23 < bridge> <.wa1> get better mind 15:23 < bridge> xd 15:24 < bridge> @.wa1 have u finally looked into json lib xd 15:24 < bridge> 15:24 < bridge> i thought u need it 15:25 < bridge> <.wa1> cool 15:25 < bridge> <.wa1> https://cdn.discordapp.com/attachments/293493549758939136/1174716826106740828/image.png?ex=65689b4c&is=6556264c&hm=5f4f2363f33e3b51734b022bd4543e6f0759dffed9a4ed5aad5b2dc4c9500aa0& 15:26 < bridge> New client with whitelist? :kek: 15:26 < bridge> xd 15:27 < bridge> <.wa1> na i wanna just update it and make the users unable to play with the old updates 15:27 < bridge> <.wa1> comon bro i've big mind 15:27 < bridge> <.wa1> https://cdn.discordapp.com/attachments/293493549758939136/1174717434331156520/image.png?ex=65689bdd&is=655626dd&hm=91ba863bd7de7d639117594336aecb1eff507829390306d23d8cb490d89574ab& 15:27 < bridge> <.wa1> lmao 15:27 < bridge> <.wa1> ryozuki will eat you bro 15:28 < bridge> Ye, Ik 15:28 < ChillerDragon> @.wa1 censoring stuff like that is pointless xd 15:28 < bridge> Just use auto updater, lol 15:28 < bridge> can u hate smth u haven't even used once? 15:28 < bridge> I tried use it xd 15:28 < bridge> <.wa1> :owo: 15:29 < bridge> <.wa1> i hate myself 15:29 < bridge> this? 15:29 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1174717847402983435/shot_20231116_162748w.png?ex=65689c40&is=65562740&hm=8ac3c0475714e981326b8c664f7cecd3e9a60de4ff98e335b95a11d6e4b9262e& 15:29 < bridge> <.wa1> i can just burn my pc and ez 15:30 < bridge> yes 15:30 < bridge> as u can see one texture is missing 15:30 < bridge> yeah xD 15:30 < bridge> wrong program selected? 15:30 < bridge> that's why I took so long I was looking for the other one 15:30 < bridge> hmm could be let me look 15:31 < bridge> I hate my code i wrote one week ago :justatest: 15:32 < bridge> Every time i look at old code it makes me think about what a brain dead dumbass could write it 15:32 < bridge> u can also check if ``glGetUniformLocation(prog, "texture1")`` returns something that makes sense 15:32 < bridge> chill dude, the start is always the hardest 15:32 < bridge> <.wa1> 🧢 15:32 < bridge> Nah, it always like that xd 15:34 < bridge> <_voxeldoesart> yesterday i gotnup at 7 am, worked and then slept until 9 pm 15:34 < bridge> but u defs changed this back? in the right directory? xdd 15:34 < bridge> <_voxeldoesart> yesterday i got up at 7 am, worked and then slept until 9 pm 15:34 < bridge> yeah 15:35 < bridge> <_voxeldoesart> true 15:35 < bridge> in renderdoc u can also click "VIEW" in the shader 15:36 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1174719528903651378/Screenshot_20231116-153531_Chrome.png?ex=65689dd0&is=655628d0&hm=2befcca2419cfb90ead9a693d9fd10ea01191ebd4b98499da605aabd9aa2dce2& 15:36 < bridge> ```c 15:36 < bridge> #version 330 core 15:36 < bridge> out vec4 FragColor; 15:36 < bridge> 15:36 < bridge> in vec3 ourColor; 15:36 < bridge> in vec2 TexCoord; 15:36 < bridge> 15:36 < bridge> uniform sampler2D texture0; 15:36 < bridge> uniform sampler2D texture1; 15:36 < bridge> 15:36 < bridge> void main() 15:36 < bridge> { 15:36 < bridge> FragColor = mix(texture(texture0, TexCoord), texture(texture1, TexCoord), 0.2); 15:36 < bridge> // FragColor = texture(texture1, TexCoord); 15:36 < bridge> }``` it's my shader! :) 15:36 < bridge> btw @mr.gh0s7 u should select the draw call in the list on the left 15:37 < bridge> no glxSwapBuffers 15:37 < bridge> oh xD 15:37 < bridge> @mr.gh0s7 just for fun try: 15:37 < bridge> glBindSampler(1, 0) before the draw call 15:37 < bridge> 15:37 < bridge> xd 15:39 < bridge> `10 glBindSampler(1, No Resource)` 15:39 < bridge> the output is the same 15:41 < bridge> is that a warning or how should i interpret that? 15:41 < bridge> 15:41 < bridge> or is that renderdoc? 15:41 < bridge> renderdoc I'll send ss bcs I don't know what to share ^^ 15:43 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1174721287172669531/shot_20231116_164215w.png?ex=65689f74&is=65562a74&hm=a52a673f80680cf82c2164fbd7071e2c5666e8d94889370699f088960631726d& 15:43 < bridge> mh ok, well i guess i cant help without having a computer. 15:43 < bridge> 15:43 < bridge> if i dont forget i'll later take a look 15:43 < bridge> Ok, thanks a lot! 15:46 < bridge> LMAO now i got chillerdragon's joke with "i am under the texture" 15:46 < bridge> better late than never xd 15:51 < ChillerDragon> https://www.youtube.com/watch?v=zDuIrpV8Z8E 15:53 < ChillerDragon> omg youtube just banned me 15:53 < ChillerDragon> time to ditch google 15:54 < ChillerDragon> @heinrich5991 this might interestd you. If you do not login to your youtube/gmail account for too long google basically locks it up. Videos are still there but no way to recover it. 15:55 < ChillerDragon> and that even before the warning email gets sent 15:56 < bridge> @heinrich5991 @learath2 @jupeyy_keks https://blog.rust-lang.org/inside-rust/2023/11/15/spec-vision.html 15:56 < bridge> https://blog.rust-lang.org/2023/11/16/Rust-1.74.0.html 15:56 < bridge> double trouble! 15:56 < bridge> epic day for rust 16:05 < bridge> <_voxeldoesart> strong and empowering ~~women~~ software 16:09 < bridge> empowering furries 16:43 < bridge> Cool. Now break backward compatibility and make constants actually constant xd 16:49 < bridge> why constants are you talking about? 16:50 < bridge> why -> which 16:51 < bridge> Rust const 16:52 < bridge> how are they not constant? o.o 16:52 < bridge> https://discord.com/channels/252358080522747904/293493549758939136/1174078646282104912 16:52 < bridge> Not not constant 16:52 < bridge> But not constant expression 16:53 < bridge> Const evaluation 16:54 < ChillerDragon> @heinrich5991 when talking about the commit helper tool ryo mentioned you said the "what" is not interesting but the "why". I just realized most of my commit messages are the "what". Also when reading the commit log you want to see what happend. And you do not see the changes usually when reading the log. 16:56 < bridge> the code above doesn't seem to highlight a problem there as far as I can tell 16:57 < bridge> I find this pretty bad tbh 16:57 < bridge> I'd expect a compiler error 16:57 < bridge> there is a clippy error 16:58 < bridge> Just saiyan 16:58 < bridge> but yeah 16:58 < bridge> but well its also a rly obscure thing 16:58 < bridge> with atomics 16:58 < bridge> True 16:58 < bridge> and interior mutability 16:58 < bridge> Xd 16:58 < bridge> cuz fetch_add takes &self not &mut self 16:59 < bridge> The best would be if it could not even be created 16:59 < bridge> Atomic const 17:07 < bridge> https://razberry.substack.com/p/btree-factorio 17:27 < ws-client> @_voxeldoesart can you fix the kog icon? :c its too detailed for that size. Does not look teeish 17:27 < ws-client> https://zillyhuhn.com/cs/.1700152099.png 17:27 < ws-client> do you see what i see? 17:28 < ws-client> the ddnet one fits in wonderfully 17:28 < ws-client> the kog one maps ddnet browser look like roblox 17:29 < bridge> <_voxeldoesart> i mean its the kog logo 17:29 < ws-client> yea 17:29 < ws-client> i know .-. 17:29 < bridge> <_voxeldoesart> @jupeyy_keks whats your consensus 17:29 < ws-client> but it does not work at that size 17:29 < ws-client> look at the image 17:30 < ws-client> looks cheap dont you think? 17:30 < ws-client> border is too thin 17:30 < ws-client> the hook is barley visible looks more like dirt 17:31 < bridge> is there even a hook 17:31 < ws-client> yea right :D 17:31 < ws-client> https://zillyhuhn.com/cs/.1700152353.png 17:32 < ws-client> looks more like a gfx bug than a hook on my screen 17:33 < ws-client> there has to be a teeish detail limit for those community icons please @Robyt3 :c 17:33 < ws-client> landil dreht sich im grab um 17:34 < bridge> ja 17:36 < bridge> leave kog ugly 17:36 < bridge> so more ppl come ddnet 17:36 < ChillerDragon> you mean so people uninstall ddnet client 17:37 < ChillerDragon> if that was the screenshot i saw when i was deciding on installing the game. I would not be here today. 17:37 < bridge> <_voxeldoesart> or just turn off kog 17:37 < ChillerDragon> There has to be a general rule 17:37 < ChillerDragon> ddnet can not be polluted with high detail small rendered images 17:39 < bridge> wat? 17:39 < bridge> @mr.gh0s7 how to build it? 17:40 < bridge> `./build.sh 4 2` or `./build.sh 4 2 run` 17:42 < bridge> main.exe 17:42 < bridge> kek 17:46 < bridge> xD 17:47 < bridge> I agree, the community logos shouldn't contain too fine details that are not visible in the menus. The hook should probably be removed from the KoG community logo. 18:00 < bridge> @mr.gh0s7 18:00 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1174755864536682537/image.png?ex=6568bfa8&is=65564aa8&hm=33b25d80da7a867b2b14c1b982189f2da247ed3a59bdda658d2bb79b2622086e& 18:04 < bridge> :waaaa_pb: 18:04 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1174756943819194461/image.png?ex=6568c0a9&is=65564ba9&hm=ee034bb58b1eeed10ae4b06bf2970cb0ecc6c493b90458ad272b3ba68624e7a5& 18:06 < bridge> Any problem with svmaster? 18:06 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1174757308815900782/image.png?ex=6568c100&is=65564c00&hm=f2f5c76593e5fcdd2df239c96d849603ae3ecff2bc202769f6f5a91f60324014& 18:07 < ChillerDragon> @robyt3 id also argue that the outline has to be made thicker or something im not an artist. But it just looks so cheap compared to the ddnet logo 18:08 < bridge> white outlines also don't work at that scale 18:08 < bridge> esp not if the orange is also light 18:08 < ChillerDragon> or that 18:08 < ChillerDragon> jopsti knows 18:18 < bridge> @jupeyy_keks did u know when u touch something u arent rly making contact 18:18 < bridge> atoms never rly contact each other 18:18 < bridge> so theorically u never touched anything 18:19 < bridge> 🤓 ☝️ 18:19 < bridge> what if i do a atomic fusion 18:19 < bridge> u die 18:19 < bridge> but does it count as touching 18:21 < bridge> if i do nuclear fission, does that mean i untouch smth? 18:22 < bridge> do you untouch a cake when you cut it bare hands ? 18:23 < bridge> @jupeyy_keks 18:23 < bridge> ups sry 18:23 < bridge> @ryozuki 18:23 < bridge> xd 18:23 < bridge> xdd 18:23 < bridge> only irc will understand 18:23 < bridge> true 18:23 < bridge> and mods 18:23 < bridge> cuz its 1984 here 18:23 < bridge> im neither and i do get it 🙂 18:23 < bridge> :poggers2: 18:24 < bridge> @ryozuki @jupeyy_keks 18:24 < bridge> that was insane 18:24 < bridge> dark forces is upon this world it seems 18:24 < bridge> @mr.gh0s7 in case u didnt get it, i added useprogram xd 18:25 < bridge> out of context is always funny 18:52 < bridge> How can I join kog servers? 18:59 < bridge> $kog 19:16 < bridge> I was thinking of the same, it would look much better without the hook. 19:33 < bridge> chillerdragon: add blmapchill logo 20:41 < bridge> sry I was afk 20:41 < bridge> hmm it works xD? I am sure I tried that before 20:42 < bridge> btw why is that needed so you can set the uniforms? 20:43 < bridge> thanks! 20:47 < bridge> bcs opengl is a state machine 20:47 < bridge> 20:47 < bridge> u call the uniform function of the currently bound program 20:48 < bridge> you dont do 20:48 < bridge> glUniform(program, ...) 20:53 < bridge> https://github.com/sunfishcode/eyra 20:55 < bridge> https://blog.sunfishcode.online/eyra-does-the-impossible/ 20:59 < bridge> btw did you see me being happy that it worked Jupstar? 21:00 < bridge> yeah, i heard your smile 21:00 < bridge> :) I mean this 21:00 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1174801252446638100/mrgh0s7.png?ex=6568e9ed&is=655674ed&hm=cf513ec0488dd870005cb3435b292a1cde20c69904750b88897accab32ce232b& 21:01 < bridge> xd 21:01 < bridge> It's a happy mrgh0s7! 21:01 < bridge> yeah 21:02 < bridge> 🥼 🎩 21:02 < bridge> spooky 21:02 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1174801790424854732/IMG_2522.png?ex=6568ea6d&is=6556756d&hm=bc38669800c182e2173528ae64a85f8cff3721f94d671b042a6560c3985ec32b& 21:03 < bridge> when do you show me your deleted image 21:03 < bridge> no discord mod around 21:03 < bridge> show then delete 21:03 < bridge> k 21:03 < bridge> I trust u 21:03 < bridge> https://github.com/bytecodealliance/rustix#similar-crates 21:03 < bridge> LMAOOOOOOOOOOOOOOOOOOOOOO 21:03 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1174801980145799168/unknown-7.png?ex=6568ea9a&is=6556759a&hm=7a71d9f619cbfee161ce008d9d18c52f4b9d434a038e340465c1859e6605226e& 21:03 < bridge> THAT TIMING FROM HEINRICH xD 21:03 < bridge> @jupeyy_keks 21:03 < bridge> quick delete 21:03 < bridge> or u banned 21:04 < bridge> xdd I knew it 21:04 < bridge> mouse > ryozukis keyboard skillz 21:04 < bridge> Dancepad > mouse 21:05 < bridge> @heinrich5991: I spun up a server on a new vps because users complained about the ping. And then the 8 players were too confused to switch servers. Here the redirect to another ip feature would have come in super handy. Still think it should not be limited to port only. 21:05 < bridge> @jupeyy_keks new perfomance 21:05 < bridge> > rustix currently has two backends available: 21:05 < bridge> > 21:05 < bridge> > linux_raw, which uses raw Linux system calls and vDSO calls, and is supported on Linux on x86-64, x86, aarch64, riscv64gc, powerpc64le, arm (v5 onwards), mipsel, and mips64el, with stable, nightly, and 1.63 Rust. 21:05 < bridge> > By being implemented entirely in Rust, avoiding libc, errno, and pthread cancellation, and employing some specialized optimizations, most functions compile down to very efficient code, which can often be fully inlined into user code. 21:06 < bridge> > Most functions in linux_raw preserve memory, I/O safety, and pointer provenance all the way down to the syscalls. 21:06 < bridge> is cool btw 21:06 < bridge> i would love a static libc, but with support for loading dyn libs 21:06 < bridge> if all code is compiled using llvm rust 21:06 < bridge> it can optimize the whole program 21:06 < bridge> as a whole 21:06 < bridge> more 21:06 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1174802753453830185/Screenshot_20231109-162126.png?ex=6568eb53&is=65567653&hm=9070aae9f4bb41ffcd7332f49e7e306adbe59686056c0546c5cf59979d8d847c& 21:06 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1174802793345863782/unknown-3.png?ex=6568eb5c&is=6556765c&hm=01d5f139eea4a2ff2fc60de38237beb61808c05e61ffbe761e5967fb8a44ee57& 21:07 < bridge> what was it i missed the fun 21:07 < bridge> secret 21:07 < bridge> it was a pretty harmless pic, but apparently it was deleted last time he posted it 21:07 < bridge> Don't want to be banned 21:07 < bridge> @jupeyy_keks do AOC in factorio 21:07 < bridge> in minecraft 21:08 < bridge> I don't want to be banned 21:09 < bridge> <_voxeldoesart> what is rust used for 21:09 < bridge> https://www.youtube.com/watch?v=xP5-iIeKXE8 aoc in game of life :justatest: 21:09 < bridge> <_voxeldoesart> 1 blo 21:10 < bridge> no one knows /shrug 21:11 < bridge> no one knows ¯\_(ツ)_/¯ 21:21 < bridge> doesn't have anything to do with that, I think 21:21 < bridge> it's basically a consequence of being able to pass `&mut 3` and similar to functions 21:21 < bridge> which I find pretty amazing, and miss in C++ 21:22 < bridge> I guess you should just define "touch" to mean something meaningful 21:25 < bridge> windows kernel, linux kernel, chrome, firefox, probably a lot more 21:25 < bridge> list will probably grow, too 21:26 < bridge> u forgot the most important 21:26 < bridge> ddnet 21:26 < bridge> Very important in ddnet 21:26 < bridge> and the patiga map tool 21:26 < bridge> in rust 21:26 < bridge> masterserver 21:26 < bridge> in rust 21:26 < bridge> etc 21:27 < bridge> <_voxeldoesart> oh yeah i forgot bevy existed 21:27 < bridge> <_voxeldoesart> i havent touched it since first day i got it lol 21:28 < bridge> could probably been have solved cleaner 21:29 < bridge> I guess passing `const` items could have been forbidden for refernece 21:29 < bridge> I guess passing `const` items by references could have been forbidden 21:29 < bridge> but that would also create some bad asymmetries 21:29 < bridge> true 21:29 < bridge> rust_version 21:29 < bridge> or smth xD 21:30 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1174808685961281676/image.png?ex=6568f0d9&is=65567bd9&hm=8cc9ae586ffd486f39cde68f4c4c0a85b9a2926567afba1f927051cf84f19c85& 21:30 < bridge> most important command 😬 21:35 < bridge> Nice newline at end 🥹 21:35 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1174810023784894525/U0MHIN8.png?ex=6568f218&is=65567d18&hm=987673e79b5152e252be3dba3624ad02fd832de476737dfbb75fef4f6020dd9c& 21:36 < bridge> xD 21:36 < bridge> time to do rustup update 21:36 < bridge> 21:36 < bridge> new release today 21:36 < bridge> xd 21:36 < bridge> :D 22:17 < bridge> Arguing with Heinrich in prs feels like arguing with some sales man on a market to get cheap tomatoes. 22:17 < bridge> 22:17 < bridge> Gimme 3 includes. 22:17 < bridge> Don’t you want more? 22:17 < bridge> Ok 5 but that’s it. 22:17 < bridge> Do you really want just 5. 22:17 < bridge> Yes just 5. 22:25 < bridge> omg chillerdragon 22:25 < bridge> 22:25 < bridge> you shooting with silver bullets lately 22:26 < bridge> I ping Heinrich on so many channels and it’s always conflict. He must be a bit mad .\_. 22:42 < bridge> SpaceX Starship Second Flight Test 7 am ET, 13 Uhr Berlin, 2h launch window 22:42 < bridge> ok 22:43 < bridge> 🆗 23:20 < bridge> it's a systems language and the industry is using it to replace c and c++ as they usher them out 23:37 < bridge> what server, gctf is laggin as always 23:46 < bridge> <_voxeldoesart> i dont think c will be replaced LOL 23:47 < bridge> For me ger2 has twice as good ping. And a few others also reported that.