08:07 < bridge> I'm gonna move to the moon ig? 08:07 < bridge> ¯\_(ツ)_/¯ 08:52 < bridge> i agree that everything before 2016 is dark ages 08:52 < bridge> 08:52 < bridge> no vulkan no life 08:53 < bridge> no modern rust too 08:53 < bridge> true 11:52 < bridge> is there a job title for people who just write documentations? 11:52 < bridge> "To be replaced" 11:53 < bridge> Xd 11:53 < bridge> By gpt 11:53 < bridge> :owo: 11:54 < bridge> Is it for coding documentation 11:54 < bridge> Or like a physical product 11:54 < bridge> like the "Getting Started" stuff 11:56 < bridge> Mh dunno 11:56 < bridge> Technical writer if it's technical 11:56 < bridge> 11:56 < bridge> Else maybe instruction designer 11:56 < bridge> Just put engineer in the end xdd 11:56 < bridge> i guess there isn't then 11:56 < bridge> How to engineer 11:57 < bridge> Documentation engineer 11:57 < bridge> Xd 11:57 < bridge> Documentation Technical Artist 11:58 < bridge> Eyyo whats up 11:58 < bridge> I was wondering if there are some easy bugs for first-time contributors to do 11:58 < bridge> 11:58 < bridge> I know C++ and i have some experience as a developer 11:58 < bridge> Why can't my fridge auto stock pepsi. It sucks to go home and find out that I ran out of pepsi 11:59 < bridge> #7399 11:59 < bridge> https://github.com/ddnet/ddnet/issues/7399 12:00 < bridge> Ok thanks I take a look 12:04 < bridge> btw uuuh the wiki page for development under "Installing the dependencies" doesnt work for Debian 12, the packages arent correct 12:04 < bridge> Which one exactly 12:04 < bridge> python -> python3 (no such package python) and spirv-tools4 -> spirv-tools 12:05 < bridge> Ok, u can update that if you want 12:05 < bridge> ok cool 12:05 < bridge> (i assume u arent using python2 still xd) 12:05 < bridge> Btw the ddnet readme has it correct 12:05 < bridge> Maybe just copy it from there 12:05 < bridge> oki i do this 12:05 < bridge> it doestn @jupeyy_keks xd 12:06 < bridge> it doesnt @jupeyy_keks xd 12:06 < bridge> this is on the readme `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` 12:06 < bridge> yeah installing 'python' doesnt work u need to specify python3 or install the package 'python-is-python3' 12:07 < bridge> Mh it says spirv-tools at least xd 12:07 < bridge> that is kinda weird. I remember it being correct as well 12:07 < bridge> atleast on debain 12:07 < bridge> on arch python is correct 12:07 < bridge> im on a fresh install of debian 12 12:07 < bridge> atleast on debain. 12:08 < bridge> i make sure the compile goes fine then i update 12:08 < bridge> ig someone assumed that the package names were the same on diffrent distros 12:08 < bridge> Thanks 12:09 < bridge> maybe i just didn't remember it right cuz I sure wasn't using arch. and ubuntu does use python3 instead of python i think? 12:10 < bridge> I'm surprised they don't do a meta package, since Python package straight doesn't exist 12:11 < bridge> That's pretty common to do a meta package that references the current version 12:11 < bridge> E.g. clang will install latest version but u can still install older version explicitly 12:12 < bridge> maybe they wanna make sure people understand which version they are installing or smth? 12:12 < bridge> if u come from older versions 12:12 < bridge> where was python1 12:13 < bridge> where is the effort to remove python dep 12:13 < bridge> u arent using python? 12:14 < bridge> i try to not touch it 12:14 < bridge> i used to use python regularly until typescript showed up on my radar 12:15 < bridge> python > typescript 12:15 < bridge> by regularly i mean just simple scripts like batch renaming stuff 12:15 < bridge> and i don't know bash 12:15 < bridge> bash sucks i love it 12:15 < bridge> python comes straight from hell 12:15 < bridge> I use shell (well I am on linux) 12:15 < bridge> it's there to be hated 12:15 < bridge> I did learn powershell scripts for a while 12:16 < bridge> I also use lf (file manager) with some custom scripts that zogtib made to batch rename stuff 12:16 < bridge> but everything is a bit long so i just use nodejs now 12:16 < bridge> :banhammer: 12:17 < bridge> i mean one of my old projects still uses powershell as build scripts 12:17 < bridge> so renaming stuff is very easy bcs when you want you just open `lf` select the folders/files you want and it opens them up in your text editor and I rename them from there :). And since I use `vis` which has mutliple cursors renaming stuff is very easy ;). 12:17 < bridge> yuck 12:17 < bridge> batch renaming is done with `vidir` from `moreutils` 12:17 < bridge> i didn't say i liked it 12:18 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1171770648742342707/image.png?ex=655de375&is=654b6e75&hm=85487ff4582ec22c564ff95662e33fa129fbaa333fe17b373a43b4b1faf197c5& 12:18 < bridge> it's just there 12:18 < bridge> lol 12:18 < bridge> and i guess i did wrote bash scripts 12:18 < bridge> have you tried to light it? 12:18 < bridge> probably hated it more than ps1 12:19 < bridge> um should i do a pull request to update readme deps too? 12:19 < bridge> yes 12:19 < bridge> oki cool 12:21 < bridge> lmao 12:21 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1171771509874888714/image.png?ex=655de442&is=654b6f42&hm=c992552b33e7e48ce3851cbec0da7172e44aa7c3782b384e9c3179b85ea50b28& 12:22 < bridge> that's at least a straight forward script 12:22 < bridge> ye, just run some nodejs stuff and zip 12:24 < bridge> set -e, set -o pipefail set -o nounset are nice flags for bash scripts 12:24 < bridge> bruh i'm rich 12:24 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1171772252526755840/image.png?ex=655de4f3&is=654b6ff3&hm=b2deba4b7cee29cfe2f00bf80bee2ce32496d25746e559d9b61cd784a905ac9c& 12:25 < bridge> is it ur onlyfans 12:25 < bridge> i mean have or not have xd 12:25 < bridge> man if my onlyfans only earns 7 dollars per month i'm gonna die 12:25 < bridge> so u earn more from ur onlyfans 12:25 < bridge> probably 12:25 < bridge> but i don't want to know how many hours u've spent for this money xD 12:25 < bridge> haven't checked 12:26 < bridge> like a week probably lol 12:26 < bridge> uuuh should i create an issue for my pull request 12:26 < bridge> im github noob 12:27 < bridge> 😮 ok that's nothing 12:27 < bridge> i think pull request would suffice if you already have a PR to submit 12:27 < bridge> ok 12:27 < bridge> my projects usually aren't more than a week long 12:27 < bridge> so this is the money for a single project? 12:27 < bridge> ye 12:27 < bridge> i don't have more 12:28 < bridge> i see, well then gg. 12:28 < bridge> 12:28 < bridge> 10$ per month is good 12:28 < bridge> this is the only one i'm feeling good enough for a paid plugins 12:28 < bridge> if the project keeps getting in the money for like 2 years xd 12:28 < bridge> too bad unity is going to die 12:29 < bridge> xdd rip 12:29 < bridge> i do hate that I have so many projects to maintain tho 12:29 < bridge> morning 12:29 < bridge> sometime a random issue would just pop up for a thing that I made like three years ago 12:30 < bridge> then i have to relearn all the stuff i was using at the time to fix it 12:30 < bridge> none of the "currently have people using them" projects are using the same languages 12:30 < bridge> lmao 12:31 < bridge> rip. is that a problem with android? or also unity projects? 12:31 < bridge> nah, i just have a lot of stuff 12:32 < bridge> ok. i once used play services in my teenages.. and man google changes the api like every week back then xD 12:33 < bridge> I had like a spa with javascript, a piracy server backend with typescript, a input method script with lua , a unity plugin with C# and another unity plugin that interlops with tsx. 12:33 < bridge> why don't you simply drop the projects that break ? 12:33 < bridge> idk 12:34 < bridge> people still use them 12:34 < bridge> more than 0.5 ppl? 12:34 < bridge> probably in the thousands 12:34 < bridge> not the unity plugins tho 12:34 < bridge> lol, OSS or money? 12:34 < bridge> the other stuff 12:35 < bridge> unlicensed but does live on github kind of open-source 12:35 < bridge> i c 12:35 < bridge> it's not like I wrote them as open-source projects 12:35 < bridge> it's just a thing that I need and people picked it up randomly 12:35 < bridge> i was just wondering if you at least get smth back for maintaining old projects 12:36 < bridge> i guess not 12:36 < bridge> like where did all these people come from 12:36 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1171775348145405962/image.png?ex=655de7d5&is=654b72d5&hm=ed134d188ce5cea75c84c7eabf7a98d4792fd5c51968a7de251111307adc5903& 12:37 < bridge> this is just the discord for that server thing 12:37 < bridge> :justatest: 12:37 < bridge> wtf, u fame bro xdd 12:37 < bridge> TsFamous 12:37 < bridge> is just the question if they real ppl xdd 12:37 < bridge> idk actually 12:38 < bridge> i think most people in the discord are joined just to see if we have pirated games 12:40 < bridge> like we don't actually provide any games, it's just a server software that allows those legally questionablue games to run. so maybe a bunch of people just joined and saw there was nothing and just let the server sits in their discord 12:40 < bridge> it is funny sometime you find people selling your stuff when it is openly available for download 12:41 < bridge> tsfreddie the mmo reverse engineer 12:42 < bridge> it is kinda cool to have to write these in a life time 12:42 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1171776873659899904/image.png?ex=655de941&is=654b7441&hm=11af571feceec583ec5e76f607e3bac173f341540c7048b19780a541dfd11835& 12:43 < bridge> :kek: 12:44 < bridge> really interesting how much stuff u already done in your young age xdd 12:44 < bridge> 12:44 < bridge> how do you find time for them while having a 18h job xDD 12:44 < bridge> ez 12:45 < bridge> 10x dev 12:45 < bridge> not have a job before doing the 18h jobs 12:45 < bridge> rate my dashboard for that thing 12:45 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1171777477874565130/image.png?ex=655de9d1&is=654b74d1&hm=8bbc8a1f8afc136b89235e617b0da2cc4e8ef15d3fd538f3f6fba9d627f4ef4a& 12:45 < bridge> 😬 12:45 < bridge> i have ur ip now 12:46 < bridge> 127.0.0.1 12:46 < bridge> wtf we have the same ip 12:46 < bridge> i dunno looks very generic. i rate it a 7/10 12:46 < bridge> fair enough 12:46 < bridge> it looks good 12:50 < bridge> also I've been working on some stuff that is technically for work but it happens to benefit my personal project as well 12:52 < bridge> - company needs a UI framework for Unity 12:52 < bridge> - I had released one before 12:52 < bridge> - added dependency at work 12:52 < bridge> - the framework was old 12:52 < bridge> - fixed them for work so it works for company 12:52 < bridge> - contribute upstream as company 12:52 < bridge> - upstream is me 12:52 < bridge> :justatest: 12:53 < bridge> nice 12:55 < bridge> btw my leader told me not to ever use git to push code onto anywhere public. but i don't see how they can MITM ssh connections without me noticing. 12:56 < bridge> @axel_vestin Just so you know, you can either put an x in the [] or an empty space and they will be formatted as an actual checkbox :) 12:56 < bridge> oh ok 12:58 < bridge> atleast u make something off side projects 12:58 < bridge> i wonder if i could make a side project that makes $ 12:58 < bridge> but i never have ideas and im tired and lazy 12:58 < bridge> i'm also tired and lazy 12:59 < bridge> i'm just more greedy than you 12:59 < bridge> :owo: 12:59 < bridge> true 12:59 < bridge> i guess im comfortable enough with my job salary 12:59 < bridge> it's literarily just a plugin that let you tag objects. people can make that with one single script in less than 20 lines 13:00 < bridge> see 13:00 < bridge> thats the money maker mindset 13:00 < bridge> i need to get it too 13:00 < bridge> but i dont know what to do 13:00 < bridge> xd 13:00 < bridge> can u sell godot plugins? 13:00 < bridge> maybe thats a start 13:00 < bridge> or since im so into ff14 i could make smth there 13:01 < bridge> you can 13:01 < bridge> its easier if it has a oficial marketplace i guess 13:01 < bridge> there is thirdparty godot market place 13:01 < bridge> Regarding https://github.com/ddnet/ddnet/issues/7399 13:01 < bridge> 13:01 < bridge> If i implement a change where it looks at the images for duplicates, renaming the ones that have different data but the same names, 13:01 < bridge> 13:01 < bridge> do i need to update some pointers for the tile layers etc that point to the now renamed image? 13:01 < bridge> and the first party one is on the way 13:01 < bridge> if i can make godot rust plugins 13:01 < bridge> that would be fun 13:01 < bridge> @tsfreddie url? 13:02 < bridge> just cross compile for all platforms and bundle them, then no one really cares if it is rust 13:02 < bridge> let me find it 13:02 < bridge> yeah 13:02 < bridge> i can do that with a github action 13:02 < bridge> i think to sell plugins you have to remember you are making them for non coding people 13:02 < bridge> In my opinion, it would be more fool-proof that if there are images with duplicate names, the appending is aborted? The user should know best? 13:02 < bridge> https://github.com/edg-l/ddnet-map-diff/releases/tag/v0.1.2 13:02 < bridge> like this 13:02 < bridge> yeah 13:02 < bridge> https://godotmarketplace.com/ 13:03 < bridge> i guess it is just called that 13:03 < bridge> i also found this https://godotassets.io/ 13:03 < bridge> urs looks more dope tho 13:03 < bridge> an offical one would be cool 13:04 < bridge> iirc they did say they are working on making monetization possible on the offical one 13:04 < bridge> yeah 13:04 < bridge> i wonder if there is any ppl buying at all there tho 13:04 < bridge> u mean i should use that tool when appending a map in the editor? 13:04 < bridge> no that is unrelated to whathever u are talking about, its meant for @tsfreddie 13:04 < bridge> oh xd 13:05 < bridge> that tool takes 2 maps 13:05 < bridge> and shows the difference in changes 13:05 < bridge> ah yeah ok 13:05 < bridge> by placing a new group 13:05 < bridge> and red green yellow tiles 13:05 < bridge> like git diff 13:05 < bridge> cool 13:06 < bridge> I think it should just ignore duplicates, because in most cases it's going to be the same texture/asset. 13:06 < bridge> ok if nobody has a strong opinion about it i just abort the appending if there is name collisions 13:06 < bridge> yeah 13:07 < bridge> @tsfreddie did u ever make any roblox stuff 13:07 < bridge> i hear the market size is insane 13:10 < bridge> best is you either just try out a bit, or discuss this directly in the issue 😄 13:10 < bridge> 13:10 < bridge> here it will be lost 13:10 < bridge> 13:10 < bridge> but yeah renaming sounds good to me 13:11 < bridge> you already lost it @jupeyy_keks ? 13:12 < bridge> i considered it when I was like 16 13:12 < bridge> then I found out people usually make games with unity 13:12 < bridge> didn't realize roblox stuff is money milking machine 13:13 < bridge> i have a friend working for a company that make roblox and minecraft contents 13:13 < bridge> if u want to be fame, add mario character to every game in existence 13:13 < bridge> i am lost 13:13 < bridge> Pointers to the ignored images (and sounds) need to be updated to point to the respective existing images though 13:14 < bridge> it's for kid who like to stole parents' credit cards 13:15 < bridge> as if you never stole money from u parents 13:15 < bridge> https://create.roblox.com/landing 13:15 < bridge> they got a whole ass unity-like editor 13:15 < bridge> i don't get it 13:15 < bridge> nvm it 13:15 < bridge> what lang uses robolox 13:15 < bridge> im sure its c# 13:15 < bridge> get out of my head 13:16 < bridge> lua 13:16 < bridge> modding is usually lua just for the embedability 13:16 < bridge> > Scripts are containers that hold Luau code and can modify the properties and behaviors of other objects. You can use scripts to implement the overall logic of your experience to do things like manipulate an object, change its appearance or events, or respond to user interactions. 13:17 < bridge> damn 13:17 < bridge> its always lua 13:17 < bridge> my worst nightmare 13:17 < bridge> i did use lua when I was making that tetris game in dota2 13:17 < bridge> but I found a typescript to lua compiler and switched to typescript instead 13:18 < bridge> Ryo's brain: 13:18 < bridge> Rust > WASM > rest 13:18 < bridge> i agree with u ryo 13:18 < bridge> they made typings and stuff for dota2 that is in lua which is hilarious but also pretty awesome 13:20 < bridge> I like languages that I can just pick up in 10 minutes and make a fun weekend projects 13:20 < bridge> which is why I still can't learn rust 13:20 < bridge> it's just not aligned with my brain 13:20 < bridge> it's ok, i won't blame you. 13:20 < bridge> 13:20 < bridge> but i shame you 13:21 < bridge> for 99.99% the language doesnt matter anyway 13:21 < bridge> rust! 13:22 < bridge> i might distrub y'lall, but i get a bug while making own RPC, it just won't appear so i have a problem with small_image, does someone know how to fix this? 13:22 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1171786839431069757/image.png?ex=655df289&is=654b7d89&hm=1281515c0ec65e2631f85acbed2c71d3284f13b9fb1898ef55992b34726dc62e& 13:22 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1171786839670141008/image.png?ex=655df289&is=654b7d89&hm=2393b66bb43b5fd91ed8c1dfde27d58d7a9be3912ea1f980d3d77719f139ea55& 13:23 < bridge> a bit wrong code 13:23 < bridge> https://i.imgur.com/PUmQZX0.png 13:23 < bridge> i guess idle is not a good uuid 13:23 < bridge> hm actually i forgot how discord works 13:23 < bridge> well, im using 13:23 < bridge> ```cpp 13:24 < bridge> static float OldUpdateTime = Client()->LocalTime(); 13:24 < bridge> if (OldUpdateTime + 5 < Client()->LocalTime()) 13:24 < bridge> { 13:24 < bridge> OldUpdateTime = Client()->LocalTime(); 13:24 < bridge> IDiscord *discord = Kernel()->RequestInterface(); 13:24 < bridge> int LocalID = m_aLocalIDs[g_Config.m_ClDummy]; 13:24 < bridge> bool Afk = m_aClients[LocalID].m_Afk; 13:24 < bridge> if(!discord) 13:24 < bridge> return; 13:24 < bridge> 13:24 < bridge> const char *pText; 13:24 < bridge> const char *pImage; 13:24 < bridge> 13:24 < bridge> if(Afk) 13:24 < bridge> { 13:24 < bridge> pText = "Idleing..."; 13:24 < bridge> pImage = "idle"; 13:24 < bridge> } 13:24 < bridge> else if(Client()->State() != IClient::STATE_ONLINE) 13:24 < bridge> { 13:24 < bridge> pText = "Chilling in menus"; 13:24 < bridge> pImage = "menu"; 13:24 < bridge> } 13:24 < bridge> else 13:24 < bridge> { 13:24 < bridge> pText = "Playing"; 13:24 < bridge> pImage = "greenline"; 13:24 < bridge> } 13:24 < bridge> 13:24 < bridge> but this is a problem with understanding the discord rpc 13:28 < bridge> it's too hard 13:29 < bridge> ```rust 13:29 < bridge> pub trait ValueDeserializer<'a, TType, TLibfunc> 13:29 < bridge> where 13:29 < bridge> Self: for<'de> DeserializeSeed<'de, Value = NonNull<()>>, 13:29 < bridge> TType: GenericType, 13:29 < bridge> TLibfunc: GenericLibfunc, 13:29 < bridge> { 13:29 < bridge> fn new( 13:29 < bridge> arena: &'a Bump, 13:29 < bridge> registry: &'a ProgramRegistry, 13:29 < bridge> info: &'a ::Concrete, 13:29 < bridge> ) -> Self; 13:29 < bridge> } 13:29 < bridge> ``` 13:29 < bridge> looks easy! 13:30 < bridge> and honestly it's hard to find a reason to learn it other than I just want to make something fast and safe. but I don't really need speed and i don't really understand safety anyway. 13:30 < bridge> u should learn it cuz its kinda fun idk how to say it, its u get the power of c++ with modern tooling 13:30 < bridge> and u say u dont understand safety 13:30 < bridge> it will teach u a bit 13:30 < bridge> i mean i get that 13:31 < bridge> but i don't even use C++ for the stuff that I do 13:31 < bridge> 13:31 < bridge> shame, shame, shame! 13:31 < bridge> https://tenor.com/view/game-of-thrones-got-shame-nun-gif-4969023 13:31 < bridge> even in godot i'll just use gdscript instead of C# even tho it is so much slower 13:33 < bridge> :owo: i'm sure if rust is required at work i could pick it up in less than a week 13:37 < bridge> actually, is working for Valve a cool thing to be a dream goal. I remember i think it would be cool to work for Valve but i don't remember why now 13:39 < bridge> <_voxeldoesart> if you can only count to two, then yes 13:39 < bridge> oh right. I was trying to find some quality sound design tools and presets then I realize it's like music which really is a expensive hobby to learn. 13:40 < bridge> like a VST specifically for one type of soundscape costs like 400 dollars 13:41 < bridge> like wtf 13:41 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1171791573911080980/image.png?ex=655df6f2&is=654b81f2&hm=7b9a75244f256be476b63dd5aa098450f4bb6c1a6a66e853949b08b995588e0b& 13:42 < bridge> and if you just want samples, some libraries costs $150 a year on subscriptions 13:42 < bridge> :justatest: 13:43 < bridge> ok another question, when im left servers, pMapName dont want to disappear 13:43 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1171792029685125142/image.png?ex=655df75e&is=654b825e&hm=f1b083506fc07e722930428ca07e87b6b8f47e3a7998339c34d4dc0c3f64ef17& 13:43 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1171792029987131472/image.png?ex=655df75e&is=654b825e&hm=f84a5aed9a842fbf6a4da7af9464ba9066ac46f7f47ea3e8a168eb331d06d7c2& 13:43 < bridge> https://i.imgur.com/ELLavpS.png 13:44 < bridge> why did I saw chillerdragon at first glance in that first screenshot 13:44 < bridge> lul 13:44 < bridge> idk 13:46 < bridge> as a chinese person who doesn't really speak english anymore. i still remember the day chillerdragon just give up on typing and proceed to sent me voice messages. 13:55 < bridge> ChillerDragon im gonna yoink your TeeCaptcha idea :greenthing: 13:55 < bridge> what teecaptcha idea 13:56 < bridge> https://github.com/TeeCaptcha 13:56 < bridge> oh 13:56 < bridge> lol 13:57 < bridge> make one with properly styled modal 13:58 < bridge> <_voxeldoesart> is it just going to be images or randomly generated? because if it was just images i could just train a bot to read all the inputs LOL 13:59 < bridge> Or make one where u have to select a map by name :justatest: 13:59 < bridge> the chillers one you can just get the answer from his repo i think 14:00 < bridge> It will be hard for ppl who spend all their time on multeasymap 14:00 < bridge> ye, there are just 22 sets of fixed images 14:00 < bridge> 23* 14:01 < bridge> https://github.com/TeeCaptcha/data/tree/142874132e5daebdacb2cde43ef9cf25da8d6705 14:02 < bridge> also read from io for every request is insane lol 14:02 < bridge> https://github.com/TeeCaptcha/tee-captcha/blob/c89b77133db7a8a1752df81f399f65a8e11494a8/tee-captcha.js#L82C3-L82C3 14:03 < bridge> man i'm so sleepy again 14:26 < bridge> Would also be cool if the images are captured from a live game server. 14:28 < bridge> technical writer 14:30 < bridge> I do `FILE *f = fopen(pathname, "r")` but when I execute the program it's relative to the path I execute it from. Is there a way for it to be *absolute*. (btw the pathname is "`data/shaders"`) 14:31 < bridge> The way I do it rn is that I cd to the neccessary folder first and then execute but that seems hackish to me 14:31 < bridge> Put the full path as parameter 14:31 < bridge> it'd need to start with / 14:31 < bridge> Yeah ig my question was bad. I don't know how to get the full path 14:31 < bridge> Do you ist cpp17? 14:32 < bridge> Use 14:32 < bridge> I ist C 14:32 < bridge> Mh Just Look how ddnet did it xd 14:32 < bridge> Or Internet 14:33 < bridge> <_voxeldoesart> i literally repurpose other code from ddnet to make updates LOL 14:34 < bridge> so if I do that I am Pixel? 14:35 < bridge> Yes 14:35 < bridge> :O 14:35 < bridge> U also get his art skills 14:36 < bridge> <_voxeldoesart> IM NOT PIXEL ‼️‼️‼️‼️ 14:36 < bridge> I am now! 14:37 < bridge> because Pixel != Voxel 14:37 < bridge> <_voxeldoesart> yea 14:37 < bridge> Ur pixel * 6 14:40 < bridge> ``` 14:40 < bridge> void 14:40 < bridge> gettargetdir(char *dirbuf, char *argv0) { 14:40 < bridge> size_t off; 14:40 < bridge> char *ls; /* last slash '/' */ 14:40 < bridge> 14:40 < bridge> if (!(ls = strrchr(argv0))) { 14:40 < bridge> strcpy(dirbuf, "."); 14:40 < bridge> return; 14:40 < bridge> } 14:40 < bridge> 14:40 < bridge> off = ls - argv0; 14:41 < bridge> strncpy(dirbuf, argv0, off); 14:41 < bridge> dirbuf[off] = '\0'; 14:41 < bridge> } 14:41 < bridge> 14:41 < bridge> int main(int argc, char *argv[]) { 14:41 < bridge> char targetdir[PATH_MAX]; 14:41 < bridge> 14:41 < bridge> gettargetdir(targetdir, argv[0]); 14:41 < bridge> chdir(targetdir); 14:41 < bridge> } 14:41 < bridge> ``` @mr.gh0s7 14:41 < bridge> argv[0] should be valid, it's the only way to get a short-of path of the executable (without using /proc) 14:42 < bridge> `argv[0]` couldn't be used only if it is intentionally invalid 14:42 < bridge> u can put c after the backsticks for color 14:43 < bridge> true XD but I'm so used in no syntax highligting 14:43 < bridge> damn oldschool 14:43 < bridge> im a kid i like colors 14:43 < bridge> no way I'd guess it was missing XD 14:43 < bridge> so I'd edit it right? 14:43 < bridge> u can edit it 14:44 < bridge> ```c 14:44 < bridge> void 14:44 < bridge> gettargetdir(char *dirbuf, char *argv0) { 14:44 < bridge> size_t off; 14:44 < bridge> char *ls; /* last slash '/' */ 14:44 < bridge> 14:44 < bridge> if (!(ls = strrchr(argv0))) { 14:44 < bridge> strcpy(dirbuf, "."); 14:44 < bridge> return; 14:44 < bridge> } 14:44 < bridge> 14:44 < bridge> off = ls - argv0; 14:44 < bridge> strncpy(dirbuf, argv0, off); 14:44 < bridge> dirbuf[off] = '\0'; 14:44 < bridge> } 14:44 < bridge> 14:44 < bridge> int main(int argc, char *argv[]) { 14:44 < bridge> char targetdir[PATH_MAX]; 14:44 < bridge> 14:44 < bridge> gettargetdir(targetdir, argv[0]); 14:44 < bridge> chdir(targetdir); 14:44 < bridge> } 14:44 < bridge> ``` @mr.gh0s7 14:44 < bridge> ddnet uses argv[0] too I guess I shall do it the zogtib way :) 14:45 < bridge> You could undo the chdir if you need, but prob you won't. 14:46 < bridge> u can also use getenv to get home dir 14:46 < bridge> Do u seriously want to tell me u code without colors? 14:46 < bridge> maybe its more portable 14:46 < bridge> haxxor 14:46 < bridge> I currenlty do, didn't always 🙂 14:46 < bridge> I do only syntax-highlighting for comments 14:47 < bridge> @gotroyb r u 60y old 14:47 < bridge> Do you intentionally make your life harder or what xd 14:47 < bridge> https://www.shuttle.rs/blog/2023/10/25/htmx-with-rust 14:47 < bridge> syntax highligting hides beautiful code structure or smth 14:47 < bridge> lol no 14:48 < bridge> coloring helps seeing the 60% (let's say) easier but makes seeing the 90%+ harder 14:48 < bridge> I already die when phantom code for parameter name doesn't work xd 14:48 < bridge> at least for me ig 14:48 < bridge> ?? xd 14:48 < bridge> also I currently program in C so syntax isn't very complicated or smth 14:49 < bridge> do u program in c for a living 14:49 < bridge> I'm in uni, I'm supposed to study for that but... (long story) 14:49 < bridge> @jupeyy_keks i want to make my own data format and learn serde deep 14:49 < bridge> any idea 14:50 < bridge> teeformat 14:50 < bridge> currently :kek:. soon™ in your own 14:50 < bridge> You could try to serialize data for wasmer 14:50 < bridge> well i think im learning serde deep rn cuz my work 14:51 < bridge> what format does it use 14:51 < bridge> Your own xd 14:51 < bridge> xd 14:52 < bridge> When i was in uni i also coded fng mod in notepad++. And i have to say, i don't miss these times xD 14:52 < bridge> 14:52 < bridge> The cool thing is that u have to remember variable names better etc 14:52 < bridge> 14:52 < bridge> But once u forget them, rip 14:52 < bridge> i never was in uni 14:52 < bridge> take that 14:52 < bridge> ez 14:52 < bridge> well i was 1 year 14:53 < bridge> :greenthing: 14:53 < bridge> i saved probably like 3k€ and got a job so instead i got money 14:54 < bridge> I open other files in `less` so I can see variable names etc directly, I don't use memory for everything. 14:54 < bridge> @snailx3 TOCTOU :justatest: 14:55 < bridge> u can pipe less with bat 14:55 < bridge> for colors 14:55 < bridge> made in rust btw 14:55 < bridge> https://github.com/sharkdp/bat 14:55 < bridge> also I cannot for not colors 🙂 14:55 < bridge> I know bat already 🙂 14:55 < bridge> I use bat for colored inspect 14:55 < bridge> with neovim u can use bat 14:56 < bridge> for previewing 14:56 < bridge> <_voxeldoesart> i use my eyes for colors 14:56 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1171810461717643274/shot_20231108_155607w.png?ex=655e0889&is=654b9389&hm=57b6652b833fcd87eabaa576715dfbf5055fb66435a7a824e01ab326850069a8& 14:56 < bridge> <_voxeldoesart> bwcause thats how i see 14:56 < bridge> i use exa instead of ls 14:56 < bridge> <_voxeldoesart> because thats how i see 14:56 < bridge> burn 14:56 < bridge> :kek: 14:57 < bridge> I am a ghost 🥼 🎩 14:57 < bridge> @jupeyy_keks funny quote 14:57 < bridge> > Rust is the language where you get the hangover first. 14:57 < bridge> <_voxeldoesart> what 14:58 < bridge> this is lf (terminal file manager) 14:58 < bridge> <_voxeldoesart> ah 14:58 < bridge> I keep forgetting you're on windows though :feelsbadman: 14:58 < bridge> `lf` is in Go and has Windows support 14:58 < bridge> You seem like someone that would love unix :feelsamazingman: 14:59 < bridge> <_voxeldoesart> idk what unix is 14:59 < bridge> ikr :feelsbadman: 14:59 < bridge> u know what unix is 14:59 < bridge> right? xd 14:59 < bridge> I do. 14:59 < bridge> i mean voxel 14:59 < bridge> maybe he is trolling 15:00 < bridge> My eyes :1282confused: 15:01 < bridge> <_voxeldoesart> i do not 15:01 < bridge> <_voxeldoesart> is it an app 15:01 < bridge> UNIX technically is a trademark 15:01 < bridge> linux, FreeBSD, OpenBSD etc are all UNIX-like Operating Systems 15:02 < bridge> Look at this masterpiece 15:03 < bridge> so linux cannot be called UNIX (UNIX is a trademark) but the behave similarly, they have common functionallity hence linux is UNIX-like 15:04 < bridge> so linux cannot be called UNIX (UNIX is a trademark) but they behave similarly, they have common functionallity hence linux is UNIX-like 15:04 < bridge> toctou for life 15:06 < bridge> <_voxeldoesart> ohhhh ok 15:25 < bridge> https://ferrous-systems.com/blog/officially-qualified-ferrocene/ 15:25 < bridge> @heinrich5991 @learath2 @jupeyy_keks ! 15:25 < bridge> It’s official: Ferrocene is ISO 26262 and IEC 61508 qualified! 15:25 < bridge> 15:26 < bridge> You can even find the certificate in TÜV SÜDs certificate database. 15:26 < bridge> https://www.tuvsud.com/de-de/dienstleistungen/produktpruefung-und-produktzertifizierung/zertifikatsdatenbank?q=Z10+123030+0001+Rev.+00 15:26 < bridge> > This means we achieved qualification for the open source Ferrocene toolchain. Ferrocene 23.06.0, based on Rust 1.68, is now fully usable in safety critical environments. 15:26 < bridge> > With these qualifications, Rust can now be used to develop software for electronic systems in series production road vehicles. We’ve qualified Ferrocene for use in systems up to ASIL D – the highest classification of initial hazard as defined by this standard. This standard provides automakers with guidelines that make the software being used to develop, produce, operate and service the automotive sectors safe to use. 15:26 < bridge> > 15:26 < bridge> > Beyond the automotive, Ferrocene can also be used in electronic programmable systems in the industrial sector. Here the focus is on developing products or applications that carry out safety functions. Like the automotive certification, we’ve also gone for the highest level of risk reduction and qualified it at SIL4. 15:26 < bridge> > 15:27 < bridge> > “Ferrocene is a major achievement both for Rust and safety in automotive,” says Florian. “It shows that Rust software can be used in all critical environments. The process was challenging but matched what we’ve come to expect from Rust: It enables building correct software at a much lower cost.” 15:27 < bridge> > 15:27 < bridge> > With this step, we can start rolling out the sales process on Ferrocene. Our initial availability is limited to a minimum order of 10 license seats for 12 months, starting at €2.400,00 (€240 each) for the quality managed licenses. 15:27 < bridge> Cool 15:27 < bridge> Maybe 15:28 < bridge> But why does it cost money xd 15:28 < bridge> safety licenses cost 15:28 < bridge> i bet they spend a lot to get their compiler qualified 15:28 < bridge> but this is aimed at big corpo 15:28 < bridge> they got the money to pay that xd 15:28 < bridge> Then why doesn't it only cost money for them 15:29 < bridge> xd 15:29 < bridge> u need the qualification when using the software on a distributed car 15:29 < bridge> i guess u dont need the license for it if u dont 15:29 < bridge> @jupeyy_keks the source code is open btw 15:29 < bridge> u can use it 15:30 < bridge> https://github.com/ferrocene/ferrocene 15:34 < bridge> why tf i have error expected ; after class in `variables` and`config_variables` 15:34 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1171819977498701874/image.png?ex=655e1165&is=654b9c65&hm=e421055a01bb6871f0b3acc761d6d5ff88d73617b743e11e47cb0b81008b33ba& 15:37 < bridge> does the compiler or the IDE complain? 15:40 < bridge> Awesome, now i will still not use it anyway xdd 15:40 < bridge> @ryozuki non rust problems 😏 15:41 < bridge> compiler 15:42 < bridge> Search for ; in the file 15:43 < bridge> The file is included multiple times 15:43 < bridge> https://i.imgur.com/d3OcTEZ.png 15:43 < bridge> Also it's included in a textual sense 15:43 < bridge> so i have to search where file was included twice? 15:44 < bridge> Yes and look how the macro definitions look like 15:44 < bridge> https://tenor.com/view/skull-skull-emoji-omori-basil-basil-omori-gif-25680753 15:44 < bridge> that file is meant to be included multiple times 15:44 < bridge> Or show the compile output 15:44 < bridge> Maybe it's more clever 15:45 < bridge> `C:\Users\storm\CLionProjects\StormAcl\src\././game/variables.h(8,1): fatal error C1189: #error: "The config macros must be defined" [C:\Users\storm\CLionProjects\StormAcl\cmake-build-debug-visual-studio\game-client.vcxproj` 15:45 < bridge> So u simply have a normal error xd 15:45 < bridge> It even says what to do 15:45 < bridge> but where tf 15:45 < bridge> Where did u include it 15:46 < bridge> Isn't the compiler error longer 15:46 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1171823014577451048/image.png?ex=655e143a&is=654b9f3a&hm=1be912959933a0fe17411dc134c672bd829f3719086cfcdac8b69f41e7abc232& 15:46 < bridge> That won't work 15:46 < bridge> It's not a header file 15:46 < bridge> it started 15:46 < bridge> wtf 15:47 < bridge> Not as u understand headers 15:47 < bridge> well 15:47 < bridge> alr, thanks you for advide 15:47 < bridge> i'll search for differend variation 15:47 < bridge> ty:3 15:54 < bridge> https://github.com/Inateblig/LearnOpenGL :) 15:55 < bridge> Please critisize it ;) 16:01 < bridge> Nice 16:01 < bridge> But no screenshots xd 16:16 < bridge> :O right I forgot 16:17 < bridge> do you like my "build" system xD 16:17 < bridge> shell script :justatest: 16:18 < bridge> :greenthing: 16:19 < bridge> i rate it with 481/shell 16:21 < bridge> thats 89.9254% ! 16:24 < bridge> oh thats cool 16:24 < bridge> i just now realized 16:33 < bridge> why the .exe..... 16:33 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1171834973968412734/image.png?ex=655e1f5d&is=654baa5d&hm=4a42afc57089e5ca2abbbabc2151f919093d7110dc2ff386ce39ce3c93247c50& 16:33 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1171834974287167609/image.png?ex=655e1f5d&is=654baa5d&hm=f22ff5fcbc25d0a36b129be94ea88c493c7741703ac518441b23853b849e40b8& 16:33 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1171834974610145350/image.png?ex=655e1f5d&is=654baa5d&hm=13c53f5b3204bf5304cb7b818c08ed977cf4d2aef80479e0c2bd2797961fa2fc& 16:34 < bridge> because it's an executable ¯\_(ツ)_/¯ 16:34 < bridge> https://cdn.discordapp.com/emojis/927729760308719677.gif?size=64 16:34 < bridge> :kek: 16:35 < bridge> also I forgot to do exercise 3 I am doing it now :owo: 16:37 < bridge> need a little more docs. 16:37 < bridge> whats the diffrence between 2.1 and 2.2? 16:37 < bridge> need a more docs. 16:38 < bridge> ;) 16:40 < bridge> why does draw.c contain shader linking code xd 16:40 < bridge> bad name xD 16:41 < bridge> should prob need to have setup or run 16:42 < bridge> are u making a tutorial or following a tutorial? i dont get it 16:42 < bridge> I am following one 16:43 < bridge> https://learnopengl.com/ 16:46 < bridge> https://docs.rs/typed-json/latest/typed_json/ 16:46 < bridge> https://twitter.com/ConradLudgate/status/1721957184982913248 16:46 < bridge> 5x faster than `serde_json::json!()` 16:48 < bridge> what's the use case for this? 16:48 < bridge> can it maybe go into upstream serde? 17:00 < bridge> void str_append(char *dst, const char *src, int dst_size) 17:00 < bridge> { 17:00 < bridge> int s = str_length(dst); 17:00 < bridge> int i = 0; 17:00 < bridge> while(s < dst_size) 17:00 < bridge> { 17:00 < bridge> dst[s] = src[i]; 17:00 < bridge> if(!src[i]) /* check for null termination */ 17:00 < bridge> break; 17:00 < bridge> s++; 17:00 < bridge> i++; 17:00 < bridge> 17:00 < bridge> } 17:00 < bridge> 17:00 < bridge> dst[dst_size - 1] = 0; /* assure null termination */ 17:00 < bridge> str_utf8_fix_truncation(dst); 17:00 < bridge> } 17:00 < bridge> someone have an idea what happen lmao 17:00 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1171841564402778204/image.png?ex=655e2580&is=654bb080&hm=8fa63037151cdc9ca3e94b54fcc5bf6681d219e2a46c3407913b0a59e96b3655& 17:00 < bridge> ```cpp 17:00 < bridge> 17:00 < bridge> void str_append(char *dst, const char *src, int dst_size) 17:00 < bridge> { 17:00 < bridge> int s = str_length(dst); 17:00 < bridge> int i = 0; 17:00 < bridge> while(s < dst_size) 17:00 < bridge> { 17:00 < bridge> dst[s] = src[i]; 17:00 < bridge> if(!src[i]) /* check for null termination */ 17:00 < bridge> break; 17:00 < bridge> s++; 17:00 < bridge> i++; 17:00 < bridge> 17:00 < bridge> } 17:01 < bridge> 17:01 < bridge> dst[dst_size - 1] = 0; /* assure null termination */ 17:01 < bridge> str_utf8_fix_truncation(dst); 17:01 < bridge> }``` 17:01 < bridge> someone have an idea what happen lmao 17:01 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1171841564402778204/image.png?ex=655e2580&is=654bb080&hm=8fa63037151cdc9ca3e94b54fcc5bf6681d219e2a46c3407913b0a59e96b3655& 17:02 < bridge> it says the source pointer is `nullptr` 17:02 < bridge> if you call `str_append(aBuf, nullptr, sizeof(aBuf))`, it'll likely crash right there 17:03 < bridge> so, how can i actually fix this 17:03 < bridge> I just upgraded my client to the latest version of DDNet. And now I can't see the two #define :justatest: 17:03 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1171842499858399332/image.png?ex=655e265f&is=654bb15f&hm=60b1bcdb2d3ced33fded0016e985a98e4726a44651c8a772f9fc801aec4e2b33& 17:03 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1171842500089094214/image.png?ex=655e265f&is=654bb15f&hm=d56e7b6c208cd9392d0b68f7ff67c1e709bb2ea551602128f1848fc15c0c3ae9& 17:03 < bridge> yo 17:04 < bridge> :justatest: 17:04 < bridge> 1st screenshot 17:04 < bridge> who are u 17:04 < bridge> see u first time 17:04 < bridge> it skips serde_json::Value altogether 17:04 < bridge> if u know how ur json looks it can be fast using that macro 17:04 < bridge> well thats what i got from the comments 17:05 < bridge> u need to pass a non-null pointer as `src` 17:06 < bridge> where do u call this method 17:15 < bridge> I added them now :) 17:16 < bridge> oh ok cool 17:16 < bridge> i know some opengl if u have a question 17:19 < bridge> i spend 1hr for resolve problem 17:19 < bridge> i just worgot to put , in the end 17:24 < bridge> Will do, thanks :) 17:39 < bridge> uuuh how do i run the tests 17:39 < bridge> for client 17:40 < bridge> nvm im blind 17:40 < bridge> :owo: 18:04 < bridge> what is confusing 18:04 < bridge> #define is in dark color and cannot be called in the code, which causes a lot of compilation errors 18:05 < bridge> because it’s wrapped in an #ifndef 18:05 < bridge> ifndef = if not defined 18:05 < bridge> which it is, by the CMake 18:07 < bridge> sounds like you should move `SCLIENT_RELEASE_VERSION` below the `#endif` 18:14 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1171860327902752768/image.png?ex=655e36fa&is=654bc1fa&hm=44c4458aeb6692cb4b921fe2b250466513b8879e2553bcd3b7bf88f9cb1d4e75& 18:16 < bridge> yes 18:39 < bridge> But I still want the regular version just as much 18:41 < bridge> The regular version will be defined properly by cmake. That's why it's grey 18:41 < bridge> It is defined, so the ifndef doesnt happen 22:02 < bridge> Have you guys touched any network related code? 22:02 < bridge> Today me and another played have had a very strange thing happen. We could perfectly see chat and other players movement but were completely unable to move. 22:02 < bridge> I'm not sending this on bugs cause it may be more network related (mine is reallyyy bad), but idk, never happened before as far as I can remember. 22:03 < bridge> you could not chat yourselves? 22:03 < bridge> hardly. message sometimes was sent quite fast, sometimes took a few seconds 22:04 < bridge> but it was fixed after restarting the game 22:12 < bridge> This is an ancient bug. Has been around for half a decade 22:14 < bridge> No idea how to trigger it, no theories on what it might be. Happens to me completely randomly sometimes. Usually preceded by a connection problems for just a sec 22:14 < bridge> not sure if it's a bug or the server not receving the messages 22:14 < bridge> was it on ger10? 22:14 < bridge> yes I think 22:15 < bridge> then I'd put the blame there @learath2 22:15 < bridge> oh okay. strange I haven't had that earlier since I usually have those connection issues xd 22:16 < bridge> It happened to me way before ger10 and the advent of smartish xdp firewalls 22:18 < bridge> by message you mean inputs? everything seemed to be working properly except for my movement. where it seemed like I had 10k ms when the game showed constant 70 (con control shift d) 22:18 < bridge> oh, so the input worked, just delayed a lot? 22:22 < bridge> And messages had a random delay almost as if the server was actively being ddosed? 22:22 < bridge> ehh idk. i'd like to say no. like the client was registering it but not the server so I was like going back? at least I spent like 5 minutes trying to reach a tile that was 1 jump away and couldn't xd 22:22 < bridge> no 22:23 < bridge> well, mine yes 22:23 < bridge> For me when that happens either my messages are completely fine or delayed by several seconds 22:24 < bridge> okay maybe it was the same then 22:26 < bridge> next time, hoping there wont be a next, I'll try to record it or something 22:28 < bridge> if you can, record it with wireshark, too 22:35 < bridge> ive had those bugs before 22:36 < bridge> well i dont know what bug i DIDNT have at this point 22:36 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1171926207323967590/image.png?ex=655e7455&is=654bff55&hm=95ca44cb76b39eae1209b85b86cdfe248a58c23ec5be656486c2a8334e205898& 22:36 < bridge> please post it as text so that people can search for it 22:37 < bridge> how do I resolve this? 22:37 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1171926207323967590/image.png?ex=655e7455&is=654bff55&hm=95ca44cb76b39eae1209b85b86cdfe248a58c23ec5be656486c2a8334e205898& 22:37 < bridge> :D 22:39 < bridge> does anyone know how to resolve this error when registering? 22:39 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1171926207323967590/image.png?ex=655e7455&is=654bff55&hm=95ca44cb76b39eae1209b85b86cdfe248a58c23ec5be656486c2a8334e205898& 22:47 < bridge> @robyt3 tryhard xd 22:47 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1171929033680891954/image.png?ex=655e76f7&is=654c01f7&hm=ab116e16380c3da1ea4bc22a60ab14f55e32ab9ea3e15d38b10d48281913778b& 22:49 < bridge> seems to be the most commented pr 22:49 < bridge> in one week xDD 22:49 < bridge> <_voxeldoesart> why so many security warnings LMFAO 22:50 < bridge> yeah dunno 22:50 < bridge> github also doesn't respect them in their sort filter: 22:50 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1171929701925789716/image.png?ex=655e7796&is=654c0296&hm=d832bfdedd5967c5f99a88fc357d1e1c7f2610c3ac02b18d65e4de1d3d73c530& 22:50 < bridge> Trying to print a value of type `size_t` with `%d` format 22:51 < bridge> print format specifiers are really annoying, ngl 22:52 < bridge> The ones for `size_t` are basically broke for translated texts because `PRIzu` is defined as different strings depending on compiler 22:52 < bridge> xd 22:53 < bridge> MSVC and c 22:53 < bridge> 22:53 < bridge> a love nobody understands 22:53 < bridge> true noby does understand :kek: 22:53 < bridge> We don't print `size_t` in any localized text though, and casing to `int` fixes it for most cases anyway 22:53 < bridge> just cast them to `int` I guess 22:53 < bridge> Only Learath, master of all 4 compilers could stop them 22:53 < bridge> 22:53 < bridge> but when the world needed him most, he vanished 22:56 < bridge> @patiga https://github.com/ddnet/ddnet/pull/2889#issuecomment-697024814 22:56 < bridge> 22:56 < bridge> this is one for you 22:57 < bridge> #3108 22:57 < bridge> https://github.com/ddnet/ddnet/pull/3108 22:57 < bridge> 😬 😬 😬 😬 😬 😬 😬 22:58 < bridge> What am I stopping? 22:58 < bridge> Ah printing size_t 23:00 < bridge> Honestly, not printing size_t is the best 23:01 < bridge> variadic templates are best 23:02 < bridge> https://stackoverflow.com/questions/15610053/correct-printf-format-specifier-for-size-t-zu-or-iu ? 23:02 < bridge> sadly mingw still makes trouble 23:03 < bridge> at least that was the reason we removed it 23:18 < bridge> I dont even remember the mingw issue. Remind me pls 23:20 < bridge> apprently you need c99 for %z 23:20 < bridge> perhaps msvc started supporting that nowadays? 23:21 < bridge> Ah but msvc refuses to even support c99 properly? 23:22 < bridge> https://learn.microsoft.com/en-us/cpp/overview/visual-cpp-language-conformance?view=msvc-170 23:22 < bridge> can't figure it out from this 23:22 < bridge> but in theory they wanted to start supporting parts of it 23:23 < bridge> something something fungal plant pathogens of the order pucciniales 23:25 < bridge> Ask chairn. He uses mingw 1.0 on Windows 98 23:25 < bridge> 23:25 < bridge> #6191 23:25 < bridge> https://github.com/ddnet/ddnet/pull/6191 23:27 < bridge> No support for z.... I hate Microsoft 23:27 < bridge> With a passion 23:38 < bridge> OpenGL question :). Here https://learnopengl.com/Getting-started/Shaders on the `More attributes!` section it add color to the vertices array which I am not particulary fond of. Instead I made another array named colorsOfVertices and created `GLuint VBOs[2]` and then ```c 23:38 < bridge> glBindBuffer(GL_ARRAY_BUFFER, VBOs[0]); 23:38 < bridge> glVertexAttribPointer(0, 3, GL_FLOAT, GL_FALSE, 3 * sizeof(float), (void*)0); 23:38 < bridge> glEnableVertexAttribArray(0); 23:38 < bridge> glBindBuffer(GL_ARRAY_BUFFER, VBOs[1]); 23:38 < bridge> glBufferData(GL_ARRAY_BUFFER, sizeof(colorsOfVertices), colorsOfVertices, GL_STATIC_DRAW); 23:38 < bridge> glVertexAttribPointer(1, 3, GL_FLOAT, GL_FALSE, 3 * sizeof(float), (void*)0); 23:38 < bridge> glEnableVertexAttribArray(1); 23:38 < bridge> ``` instead of ```c 23:38 < bridge> glBindBuffer(GL_ARRAY_BUFFER, VBO); 23:38 < bridge> glBufferData(GL_ARRAY_BUFFER, sizeof(vertices), vertices, GL_STATIC_DRAW); 23:38 < bridge> glVertexAttribPointer(0, 3, GL_FLOAT, GL_FALSE, 6 * sizeof(float), (void*)0); 23:38 < bridge> glEnableVertexAttribArray(0); 23:38 < bridge> glVertexAttribPointer(1, 3, GL_FLOAT, GL_FALSE, 6 * sizeof(float), (void*)(3* sizeof(float))); 23:38 < bridge> glEnableVertexAttribArray(1);``` 23:38 < bridge> This mentions that support for `%zu` was added at VS 2013, but MinGW doesn't? 23:39 < bridge> This works btw. I forgot to actually ask something xD 23:39 < bridge> Is it bad practice to do this? (create mutlitple VBOs for each to hold vertices and the color of the vertices)? 23:41 < bridge> Classic rainbow triangle :) 23:41 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1171942518280175626/shot_20231109_004018w.png.png?ex=655e8385&is=654c0e85&hm=16f68c2b37fe31d859e5e4538859bc2267eca77b1d08d0261069c9bad1cc521e& 23:45 < bridge> Mh hard to say if it's bad practice. It might be slightly less cache friendly because you load memory from two locations. 23:45 < bridge> It's maybe a bit more annoying to work with. But if u update your color buffers often, might actually be better. 23:45 < bridge> 23:45 < bridge> Do depends on your use case i guess. Like always. 23:45 < bridge> 23:45 < bridge> I personally would not split them 23:46 < bridge> Ok, thanks! 🥼 🎩 23:46 < bridge> I wouldn't split them either but I'm not a gfxwizard like jupsti