00:04 < bridge> I don't think those ever worked, we only ever used that CI to make sure it still compiles 00:14 < bridge> but like, why not? I don't think it should be impossible or even that hard to make them work 00:15 < bridge> It just was never something we really cared about I guess. Only me, noby and at some point deen had macs, I never played on it, deen only used his for his job and noby probably built his own client 00:15 < bridge> hmm ok 00:16 < bridge> ihave mac but i would never play 00:16 < bridge> I fixed some macOS sdl issues because I'm very obsessive. Cleaned up the objective C stuff we had. Cleaned up some linking stuff. Didn't really touch it ever again after my mac broke 00:16 < bridge> the objective c stuff is deprecated 00:16 < bridge> in macos 14.5 or smth 00:16 < bridge> like it throws warns 00:16 < bridge> about methods 00:17 < bridge> What we have? I guess it might need an update 00:17 < bridge> .mm files 00:17 < bridge> I did all of this on Catalina, that's 10.15 I think 00:17 < bridge> deen's pc seems to be the only one capable of making a universal macos binary lol. I can't figure it out 00:18 < bridge> Do we ship fat binaries with both aarch64 and amd64? 00:18 < bridge> yeah it looks like it 00:18 < bridge> what fails? 00:18 < bridge> libpng is linking itself wrong 00:19 < bridge> or something weird 00:19 < bridge> see above convo 00:19 < bridge> Also I think our official mac build is still crossbuilt from linux, it might be an issue there too 00:19 < bridge> oh 00:19 < bridge> interesting 00:19 < bridge> maybe I should do that instead 00:19 < bridge> it is entirely possible no one really ever tried the build process on an actual mac 00:20 < bridge> I remember it being quite annoying to set up osxcross, but you can try 00:20 < bridge> yeah it looked annoying 00:20 < bridge> You can also try to fix the native build, or you can donate me a mac and I can try fix the native build again 😄 00:21 < bridge> ship me the mac, I ship it back after 😄 00:21 < bridge> I think the shipping costs more than the mac I'm using to test lol 00:22 < bridge> is it native aarch64? that might also be causing issues, back when I last made sure the mac thing still built natively aarch64 macs werent even a thing 00:22 < bridge> idk 00:22 < bridge> I think it's like a 2015 mac mini or something 00:22 < bridge> I forgot the year 00:23 < bridge> Ah, that's probably still amd64, yeah idk if you can build fat binaries on there, if anyone tested native builds recently it's deen and he has an apple silicon macbook iirc 00:24 < bridge> I'm not building it on this mac I'm just testing 00:24 < bridge> it's building in the github runner 00:24 < bridge> tela builds it all the time 00:24 < bridge> Nice to hear someone still does 😄 00:24 < bridge> on x86 tho 00:24 < bridge> it's easier to build if it only needs to work on your system 00:25 < bridge> fwiw i built it fine 00:25 < bridge> i got it on my work laptop briefly 00:25 < bridge> played tclient 00:25 < bridge> a month or so ago 00:25 < bridge> it's much harder to run into system library issues if you're building and running it on the same machine 00:26 < bridge> anyway I'm close to making it work 01:23 < bridge> :o it finished building this time 01:23 < bridge> I wonder if it works 01:27 < bridge> rip 01:27 < bridge> still broke 01:28 < bridge> apparently this is literally a cmake bug 01:28 < bridge> https://gitlab.kitware.com/cmake/cmake/-/issues/18921 01:30 < bridge> or atleast it's annoying behavior 01:30 < bridge> It seems you can disable it 02:59 < bridge> It's so funny to see some Russian guy faked me playing 02:59 < bridge> Like I have a faker now XD 03:31 < bridge> oh my god it works 03:31 < bridge> but it needs to be after a NewRun 03:32 < bridge> idk why but oh well LOL 03:33 < bridge> uh 03:33 < bridge> nevermind?? 03:33 < bridge> ok so apperantly it just doesnt place down a tile if the condition is false now 03:33 < bridge> im DEFINTELY doing something wrong 03:38 < bridge> I fixed it!! 03:42 < bridge> https://github.com/ddnet/ddnet/pull/9512 03:42 < bridge> Can anyone review this so far, before I add in guide layer? 07:05 < Boke> Is anyone there? 07:29 < bridge> <0xdeen> Hi Boke 07:30 < Boke> Hello! I would like to ask, how can I get the skin of a specific player? And then set it as my own skin? 07:31 < bridge> <0xdeen> in the code? Not sure 😄 07:34 < Boke> Yes, I didn't find it in character.cpp either. 07:34 < bridge> you have to look in client side i suppose... :troll: 07:35 < bridge> just search up for scoreboard and check where it gets the data about all players to render 07:36 < Boke> Thank you! I'll try it 07:55 < bridge> You can also check out players.cpp where the players are rendered. 08:06 < bridge> morning peeps 08:06 < bridge> and peepetes 08:08 < bridge> morning 08:09 < bridge> im gonna check it out 08:35 < bridge> left some minor comments but it looks ok for me 08:39 < Boke> Thanks teero 08:39 < bridge> troll 08:39 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1332253533998813299/image.png?ex=6794954a&is=679343ca&hm=525dc27a29e13af4c082148dc68f5710046505c3ba79a7c289a80a69419bb140& 08:41 < Boke> I found something I'm not sure if it's correct or not. How do I output it to the chat box? I'm using "dbg_msg" to output to the console, which is not convenient for viewing. 08:42 < bridge> ` void SendChatTarget(int To, const char *pText, int VersionFlags = FLAG_SIX | FLAG_SIXUP) const;` 09:03 < bridge> havent u read the contributing guide xD 09:08 < bridge> no 09:21 < bridge> how is this troll? xd 09:21 < bridge> the ci will reject the pr if u dont fix it anyway 09:21 < bridge> iirc 09:22 < bridge> anyway u need to follow the naming convention 09:33 < bridge> @robyt3 fixed the ur comments on my censor pr :owo: 09:33 < bridge> @robyt3 fixed ur comments on my censor pr :owo: 09:34 < bridge> `std::optional> m_vLoadedWords;` 09:34 < bridge> :gigachad: 09:34 < bridge> trying to mimic rust kek 09:35 < bridge> Yea I distribute my clients based on CI builds. It always worked? Did it recently broke? 09:38 < bridge> build - yes, since i dont have mac idk if F-Client ever worked on mac but some people reported it doesnt work correctly or smth 09:38 < bridge> It runs? 09:38 < bridge> I'll take a look at your ci 09:39 < bridge> <@749222324980416602>: chillerbot.github.io has cl\_skin\_stealer hehe 09:40 < bridge> Do we need a „I have red CONTRIBUTING.md“ checkbox in the pr template? 09:41 < bridge> Chillerdragon which github ci file makes your builds the ddnet one has never worked afaik? 09:41 < bridge> Why is it not convenient? I recommend windowed for development then you can do split screen with your terminal. Otherwise you can also set your log levels to verbose and you see dbg\_msgs in the client console (f1 by default) 09:42 < bridge> I have nothing custom I use ddnet 09:42 < bridge> yea definitely 09:43 < bridge> I did not know they started to break. But I am not booting my old ass Mac now to test 09:43 < bridge> @totar: your pipeline passes right? 09:43 < bridge> It builds but it isn't compatible with any macos versions 09:44 < bridge> Have you tested yours 09:44 < bridge> Then I might suffer from the same issue 09:44 < bridge> Even after fixing that issue I run into more hidden issues that are much harder to fix 09:45 < bridge> I know that rqza is gaming on ZillyWoods just fine but that’s a 5 year old teeworlds based client not sure how that is built. I think chillerbot has 0 macos users. So it might be fully broken 09:45 < bridge> cmake refuses to use the bundled libpng library on macos because the github runners have Mono installed by default and removing it breaks everything. 09:46 < bridge> There's some weird bug/quirk where it finds the headers from one place and the library from another 09:46 < bridge> Should be investigated then. Having the CI do release is nice 09:47 < bridge> According to learath it never worked so I'm going to make a crossosx ci which has been tested 09:48 < bridge> Also the Linux builds don't work either but you just need to add prefer bundled libs 09:49 < bridge> That should be added to ddnet then 09:50 < bridge> Its probably possible to fix the native macos build but I'm not qualified 09:51 < bridge> Then just fix the Linux one :) 09:53 < bridge> Sure 10:03 < bridge> https://x.com/ahmadaccino/status/1882513346144161972 11:10 < bridge> @learath2 to cast a void* to uintptr_t would u use `reinterpret_cast`? 11:11 < bridge> i guess yes 11:16 < bridge> make everyone reading your code suffer, static cast it 11:16 < bridge> static_cast(reinterpret_cast static_cast is enough 11:21 < bridge> doc says reinterpret_cast 11:21 < bridge> the llvm code uses reinterpret_cast 11:21 < bridge> > Unlike static_cast, but like const_cast, the reinterpret_cast expression does not compile to any CPU instructions (except when converting between integers and pointers, or between pointers on obscure architectures where pointer representation depends on its type) 11:21 < bridge> iwonder what cpu instructions does when its ptr to int 11:22 < bridge> https://llvm.org/docs/LangRef.html#ptrtoint-to-instruction 11:22 < bridge> > he ‘ptrtoint’ instruction converts value to integer type ty2 by interpreting the pointer value as an integer and either truncating or zero extending that value to the size of the integer type. If value is smaller than ty2 then a zero extension is done. If value is larger than ty2 then a truncation is done. If they are the same size, then nothing is done (no-op cast) other than a type change. 11:22 < bridge> in llvm it should do thisç 11:22 < bridge> > the ‘ptrtoint’ instruction converts value to integer type ty2 by interpreting the pointer value as an integer and either truncating or zero extending that value to the size of the integer type. If value is smaller than ty2 then a zero extension is done. If value is larger than ty2 then a truncation is done. If they are the same size, then nothing is done (no-op cast) other than a type change. 11:22 < bridge> apprently, casting pointer to int is unsafe with static_cast 11:23 < bridge> apparently, casting pointer to int is unsafe with static_cast 11:23 < bridge> Yes. That's the correct cast 11:28 < bridge> Not only unsafe but iirc impossible. It's not one of the casts the standard allows static_cast to do 11:29 < Boke> @chillerdragon Thank you so much!I have another question, When iterating over the player array using “for(int i = 0; i < MAX_CLIENTS; i++) { // Server-side CPlayer *pPlayer = GameServer()->m_apPlayers[i]; }”, how do you determine if it is not yourself? 11:31 < bridge> indeed `error: invalid ‘static_cast’ from type ‘int*’ to type ‘int’` 11:57 < bridge> There should be a cluentid somewhere I guess 11:58 < bridge> There should be a clientid somewhere I guess 12:13 < ws-client> Boke what does "yourself" mean on the server side? 12:14 < ws-client> also btw Boke cool kids these days loop using ``for(CPlayer *pPlayer : GameServer()->m_apPlayers)`` 12:20 < Boke> What I mean is that this traversal will include my own character, how can I exclude it? 12:22 < bridge> What context you are in is important here. For the server there is no general concept of "my own character". How should the server know who you are? 12:22 < bridge> In the context of a console command you have a the command users client id which you can use to exclude them 12:23 < bridge> In the context of a tile you have the character entities client id field. In the context of a projectile hit you have the projectiles owner id field. 12:24 < bridge> `for(auto *pPlayer : GameServer()->m_apPlayers)` 12:24 < bridge> cooler 12:25 < bridge> @learath2 does auto make it compile slower? 12:25 < bridge> Shouldn't a significant amount 12:25 < bridge> Type inference of this kind is very cheap 12:26 < bridge> In the context of a console command you have the command users client id which you can use to exclude them 12:27 < Boke> I see. Let me rephrase it. I found that "void CCharacterCore::TickDeferred()" in the file "game\gamecore.cpp" handled the "collision between two players". My goal was to get "the character that collided with the client (myself)". 12:31 < Boke> Thank you very much, and I'm sorry that I don't know much about C++. I have been using C# before. 12:38 < bridge> @ryozuki: I like goto but no auto 12:38 < bridge> 🤡 12:39 < bridge> i like rust 12:39 < bridge> :owo: 12:39 < bridge> i am on 18.8 and dont have an auto-updater button, normal? 12:41 < bridge> @ryozuki: thanks for the merges 12:45 < bridge> chillerdragon: why are u not an official merger? 12:46 < ws-client> i never got the offer maybe im too edgy idk 12:46 < ws-client> Kaffeine also isnt and he is active reviewer 12:47 < ws-client> Boke you have access to ``m_Id`` which is the players ClientId can you work with that? 12:53 < ws-client> tbh getting the full CCharacter sounds a bit messy from gamecore.cpp sounds a bit messy. Its a bit decoupled. But you can access the CCharacterCore 12:53 < ws-client> what do you need from the character? 13:09 < bridge> where git squash 13:10 < bridge> @maslowian lets gooo 13:16 < bridge> now we need/cancelcancelswap 13:16 < bridge> now we need /cancelcancelswap 13:18 < bridge> I have asked this question before and would like to ask it again. There are 58 nicknames in the database, I upload each nickname individually to `https://ddnet.org/players/?json2=nickname`. Out of 58 nicknames 10-15 will give status code 500. Every update different nicknames will give status code 500. In general, I do not know what to do with it, maybe it is necessary to issue a delay before each request? 13:18 < bridge> nah its a bug 13:19 < bridge> just retry the request if u get an error 13:43 < bridge> https://discord.com/channels/252358080522747904/757720336274948198/1332108473764151407 14:01 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1332334562411548732/image.png?ex=6794e0c1&is=67938f41&hm=7614ecdd4da62b40a398240cd1dbddafe9765e74e0c63f8ef9df620001afa266& 14:01 < bridge> this copilot shit ain working 14:03 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1332334860710449192/image.png?ex=6794e108&is=67938f88&hm=c390f8a9ea1f94962d536bebe46e80cf9bddfb75694b07351e11da4ab8ece7cf& 14:08 < bridge> https://yasserarg.com/tb 14:10 < bridge> sea of nodes mentioned 14:10 < bridge> @ryozuki have u seen this? https://c9x.me/compile/ 14:11 < bridge> no 14:11 < bridge> thanks for url 14:12 < bridge> np 14:19 < bridge> https://c9x.me/compile/bib/ 14:19 < bridge> @kollpotato bro 14:19 < bridge> this web is a gold mine for me 14:19 < bridge> ty 14:26 < bridge> im glad i have helped 14:26 < bridge> yippe 15:15 < bridge> yeah, I tried it a few times and it has overall been performing worse than a google search would 15:29 < bridge> i like auto for std::chrono 15:30 < bridge> im not typing `time_point>> CurrentTime;` 16:20 < ws-client> agree long c++ types are ugly but i like seeing the type. I sometimes have been in situation where i had to reverse engineer what was inside the auto and that was annoying 16:28 < bridge> buy ide bro 17:10 < bridge> `map("K", vim.lsp.buf.hover, "Hover Documentation")` 17:10 < bridge> lsp best 17:10 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1332382089240379553/image.png?ex=67950d04&is=6793bb84&hm=7488d07dc15793787c0d0e35cc8b0284b51f2554f775930635cbb250fc126dae& 17:14 < bridge> https://wiki.c2.com/?UnixIsAnIde 17:25 < bridge> bean earth 17:25 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1332385912520183952/image.png?ex=67951094&is=6793bf14&hm=23daa08cc4ccdbe57f84df0a11d637fadfaa2fe9a1d7b03eb773aabf3ce75b4b& 17:26 < bridge> what 3d engine is that 17:26 < bridge> opengl 17:27 < bridge> but what engine 17:27 < bridge> wanna see my highly professional glsl skills? 17:27 < bridge> did u write that? 17:27 < bridge> bro wdym engine 17:27 < bridge> ofc 17:27 < bridge> https://github.com/Teero888/astrosim 17:27 < bridge> nice 17:27 < bridge> so you switch from c to cpp already 17:27 < bridge> we both know the next step 17:27 < bridge> yes i missed operator overloading 17:28 < bridge> ok i run 17:28 < bridge> ok 17:28 < bridge> come vc 17:28 < bridge> i wanna see u flame me 17:32 < bridge> This is actually brilliant. It makes me feel like creating a language again 17:32 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1332387497740865536/image.png?ex=6795120e&is=6793c08e&hm=31490ec383cf3bd5b488976cc7d33dcd30fbd25bbe5f11f6df9ba84d501a631f& 17:32 < bridge> non-fancy C99 without any dependencies ❤️ 17:36 < bridge> yeah u can also just write is a language if u want xD 17:36 < bridge> yeah u can also just write is as a language if u want xD 17:37 < bridge> im not sure where i have initially seen it 17:38 < bridge> https://github.com/garritfra/qbe-rs 17:38 < bridge> for the nerdy ass programming language developers 17:42 < bridge> yeah u can also just write the IR is as a language if u want xD 21:52 < bridge> Nerdy 21:52 < bridge> Ass 21:52 < bridge> Pro gaming 21:52 < bridge> Language 21:59 < bridge> hi chiller 21:59 < bridge> hi ewan 22:00 < bridge> hi milkeeycat 22:20 < bridge> hi kollpotato 22:21 < bridge> voxuis 22:22 < bridge> headbor 22:22 < bridge> headbot