02:45 < bridge> Does the server send info about everyone connection to everyone or just players nearby? Say something like a player hundreds of tiles away, would the client receive info about them like position, angle, and other effects that might be applied 02:45 < bridge> Does the server send info about everyone connected to everyone or just players nearby? Say something like a player hundreds of tiles away, would the client receive info about them like position, angle, and other effects that might be applied 02:45 < bridge> Does the server send info about everyone connected to everyone or just players nearby? Say something like a player hundreds of tiles away, would the client receive info about them like position, angle, and other effects that might be applied? 02:46 < bridge> yes if you have showall ejabled 02:46 < bridge> What about headless clients like swarfey's lib? 02:47 < bridge> idk if it's changed but default is showall is disabled unless the client sends /showall 02:47 < bridge> Alright 02:49 < bridge> So with this in mind, couldn't a bot join a server, monitor everyone and run it's own calculations to figure out who's cheating? Kinda like how antibot does it? 02:50 < bridge> yeah you'd get all the information but probably not as much as antibot 02:50 < bridge> idk if you get cursor position unless you're specifically spectating a character 02:50 < bridge> I mean what else is there 02:50 < bridge> only angle 02:51 < bridge> Does ab use the cursor position? 02:51 < bridge> im not sure though, if u check the spectator cursor pr it'll probably show u 02:51 < bridge> yes cursor position is sent to servers so im sure antibot uses it 02:51 < bridge> This is worth tinkering with tbh 02:52 < bridge> also u probably dont get as much network info as server gets, for example how many packets were dropped or whatever 02:52 < bridge> probably yeah, but still good to know 02:53 < bridge> I wanna try to train an AI of some sort, based on the info a normal mod would get 02:53 < bridge> fun 02:53 < bridge> and have it spit out confidence values for each player 02:53 < bridge> 02:53 < bridge> i.e. how confident is it that a certain player is cheating 02:54 < bridge> r u training with antibot output as labels? 02:54 < bridge> I have 0 knowledge of how to train AI and I needed an idea 02:54 < bridge> so... idk? 02:54 < bridge> ah 02:55 < bridge> Am trying to learn fun things 02:55 < bridge> :owo: 02:55 < bridge> yeah its a good idea, but you need a ground truth data if u want to do supervised training 02:56 < bridge> or maybe u can predict the # of points a tee has based on their inputs lmao 02:56 < bridge> u can get the label data a lot easier for that 02:57 < bridge> I mean, I don't see why I couldn't make a quick script to monitor and store anonimyzed tee data like position changes and angle and whatnot 02:57 < bridge> Would just fill a lot of space real quick 02:58 < bridge> Also isn't score in race gamemodes just their finish time in number form? 02:58 < bridge> like seconds or smth 03:27 < bridge> I've made client side AB before, it's a lot harder with only 25tps instead of the servers full 50tps. It takes much more data to get the same confidence and even still it's not as accurate 07:46 < bridge> can someone explain 07:46 < bridge> ```c++ 07:46 < bridge> if(m_NumObjectsHit < 10) m_apHitObjects[m_NumObjectsHit++] = pChr; 07:46 < bridge> ``` 07:46 < bridge> in handle ninja? if more than 10 objects are hit does it just not track 07:55 < bridge> seems like a rly bad way to track if an object was hit before or not 09:23 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1382983814569132032/targetswitch_2025-06-13_00-23-13.mp4?ex=684d238b&is=684bd20b&hm=4ee081ab7612dd13f06f405b7b08999830456578cd839abb9d257a5b1c8e8388& 09:27 < bridge> btw apparently this actually happens and tees will get 'hit' by ninja more than once if they're the 11th and onwards tee to get hit 09:28 < bridge> at least visually seems like that's the case 09:28 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1382985075808927825/Nucl_2025-06-13_00-26-26.mp4?ex=684d24b8&is=684bd338&hm=53da0500d24843d4a6641c409d118a35e6490dfbbbb1bd3b8291a2de7af72257& 09:29 < bridge> (in the vid only the tees near the end of the slash get sent super high) 09:33 < bridge> tees are liquid 10:03 < bridge> Tees are atoms 10:04 < bridge> you can do incredibly cool stuff by adding a quadart and then setting a texture for it 10:04 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1382994091360387102/screenshot_2025-06-13_10-03-58.png?ex=684d2d1e&is=684bdb9e&hm=610ee7895569dcb35d1b0055eba0e896ca600f2e108d8348fd9efb4e36b6bcb6& 10:09 < bridge> Debian 11:07 < bridge> make gentoo logo 11:50 < bridge> cool 12:15 < bridge> wat 12:16 < bridge> oh seems my collectables draft becomes useless 12:19 < bridge> based on server, some servers don't have /showall just for sake of bandwidth. if sv_high_bandwidth enabled, servers sends info on 50 tps rate otherwise only 25 tps. so if both conditions are met, you can get the same data server has, but quantized (i don't remember if server quantizes data on its end too, probably yes) 12:20 < bridge> how would you know if any given server has high bandwidth enabled? 12:20 < bridge> or /showall 12:20 < bridge> ctrl + shift + d, check recv num on the top left corner. /showall is just a chat command so you have to prompt it 12:21 < bridge> ah i thought some servers have it disabled 12:21 < bridge> afair 0xf and f ddrace with 128 players have some limitations on this 12:22 < bridge> it'll only concern me when it comes to normal ddrace 12:22 < bridge> sooo 12:22 < bridge> only ddnet block servers are 25 tps 12:22 < bridge> and all servers should have /showall enabled 12:22 < bridge> not by default though 12:52 < bridge> finally, circles in ddnet 12:52 < bridge> oh wait 13:25 < bridge> The oldschool map Last Chance has 176 animations (envelopes) 13:25 < bridge> 13:25 < bridge> And it uses literally none of it xD 13:53 < bridge> i wonder if its data lost or just troll mapper 13:54 < bridge> data loss* 13:58 < bridge> how do i link against an older version of a lib in cmake? 13:58 < bridge> 13:58 < bridge> trying to compile something that requires an older version of openssl 13:59 < bridge> how do i link against an older version of a lib in cmake? 13:59 < bridge> all solutions seem to be hacky 13:59 < bridge> 13:59 < bridge> trying to compile something that requires an older version of openssl 13:59 < bridge> I bet he opened some giga map, removed all layers and started his map xD 14:00 < bridge> You can include openssl as sub directory (have a sub module for your git to the ssl git). 14:00 < bridge> 14:00 < bridge> Not sure how well it works tho 14:01 < bridge> If pre-built is an option you can also ship the correct version of openssl and link against that 14:02 < bridge> i see, thanks! 14:03 < bridge> is there any other map with more than >150 envelopes from heinrichs archive? (used ofc xd) 14:03 < bridge> teetown has many 14:17 < bridge> The oldschool map `ddrace_loop` has two front layers. 14:17 < bridge> 14:17 < bridge> @robyt3 that is actually something that should potentially be validated and rejected. The editor considers the later layer as the front layer while ignoring the first. 14:17 < bridge> But it's quite possible other logic would do the opposite. 14:19 < bridge> @patiga Is the above a hard error in twmap-check? 14:29 < bridge> no, also appeared too often, its a WARN log iirc 14:30 < bridge> yea, some mappers like that ^^ 14:30 < bridge> https://discord.com/channels/252358080522747904/746534464984973323/795982789651464192 14:30 < bridge> I meant that a map has two front layers 14:30 < bridge> or generally game layers duplicated 14:31 < bridge> yep, I understood it like that 14:31 < bridge> I only found 1 map yet 14:31 < bridge> But IMO this is a rather critical error 14:31 < bridge> hm, might've softened that from an error after going over heinrich's archive at some point 14:31 < bridge> It potentially changes gameplay if parsing changes 14:32 < bridge> yea, parsing mustn't change I determined ^^ 14:33 < bridge> honestly my error/warn policy with heinrich's archive is inconsistent at this point 14:33 < bridge> e.g.I introduced tilemaps with non-divisible by 16 textures as an error 14:34 < bridge> This also affects rendering components 14:34 < bridge> wdym? 14:35 < bridge> The rendering component will simply assume it's a second front layer 14:35 < bridge> interesting, twmap simply completely dismisses the dupes 14:35 < bridge> In which order? 14:35 < bridge> The later is the real front layer? 14:35 < bridge> I'd need to look it up, I think the last layer is the correct one 14:36 < bridge> Anyway, we should fix that for official maps 14:36 < bridge> I'd be fine with making this an error, yea 14:36 < bridge> I don't see any reason to keep bugs 14:36 < bridge> Idc about the archive, that is so many unused and broken maps anyway xD 14:37 < bridge> on my to-do list is a fix-map function operating on the datafile, it should try to make as many maps as possible pass, but be rough and inefficient to not become the norm ^^ 14:38 < bridge> Yes sounds generally good 14:38 < bridge> I do care about the archive because I want, yk, a map lib you can use for any teeworlds/ddnet maps 14:39 < bridge> which parser are you working on, ddnet-rs's? 14:39 < bridge> Yes I have no problem if you want a auto fix thing. 14:39 < bridge> 14:39 < bridge> It's more about when a converter can decide it on it's own. 14:39 < bridge> And in this case IMO the converter can not 14:39 < bridge> I already have a converter, but I was checking all ddnet maps and saw some glitches in few maps (mostly oldschool) 14:40 < bridge> yea, I already fixed a couple of stuff in older ddnet maps. other stuff I decided to work around in twmap 14:42 < bridge> The unused env map I only found bcs it found a way to spawn more characters in a `to_lossy` call from rust than there were utf8 characters in the src string xD 14:42 < bridge> And since the parser only passes if it can convert back & forth it lost a few bytes in the end of the string 14:52 < bridge> those are the cases where twmap throws a warning 14:53 < bridge> For names I also simply do lossy calls. Like I care if some character is lost in an invalid name. 14:54 < bridge> Which does not mean I wouldn't fix them for official maps tho 😬 15:03 < bridge> leaving them as-is allows future parsers to potentially be smarter and reconstruct the original names ^^ 15:05 < bridge> smarter than rust's stdlib? 😄 15:05 < bridge> I could imagine that, yes 15:05 < bridge> U mean like look in a directory? 15:05 < bridge> dictionary* 15:06 < bridge> Honestly official maps can also be fixed by hand (list all strings and decide if they need a manual fix or auto fix) 15:07 < bridge> maybe, I'd bet it would be possible to recover russian names for example, as they should consist mostly of non-ascii letters 15:07 < bridge> do the extendes ascii tables always use all slots? 15:07 < bridge> *extended 15:07 < bridge> @jupeyy_keks as you appear to miss my #mapping posts, here is my favorite one :) 15:07 < bridge> https://discord.com/channels/252358080522747904/746534464984973323/1238111472702193736 15:08 < bridge> I guess it should be a warning and all but one front layer should be discarded (either the first or last depending on how server/client currently handle this) 15:08 < bridge> XDD 15:09 < bridge> https://xkcd.com/1738/ 15:10 < bridge> Man robyte had that tab open 15:21 < bridge> Sometimes you just want to be prepared :kek: 16:20 < bridge> Robyt, the master of reviews :deen_star: 16:27 < bridge> :owo: 16:27 < bridge> @essigautomat what u working on? seen u rly active lately 16:27 < bridge> love you 16:28 < bridge> :poggers2: 16:29 < bridge> when u have to benchmark something that lasts >20mins 16:29 < bridge> and u need to rerun to know if it improves 16:29 < bridge> :feelsbadman: 16:30 < bridge> @milkeeycat btw ill be working on a SML compiler 16:30 < bridge> when you have to make a github workflow which takes 30mins and you have to rerun each time when it didn't work :feelsbadman: 16:30 < bridge> @milkeeycat https://www.roc-lang.org/ 16:30 < bridge> new lang everyday 16:33 < bridge> @ryozuki im working on instruction selection(it should take generic instructions and spit out arch specific instructions) for my compiler backend 16:33 < bridge> epyc 16:33 < bridge> https://tenor.com/view/burger-eating-frieren-frieren-beyond-journey%27s-end-sousou-no-frieren-gif-13425073513713719938 16:33 < bridge> @jupeyy_keks https://perf.rust-lang.org/dashboard.html 16:34 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1383092045996097757/image.png?ex=684d8858&is=684c36d8&hm=6853e4f33afd3222c8d803b1ab552d3cbfedb23da799bfba3134f1fa75972b8a& 16:34 < bridge> rust actually is improving comp time 16:34 < bridge> can i forcefully use bundled libs 16:34 < bridge> can i forcefully use bundled libs in cmake 16:34 < bridge> can i forcefully use bundled libs in cmake somehow 16:34 < bridge> last thing I did was #10340 which almost nobody noticed, but is like a big boost to rendering performance 16:34 < bridge> https://github.com/ddnet/ddnet/pull/10340 16:34 < bridge> last thing I did was #10340 which almost nobody noticed, but is like a HUGE boost to rendering performance 16:35 < bridge> noice 16:35 < bridge> iirc it prefers them over system if present 16:35 < bridge> did u checkout submodules 16:36 < bridge> yeah i did, i also trierd using `-DPREFER_BUNDLED_LIBS` 16:36 < bridge> 16:36 < bridge> but it doesnt.. tried to use a bundled version of openSSL 16:36 < bridge> 16:36 < bridge> i assume because of pkg_config? 16:36 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1383092602731106326/image.png?ex=684d88dd&is=684c375d&hm=552b75c6d65bf33e3183163f32d0e8c1b285a715ea56e356a4148fc78f46a9c8& 16:40 < bridge> r u on nix 16:40 < bridge> idk ur nix shenanigans 16:40 < bridge> xd 16:40 < bridge> isnt it a meme the weird ld paths on nix 16:40 < bridge> :justatest: 16:41 < bridge> Cool! 16:41 < bridge> 16:41 < bridge> I want this for ddnet 😄 16:41 < bridge> I love stats like dese 16:42 < bridge> yea 16:42 < bridge> hard to automate cuz graphics 16:44 < bridge> i use arch btw 16:44 < bridge> :( 16:45 < bridge> wouldnt be a biggie if i could just downgrade my openssl version but.. 16:45 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1383094929542348922/image.png?ex=684d8b07&is=684c3987&hm=199e65bdb1aa179b845a49020a3e0972443c7cc516157286dcf27c2756d795e1& 16:45 < bridge> there's a chinese saying "have a foot in both camps" 16:45 < bridge> i tripleboot windoof, arch and nix :kek: 16:46 < bridge> nix for fun, arch as my daily driver and windoof for league and a handful of work related software 16:46 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1383095165282943107/image.png?ex=684d8b40&is=684c39c0&hm=d7560e99d66d427960c3b4a30f68bd8355769fe572767adbf52369ce554c0990& 16:47 < bridge> I'll install ubuntu on my machine in october, when the windoofs license runs out. On Laptop/at work I use ubuntu 16:47 < bridge> I'll install ubuntu on my machine in october, when the windoofs goes EOL. On Laptop/at work I use ubuntu 16:48 < bridge> hmm I could do crazy stuff, crontab every morning and git pull ddnet upstream and build it 16:48 < bridge> hmm I could do crazy stuff, crontab every morning and git pull ddnet upstream and build it, so make my own nightlies :3 16:54 < bridge> or I simply go on steam and select nightly under betas 17:14 < bridge> Race maps often have a second tele layer 17:15 < bridge> Append abuse 17:15 < bridge> So you need that old ssl for something ddnet related? 17:15 < bridge> kind of, its rather teeworlds related 17:16 < bridge> do you have a build library for that ssl version? 17:17 < bridge> i dont have a libssl.so if thats what you mean 17:18 < bridge> ok, i mean you could just clone openssl, checkout a version u need and build your things 17:18 < bridge> there should then be a pkg-config file in the build dir and you can somehow force cmake to find that one 17:18 < bridge> or hardcode the ssl_library and include paths 17:28 < bridge> Any idea about this log message with `dbg_gfx 4`? Happens with and without 10340. 17:28 < bridge> `gfx: [PERFORMANCE] (importance: medium) Program/shader state performance warning: Vertex shader in program 18 is being recompiled based on GL state.` 17:29 < bridge> huh I never got this one? 17:29 < bridge> which one is program 18? Xd 17:29 < bridge> Happens on Launch with OpenGL 3.3 17:30 < bridge> With PR 10340 it's program 20 instead 17:30 < bridge> Can you look it up in renderdocs or dbg msg the shader id 17:30 < bridge> Or let me see, maybe i have the same IDs 17:30 < bridge> yes 10340 adds 2 programms 17:30 < bridge> yes 10340 adds 2 programms (for ogl3.3) 17:30 < bridge> I guess it's just the index of the program 17:31 < bridge> I'd assume it's matching `TWGLuint m_ProgramId;` 17:34 < bridge> I count only 18 shaders in 10340 who are getting added by ogl, I might be missing something 17:35 < bridge> or is it double for vertex and fragment shader? 17:36 < bridge> For me it's most likely `m_pSpriteProgramMultiple` 17:36 < bridge> then it would be the textured quad fragment shader, but I assume they're in sequence (and maybe I misscount) 17:36 < bridge> But I dont get any warning like dis 17:37 < bridge> me neither 17:40 < bridge> on windows I have to run the configure script before building, so that the shader gets recompiled 17:40 < bridge> on windows I have to run the configure script before building, so that the shader gets recompiled (at least for vulkan), because the shader compilation step is part of the build setup 17:42 < bridge> I tried reconfigure to make sure but still same result 17:48 < bridge> Program 20 should be the use of`UseProgram` in `CCommandProcessorFragment_OpenGL3_3::Cmd_RenderQuadLayer` 17:49 < bridge> ~~Program 20 should be the use of`UseProgram` in `CCommandProcessorFragment_OpenGL3_3::Cmd_RenderQuadLayer`~~ 17:56 < bridge> Seems like it comes from the `UseProgram` for `shader/spritemulti.vert/frag` 17:59 < bridge> I dunno it makes no sense to me, I found this in the internet, which would make sense: 17:59 < bridge> 17:59 < bridge> > My vertex shader contains some inputs like layout (location=0) in vec3 VertexPosition. But the corresponding attribute wasn't enabled yet in the state machine. So the driver compiles a program version for a state where no Attribute is enabled. Now, if I bind my first VAO for drawing, all the necessary attributes get enabled and the driver detects a mismatch between the state of my first draw call and the state when I compiled the shader. So h 17:59 < bridge> 17:59 < bridge> But not for this shader. We always use all input attributes 18:00 < bridge> > I've run across this problem recently. It occurred that unbinding Vertex Array Objects caused this warning to appear. After deleting the lines with glBindVertexArray(0) the warning message disappeared. 18:00 < bridge> Maybe it's as stupid as that 18:01 < bridge> That seems to do it 18:28 < bridge> https://github.com/cyphar/paperback 18:32 < bridge> how did i miss this loo 18:32 < bridge> how did i miss this lol 18:39 < bridge> @robyt3 > The new shader programs are not being deleted yet. 18:39 < bridge> 18:39 < bridge> ~~? I have no idea what this means~~ oh memory leak 18:40 < bridge> Search for `m_pQuadProgram`, the deletes are missing for the new programs 18:41 < bridge> And `DeleteProgram` calls 18:41 < bridge> yes already doing exactly that 18:42 < bridge> I guess valgrind can't find that, since it's in the graphics backend 18:44 < bridge> :deen_star: 19:06 < bridge> why not coexist i want more interactable entities 19:18 < bridge> im getting in a physics fight with cmake 19:18 < bridge> im getting in a physical fight with cmake 19:22 < bridge> why 19:24 < bridge> How does `ColorRGBA` in our code base know that it has to initialize to `(1.0, 1.0, 1.0, 1.0)` 19:24 < bridge> 19:24 < bridge> I cannot find where we set a default constructor to do so 19:26 < bridge> @learath2 explain that sorcery :c 19:27 < bridge> Or does it simply use 0.0 as default 19:27 < bridge> Well probably lol 19:27 < bridge> Dunno why I even assumed it's 1.0 xd 19:27 < bridge> Probs bcs in colors it's often like that 19:29 < bridge> what? Black is totally default 19:29 < bridge> @essigautomat see that as request changes not as approved xD 19:29 < bridge> though yeah I prefer (0, 0, 0, 1) 19:29 < bridge> I had approved selected but then saw the one thing xD 19:29 < bridge> I think the default is 0,0,0,0 19:29 < bridge> i have 1 library at the top level with a cmake file. and 2 cmake files for the tests. If i try to compile the library and the tests with -flto, the linker tells me: 19:29 < bridge> ```bash 19:30 < bridge> [ 46%] Linking C executable benchmark 19:30 < bridge> cd /home/teero/software/ddnet_physics_c/build/tests/optimized && /sbin/cmake -E cmake_link_script CMakeFiles/benchmark.dir/link.txt --verbose=1 19:30 < bridge> /sbin/clang -Xlinker --dependency-file=CMakeFiles/benchmark.dir/link.d CMakeFiles/benchmark.dir/benchmark.c.o -o benchmark -Wl,-rpath,/home/teero/software/ddnet_physics_c/build/libs/ddnet_map_loader ../../libddnet_physics.a ../../libs/ddnet_map_loader/libddnet_map_loader.so -lm -lz -lomp 19:30 < bridge> CMakeFiles/benchmark.dir/benchmark.c.o: file not recognized: file format not recognized 19:30 < bridge> clang: error: linker command failed with exit code 1 (use -v to see invocation) 19:30 < bridge> ``` 19:30 < bridge> now I'm reconsidering 19:30 < bridge> maybe transparent black is the bestest 19:30 < bridge> really? 19:30 < bridge> I'd say white is the logical default for colors 19:30 < bridge> Since often stuff is textured and multiply with white => texture 19:30 < bridge> If you like paper 19:30 < bridge> oh true 19:31 < bridge> ig black is default clear colour and white is default fill colour 19:31 < bridge> I prefer not assuming anything and just freaking use the four arguments constructor 19:31 < bridge> :nouis: 19:31 < bridge> I see `constexpr ColorRGBA(){}` 19:31 < bridge> Yeah ig it's simply 0.0, was too lazy to test it 19:32 < bridge> value initialization of floats 19:32 < bridge> Smart boi 19:32 < bridge> i think the defaults are explicitly made here 19:32 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1383136971387568201/image.png?ex=684db22f&is=684c60af&hm=8f16d7ef6e528b2da34fda68e00b22eeb26b6d74b2531daf9fd702ed0acfbf80& 19:32 < bridge> yeah 19:33 < bridge> :brownbear: another day of ppl blaming cmake for linker issues 19:34 < bridge> xyza is crazy 19:34 < bridge> though I guess we can't really pull the glsl magic trick where r and x are the same thing 19:34 < bridge> It is 19:34 < bridge> It's a union type 19:35 < bridge> The default construcor just decided to use xyza 19:36 < bridge> :brownbear: 19:36 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1383137849133629551/image.png?ex=684db300&is=684c6180&hm=fb9cc5aaee4ba8a998a6b9bce991525448dea9a138b92d03e425d2f39bdfc023& 19:36 < bridge> it's got a few constructors 19:42 < bridge> btw using LTO takes away any ABI stability you had in generating the object files 19:43 < bridge> LTO is really dependent on the compiler's internal representation so you can't expect to use it unless your compiler + linker are on the same page about it 19:43 < bridge> meaning, clang must use ldd to link with its LTO, and they have to be the same versions 19:43 < bridge> -fuse-ld=ldd 19:44 < bridge> but also... probably don't use -flto directly 19:44 < bridge> because cmake has settings for it which wrap compilers 19:44 < bridge> called IPO 19:44 < bridge> `set_property(TARGET name-target-here PROPERTY INTERPROCEDURAL_OPTIMIZATION TRUE)` 19:45 < bridge> or for all targets `set(CMAKE_INTERPROCEDURAL_OPTIMIZATION TRUE)` 19:45 < bridge> if you want to check it then you can use this 19:46 < bridge> i'd recommend doing so but it won't rly matter as it just moves the error to generate time instead of link time lol 19:46 < bridge> also `cmake_minimum_required(VERSION 3.9)` would be correct to add but optional 19:46 < bridge> it's a fairly new feature 19:55 < bridge> wew 19:55 < bridge> You're lacking uvpq 19:55 < bridge> oh wait v is taken 19:55 < bridge> rip 19:56 < bridge> isn't it uvrt anyway? 19:56 < bridge> never heard of pq, but maybe i dunno 19:56 < bridge> I'm not familiar with rt 😳 19:57 < bridge> oh there's stpq too 19:58 < bridge> rt overlaps with rgb 19:58 < bridge> I need to look up the spec now lol 20:00 < bridge> st for uv, my brain would take a while xD 20:00 < bridge> just remove HSV support 20:02 < bridge> Okay GLSL supports xyzw, rgba, and stpq 20:02 < bridge> uv was my own hallucination 20:06 < bridge> man can be a pain looking up glsl documentation lol 20:06 < bridge> it's so scattered 20:06 < bridge> no I'm not insane enough to read the spec 20:19 < bridge> i won the fight against cmake 20:21 < bridge> how did you do it 20:21 < bridge> 0.50€ he switched to bam 20:27 < bridge> somehow i was really stupid. i was using target_compile_options instead of target_link_options which messed things up. but after i fixed that, more errors appeared. then i upgraded to clang20 which fixed those errors. but the llvm20-libs are not on the AUR or official arch linux repos smh so i downgraded again and then magically worked. 20:27 < bridge> somehow i was really stupid. i was using target_compile_options instead of target_link_options which messed things up. but after i fixed that, more errors appeared. then i upgraded to clang20 which fixed those errors. but the llvm20-libs are not on the AUR or official arch linux repos smh so i downgraded again and then it magically worked. 20:27 < bridge> somehow i was really stupid. i was using target_compile_options instead of target_link_options which messed things up. but after i fixed that, more errors appeared. then i upgraded to clang20 which fixed those errors. but the llvm20-libs are not on the AUR or official arch linux repos so i was missing libs for the sanitizers.so i downgraded again and then it magically worked. 20:27 < bridge> target compile options can influence the linker behavior but it depends on the flag 20:27 < bridge> somehow i was really stupid. i was using target_compile_options instead of target_link_options which messed things up. but after i fixed that, more errors appeared. then i upgraded to clang20 which fixed those errors. but the llvm20-libs are not on the AUR or official arch linux repos so i was missing libs for the sanitizers. so i downgraded again and then it magically worked. 20:28 < bridge> but yea 20:28 < bridge> glad it works for you ig 20:28 < bridge> using compiler-specific flags when an abstracted version exists is still kinda pointless but if it works, it works 20:32 < bridge> im already using a bunch of clang specific things in my codebase so trying to make flags work with other compilers would be a waste of time 20:36 < bridge> ~~in your case using cmake is already a waste of time~~ 20:43 < bridge> -in your case 20:43 < bridge> 👀 20:48 < bridge> there are lots of great reasons to use cmake 20:48 < bridge> but the entire two step build system thing is completely useless if you only use one compiler xd 20:48 < bridge> and that is the main reason why it exists 20:48 < bridge> or, the reason most projects use it 21:08 < bridge> cuz same logic can be replicated 21:13 < bridge> ya ig 21:13 < bridge> i wanna try my hand at server side dummies too at some point 21:22 < bridge> @mpft cmake is more readable than just a makefile imo. that is one of the reason i stick to it over just a makefile 21:24 < bridge> @mpft cmake is more readable than just a makefile imo. that is one of the reason i stick to it over makefiles 22:36 < bridge> twmap-py update: macos on arm should now also be supported. (also they are actually cross-compiled, not native builds like I originally thought)