00:40 <+bridge> https://64.github.io/cmake-raytracer/ 00:43 <+bridge> The real gem in that post is this reference https://raytracing.github.io/ 00:44 <+bridge> but the rest is bizarre too, overall I rate this post 7/10 00:45 <+bridge> fairly interesting 05:45 <+bridge> anyone know who runs the unique servers 06:16 <+bridge> Unique clan 06:17 <+bridge> https://uniqueclan.net/ 06:17 <+bridge> sweet 06:17 <+bridge> Unique © 2014-2023 06:17 <+bridge> 06:17 <+bridge> Tezcan, timakro & Ryozuki 06:20 <+bridge> i wanna see about hosting a usa server 08:32 <+bridge> https://github.com/rust-lang/compiler-team/issues/631 08:33 <+bridge> interesting 09:17 <+bridge> did u guys fix that timeptr crash in the editor 09:17 <+bridge> (which doesn't happen on mingw) 09:17 <+bridge> https://cdn.discordapp.com/attachments/293493549758939136/1106117986730909696/RDT_20230511_0917245259652005544222668.jpg 09:19 <+bridge> No 10:19 <+bridge> thoughts on this ryozuki 10:19 <+bridge> i posted in the unique server as well 10:19 <+bridge> idk how involved u are xd 10:19 <+bridge> idk who's in charge over there 10:22 <+bridge> @Jupeyy_Keks lol contributors is updated on the gh app but not browser for me 10:22 <+bridge> https://cdn.discordapp.com/attachments/293493549758939136/1106134295472504902/Screenshot_2023-05-11-10-22-30-795_com.github.android.jpg 10:22 <+bridge> or idk 10:23 <+bridge> timakro hosts the sv 10:23 <+bridge> 😃 10:24 <+bridge> Looks like before to me 10:27 <+bridge> Ok you are more up 10:27 <+bridge> Gg 10:39 <+bridge> Thu May 11 10:38:18 2023 >>> www-client/firefox-113.0 10:39 <+bridge> merge time: 13 minutes and 8 seconds. 10:39 <+bridge> not bad 10:39 <+bridge> hi from latest firefox 10:42 <+bridge> i would be after learath in the web 10:42 <+bridge> Uff 13 min 10:42 <+bridge> idk how long the cache lasts 10:42 <+bridge> its pretty good for firefox 10:42 <+bridge> 13 min for few code changes xd 10:42 <+bridge> i compile it on a tmpfs too 10:42 <+bridge> xd ye 10:42 <+bridge> @Jupeyy_Keks well i havent looked if firefox supports ccache 10:43 <+bridge> I really wonder what the journey of browsers will be xd 10:44 <+bridge> im gonna continue my work adding postgresql support for ddnet 10:44 <+bridge> Adding infinite features can't work for ever 10:44 <+bridge> maybe that also allows deen materialized views stuff since its psql related 10:44 <+bridge> xd 10:44 <+bridge> Epic 10:44 <+bridge> i thought about maybe using a bit of rust here 10:44 <+bridge> but idk if this will make it more complicated 10:44 <+bridge> it would be awesome to get a tokio runtime running in the sv 10:45 <+bridge> (i know its not needed for the db) 10:45 <+bridge> tokio runtime would allow us to have easy multithreaded http requests, database, and maybe even grpc 10:45 <+bridge> Depends. Should be okish if the split from db code and game logic is clean enough 10:46 <+bridge> it is not bad rn 10:46 <+bridge> the db interface is not badf 10:46 <+bridge> also the psql C api looks wayyy better than the mysql 10:46 <+bridge> for instance u dont need to init anything and manage if u inited or not with a atomic/lock xd 10:47 <+bridge> and its thread safe iirc 10:47 <+bridge> > libpq is thread-safe as of PostgreSQL 7.0, so long as no two threads attempt to manipulate the same PGconn object at the same time. 10:49 <+bridge> https://en.wikipedia.org/wiki/Protocol_Wars 11:31 <+bridge> But obv u would never touch this api 11:31 <+bridge> That would be a self kill 11:33 <+bridge> Bindings don't make themselves 11:35 <+bridge> i touched the api 11:35 <+bridge> :justatest: 11:35 <+bridge> Whhaat 11:35 <+bridge> It's not even rust 11:35 <+bridge> Fake ryo 11:35 <+bridge> Im morbing 11:48 <+bridge> @Jupeyy_Keks new mesa released 11:48 <+bridge> it has rusticl 11:48 <+bridge> a opencl driver in rust 11:48 <+bridge> https://docs.mesa3d.org/rusticl.html 11:48 <+bridge> Sad only that opencl is basically dead xd 11:48 <+bridge> xd 11:49 <+bridge> Maybe gimp still uses it xd 11:49 <+bridge> Blender dropped it xd 11:49 <+bridge> Who needs opencl if u have Vulkan xd 11:50 <+bridge> xd 11:50 <+bridge> yeah opencl death is sad 11:50 <+bridge> note that its not opengl its opencl 11:50 <+bridge> yeah 11:50 <+bridge> just clarifying 11:51 <+bridge> vulkan can do compute shaders 11:51 <+bridge> if that's why ur clarifying 11:51 <+bridge> yeye 11:51 <+bridge> well opengl death may be near too xd 11:51 <+bridge> Opencl has some cool features. But i guess u can emulate most stuff 11:51 <+bridge> Yeah just like ogl 11:52 <+bridge> Zink for me is already opengl driver replacement 11:52 <+bridge> The 10% perf u loose is traded by next gen hardware 11:52 <+bridge> And if u target ogl, u probably are ok with not having the best performance anyway 11:58 <+bridge> Funny how the best they could do was to still just translate it to C ABI. We really need OS people onboard if we want a proper new ABI 12:06 <+bridge> @Learath2 c is a plague kek 12:06 <+bridge> found this comment down too 12:06 <+bridge> > we arrived at the conclusion that the notion of a "C ABI" is somewhat of an existential question, because the C Standard does not define a C ABI, and currently our extern "C" does not even support all Standard C types, like long double and _Complex. And the C language can add new types, of course (it in fact did in C23, non-optionally, a new type that all compilers will now be expected to support in order to claim they support C23). Thus saying " 12:08 <+bridge> Eh I fail to see much value in trying to get a different name for it, everyone knows C doesn't define an ABI 12:08 <+bridge> crabi is not c abi tho 12:08 <+bridge> i love the name 12:08 <+bridge> i hope it exists someday xd 12:08 <+bridge> a abi for safe interop 12:09 <+bridge> > crABI could define a symbol naming scheme, to allow identifying symbols that 12:09 <+bridge> > use crABI. However, crABI must be compatible with languages that only support C 12:09 <+bridge> > FFI and do not have native crABI support, and which must thus reference the 12:09 <+bridge> > symbol via its name; therefore, crABI should not have a complex or non-obvious 12:09 <+bridge> > mangling scheme. 12:11 <+bridge> anyway its an interesting experiment, its not even a rfc yet 12:11 <+bridge> will see how it goes 12:11 <+bridge> It's a brand of spreadables in Turkey 😛 12:11 <+bridge> i think crabi is a pokemon 12:12 <+bridge> I can't read it without thinking of nutella derivatives 12:12 <+bridge> https://cdn.discordapp.com/attachments/293493549758939136/1106161832802140210/098.png 12:12 <+bridge> krabby 13:30 <+bridge> if nobody used xbox game pass 13:30 <+bridge> 43X74-62G7X-2PPHR-9JWD6-R2TCZ 13:30 <+bridge> 2 months 13:52 <+bridge> What a bro 13:57 <+bridge> im implementing a hashmap with open addressing in llvm ir 13:57 <+bridge> :poggers2: 14:05 <+bridge> quadratic probing? 14:05 <+bridge> im doing it simple for now 14:05 <+bridge> linear probs xd 14:41 <+bridge> @Learath2 do u think there will be ever another knuth 14:41 <+bridge> the man is too legend 14:42 <+bridge> reading into the open addressing thing made me go down the wiki rabbit hole xd 14:42 <+bridge> > In the 1970s the publishers of TAOCP abandoned Monotype in favor of phototypesetting. Knuth became so frustrated with the inability of the latter system to approach the quality of the previous volumes, which were typeset using the older system, that he took time out to work on digital typesetting and created TeX and Metafont.[37] 14:42 <+bridge> chaddest 14:48 <+bridge> Yes, you;) 14:48 <+bridge> Is it a complex topic? 14:50 <+bridge> im already old and i dont have a uni degree xd 14:50 <+bridge> https://en.wikipedia.org/wiki/Open_addressing 14:51 <+bridge> idk its just how hashmaps are made 14:51 <+bridge> rust uses quadratic simd probing 14:51 <+bridge> Yeah I meant in llvm ir 14:51 <+bridge> Why do u even implement it there directly, don't u have a higher level language? 14:52 <+bridge> the lang has a dict as a builtin 14:52 <+bridge> well maybe i can interface with rust, but idk if i wanna bother with that 14:53 <+bridge> i dont think its too complicated 14:53 <+bridge> llvm is fairly high level ngl 14:53 <+bridge> llvm-ir* 14:53 <+bridge> it even has a switch 14:54 <+bridge> i will use a hash function from rust tho 14:54 <+bridge> im just not sure about using rust hashmap and lifetimes in here 14:54 <+bridge> and its an interesting thing to implement 14:55 <+bridge> No, all new programmers hate goto, too close minded, they can never be knuth 14:57 <+bridge> I even hate returns that are mid function 14:57 <+bridge> Always speaks of bad design for me 14:57 <+bridge> See, you can't be Knuth 14:57 <+bridge> Math doesn't know jumping around 14:58 <+bridge> Thank god we aren't mathematicians 😛 14:58 <+bridge> No but seriously, it makes it harder to not add bugs imho. E.g. if I add smth at the end of a function that should be called regardless or similar 14:59 <+bridge> I like it code has flow 14:59 <+bridge> If 15:00 <+bridge> Well it's pretty subjective. I never had much trouble with that and I find the early bail much much easier to read than infinite nesting or extremely long conditions 15:01 <+bridge> Yep, but in that case I'd move the nesting out to a new function 15:01 <+bridge> > If you need to nest so much maybe factor it out into a function 15:01 <+bridge> Xd 15:04 <+bridge> I also hate one use functions, jumping around while reading is far more annoying than early bails 15:04 <+bridge> But anyways, very very subjective thing peddaled by computer science people as if it's objective 15:04 <+bridge> Acceptable, but depends on the size of the function too 15:04 <+bridge> The name of the function is already kind of a documentation xd 15:04 <+bridge> I agree 15:04 <+bridge> Maybe in 1861 their compilers had trouble optimizing when there is more than one return and it was objectively better back then but thank god we live in 2023 15:04 <+bridge> I still couldn't tell if i prefer long lines over small for example 15:04 <+bridge> Both have pros and cons 15:04 <+bridge> One thing I've been appreciating lately is functional programming. There is clearly a place for it. It's great for a lot of tasks 15:05 <+bridge> I try to stay below 80 columns if at all possible, but I won't break a line unreasonably if there is no good place to break it 15:12 <+bridge> clang format deals with that for me 15:12 <+bridge> works well 15:25 <+bridge> ? is early return btw 15:26 <+bridge> 120 for me 15:27 <+bridge> Yeah a better default since we are all on widescreens nowadays, not ancient terminals 😄 15:27 <+bridge> Wat 15:27 <+bridge> U mean rust error 15:28 <+bridge> Yeah 15:30 <+bridge> be a functional lang purist 15:30 <+bridge> fold, map, reverse 15:30 <+bridge> all u need 15:30 <+bridge> But u can use it anywhere in the function can't u 15:30 <+bridge> Like not really early 15:31 <+bridge> learning functional langs made me realize that doing functions that are tail call optimizable, u need to call reverse() always on the end result, which is where the overhead may sometimes not be worth it 15:31 <+bridge> Wym? You can use ? pretty much anywhere 15:31 <+bridge> Yeah 15:31 <+bridge> I'd say depends on function size if I'd use it 15:32 <+bridge> Like at the very start of this function I have `let config = Config::from_env()?` 15:32 <+bridge> That's a very very very early bail in this 80~ line function 😄 15:32 <+bridge> @Jupeyy_Keks ? can not just be used on errors 15:32 <+bridge> it can be used on any type that implements https://doc.rust-lang.org/std/ops/trait.Try.html 15:32 <+bridge> which is only result rn 15:32 <+bridge> and only in nightly u can impl it for others xd 15:33 <+bridge> Also Option, no? 15:33 <+bridge> https://doc.rust-lang.org/std/ops/enum.ControlFlow.html 15:33 <+bridge> this more specifically 15:33 <+bridge> yeah iirc 15:33 <+bridge> https://doc.rust-lang.org/src/core/option.rs.html#2531 seems tso 15:34 <+bridge> s\/tso$/so/ 15:34 <+bridge> in functions where u return option 15:34 <+bridge> u can use ? on options iirc 15:34 <+bridge> to return none 15:34 <+bridge> Yeah yeah. If everything would follow a raii like design it's cool for sure. It if u manage some states it can easily lead to logic bugs 15:34 <+bridge> well in rust works nice 15:35 <+bridge> the most important raii things for me would be locks 15:35 <+bridge> and they work nicely 15:36 <+bridge> They are nice. I'm only saying it's complicated xd 15:37 <+bridge> ayoooooooo 15:37 <+bridge> https://www.githubstatus.com/ 15:37 <+bridge> github is down agane 15:37 <+bridge> xd 15:37 <+bridge> billion dollar company btw 15:37 <+bridge> #azure #scaling #webscale 15:37 <+bridge> Idk what's going on with github nowadays 15:37 <+bridge> #kubernetes 15:38 <+bridge> Microsoft also isn't the kind of company that releases nice blogs about what went wrong 15:39 <+bridge> daily reminder my cgit still works https://git.edgarluque.com/ 15:39 <+bridge> #baremetal #no-docker #no-k8s 15:39 <+bridge> #aptget 15:39 <+bridge> xddd 15:39 <+bridge> today i woke up funny sorry 15:40 <+bridge> true sad 15:40 <+bridge> maybe they want to extingish open source finally 15:40 <+bridge> bringing down gh 15:40 <+bridge> we at the 3rd phase 15:40 <+bridge> :justatest: 15:41 <+bridge> or they are just incompetent, I wouldn't put it beyond web-scale developers 15:41 <+bridge> xd 15:42 <+bridge> Maybe their mongodb instance finally just piped everything to `/dev/null` for better web scale performance 15:43 <+bridge> Maybe they accidentally fired their backend team 15:43 <+bridge> Now python devs take over 15:43 <+bridge> Let's rewrite in python 15:43 <+bridge> For performance 15:44 <+bridge> sudo su - root 15:44 <+bridge> rm -rf 15:44 <+bridge> 15:44 <+bridge> Easy rookie mistake. Happens to the best of us 15:45 <+bridge> funny enough that gitlab incident couple months back was an accidental `rm -rf` on the wrong server 15:45 <+bridge> jeepers 15:46 <+bridge> The dude had two terminals one ssh'd into prod-1, the other into prod-2. He meant do delete the db on prod-2 and replicate prod-1 to it, he deleted it on prod-1 instead 😛 15:47 <+bridge> Actually my buddy once did a "crontab -r" rather than a "crontab -e" because the letters are right next to each other. He deleted all the cron jobs from the production server and guess what was never put into Git? The crontab. Sort of stuff happens all the time lol, need to automate literally everything 15:47 <+bridge> lol 15:47 <+bridge> good idea to snapshot the entire fs from time to time 15:49 <+bridge> Walk of shame calling the data backups and recovery team at my company to get a snapshot restored in production. Saved us more than once. 15:50 <+bridge> Bigger issue is the new cloud hosting stuff is often "self-service" so it is on the dev teams now to architect their own backup solution on the platform. Training wheels are off when you no longer have an SI/SA to do that stuff for you anymore 15:50 <+bridge> this reminded me i need to backup my cron 15:51 <+bridge> lol 15:51 <+bridge> self service 15:51 <+bridge> this is how i did all my life 15:51 <+bridge> never depend on others 15:51 <+bridge> but well im not a company 15:51 <+bridge> companies like to depend on others, so they can direct the blame of their incompetency 15:52 <+bridge> Big companies have old processes that don't work well in the cloud. Hard to change direction of a big company 15:53 <+bridge> Hard to ensure developers are all competent at a big company* 15:54 <+bridge> first screening is easy: do you like js? yes = go out, no = proceed 15:54 <+bridge> (joke dont kill me) 15:55 <+bridge> If Microsoft has 500 developers working on this, you can pretty well guarantee that a few of them are knuckleheads lol. The odds increases as the numbers go up 15:55 <+bridge> tbh code tests live in a interview are the worst, they make any dev ability drop down to nothin 15:55 <+bridge> atleast for me 15:55 <+bridge> i get a blank mind even for simple stuff 15:55 <+bridge> its insane 15:55 <+bridge> xd 15:56 <+bridge> Can't invert a tree on a whiteboard? Get out of my sight 15:56 <+bridge> Same. My company stopped doing code tests in interviews, we care more about skills that are harder to teach (teamwork, communication, fit with the team). We figure we can teach any decent developer a new technology 15:56 <+bridge> Meanwhile their in house team is just copying it from stackoverflow 15:56 <+bridge> its been ages since i copied smth from so 15:57 <+bridge> the stuff i do isnt even there 15:57 <+bridge> :BASEDHALT: 15:57 <+bridge> https://cdn.discordapp.com/attachments/293493549758939136/1106218603059101726/image.png 15:57 <+bridge> :justatest: 15:58 <+bridge> unsurprisingly, the llvm sphere is rly small and self contained 15:58 <+bridge> its like the compiler knowledge is a precious thing not shared much 15:58 <+bridge> llvm specific 15:58 <+bridge> Honestly silly to ask people algorithms. Like who even implements them without double checking on a book or wikipedia? 15:59 <+bridge> true 15:59 <+bridge> https://cdn.discordapp.com/attachments/293493549758939136/1106218973915267072/Screenshot_20230511_095904_Chrome.jpg 15:59 <+bridge> Same bro, same 15:59 <+bridge> u got minus points 15:59 <+bridge> white themist 15:59 <+bridge> im white themist racist 16:00 <+bridge> Is daytime here, old eyes need to see 16:01 <+bridge> daytime too 16:01 <+bridge> coffee in hand 16:01 <+bridge> rust in display 16:01 <+bridge> life of a dev 16:01 <+bridge> tried to rithm but im bad 16:02 <+bridge> tried to rhyme but im bad 16:03 <+bridge> have to test RustDesk 16:03 <+bridge> Curtains open 16:03 <+bridge> Sun shining in 16:03 <+bridge> Dark them broken 16:03 <+bridge> Ryozuki calls it sin 16:03 <+bridge> Curtains open 16:03 <+bridge> Sun shining in 16:03 <+bridge> Dark theme broken 16:03 <+bridge> Ryozuki calls it sin 16:03 <+bridge> nice xd 16:04 <+bridge> the big mistake is to specify root when u don't need it :giga_chad: 16:04 <+bridge> This poem was not generated by an AI language model** 16:05 <+bridge> Do everything as root. Linux chad move. 16:05 <+bridge> templeOS > all, less complexity 16:07 <+bridge> funny thing is you can search for 16:07 <+bridge> `"Regenerate response" site:.com` 16:08 <+bridge> and find some people who didn't copy-paste correctly 16:22 <+bridge> On the map "oco", which uses tunes and (fake) teles, recently a " "bug" " occured that doesnt let u finish the map anymore. Normally you would fall through that specific teleport there and continue the map. The last finish was 3 days ago. Does any of the developers know if there were any updates that could change this behavior? 16:22 <+bridge> https://cdn.discordapp.com/attachments/293493549758939136/1106224895689490442/oco_bug.demo.mp4 16:24 <+bridge> this is how it look in the editor for reference 16:24 <+bridge> https://cdn.discordapp.com/attachments/293493549758939136/1106225405393907763/image.png 16:25 <+bridge> #bugs is better cuz it may be lost 16:25 <+bridge> but maybe @Robyt3 knows 16:27 <+bridge> ok next time i will post it there, dont wanna spam it in #bugs again lol 16:36 <+bridge> nah its just cheaper to delegate some work 16:42 <+bridge> ugh 16:42 <+bridge> trying to implement psql 16:43 <+bridge> FormatCreateRace and friends are not overrides, they depend on methos 16:43 <+bridge> the thing is, and i think psql does better, arguments use $1 $2 etc instead of ?, and some things change drastically, like insert or ignore being insert x into y on conflict ignore 17:02 <+bridge> haskell? 17:03 <+bridge> Nah, just messing around with it in js and rust. I know they are not truly functional languages but I find functional programming is only comfy with a subset of things one might want to do 17:05 <+bridge> algorithm tests would make more sense, don't you think? 17:06 <+bridge> i think it's more of an academic thing, i've seen tons of pure math-informatics researchers using it and extending it for their research 17:07 <+bridge> i was alwyas told that haskell is truly functional 17:08 <+bridge> you can pass functions to functions 17:08 <+bridge> you can pass functions to functions and it creates the mathematical composition of these 17:08 <+bridge> he means js and rust 17:11 <+bridge> ugh lookin at the psql thing, its too out of the norm with sqlite and mysql 17:11 <+bridge> my lazyness is already kicking it 17:11 <+bridge> cuz this requires a heavy rework 17:29 <+bridge> also psql manages statements by a given name 17:29 <+bridge> ``` 17:29 <+bridge> PGresult *PQprepare(PGconn *conn, 17:29 <+bridge> const char *stmtName, 17:29 <+bridge> const char *query, 17:29 <+bridge> int nParams, 17:29 <+bridge> const Oid *paramTypes); 17:29 <+bridge> ``` 17:49 <+bridge> Being responsible in work be like 17:50 <+bridge> Oops, I accidentally erased the whole repository, buuuut will I get my pay? :kek: 17:50 <+bridge> "Oops, I accidentally erased the whole repository, buuuut will I get my pay?" :kek: 18:11 <+bridge> thx, how aggressive is missing docs? 18:11 <+bridge> 18:11 <+bridge> only for exported stuff or every single function? 18:11 <+bridge> pub fn iirc 18:11 <+bridge> pedantic can be pedantic too xd 18:12 <+bridge> i'll try it out 18:12 <+bridge> #![deny(clippy::all)] 18:12 <+bridge> is a good start 18:12 <+bridge> it doesnt enable pedantic or nursery 18:12 <+bridge> i have 3000 warnings open anyway xdd 18:12 <+bridge> but treats all clippy warns as errors 18:12 <+bridge> and since the cargo fix tool is broken, i have to fix by hand 18:12 <+bridge> xdd 18:12 <+bridge> i found a ez pr to make for ddnet 18:12 <+bridge> wont tell cuz robyt will steal 18:12 <+bridge> :justatest: 18:13 <+bridge> that's not how it works 18:13 <+bridge> if it's ez, just do it? 18:13 <+bridge> ye im doing it 18:13 <+bridge> xd 18:13 <+bridge> thats why i said that 18:13 <+bridge> I wish the UI would alpha support for the color picker, maybe i should implement 18:13 <+bridge> now wait 2 days 18:13 <+bridge> and robyte implemented it 18:14 <+bridge> robyte should get a job for the egui guy 18:25 <+bridge> @Ryozuki why no clippy::perf 18:25 <+bridge> performance is most important 18:25 <+bridge> there is some perf related 18:25 <+bridge> https://rust-lang.github.io/rust-clippy/master/index.html 18:25 <+bridge> go here 18:26 <+bridge> lint groups 18:26 <+bridge> perf 18:27 <+bridge> omg nice site 18:34 <+bridge> lint will never not sound funny 18:34 <+bridge> like why is it called that LOL 18:35 <+bridge> "The term "lint" was derived from lint, the name for the tiny bits of fiber and fluff shed by clothing, as the command should act like the lint trap in a clothes dryer, detecting small errors to great effect. " 18:35 <+bridge> just as stupid as bug xd 18:47 <+bridge> @Jupeyy_Keks do u know what the effect PowerupShine is? 18:47 <+bridge> @heinrich5991 u know how to use http 18:48 <+bridge> ah its the ninja particles 18:48 <+bridge> @heinrich5991 u know how to use http.h? 18:53 <+bridge> ah so it WAS intentional ok 19:20 <+bridge> @Learath2 @Jupeyy_Keks @Ryozuki someone know how works json and http libreries that are already included on the ddnet workspace? 19:22 <+bridge> just look at other code 19:22 <+bridge> im looking, is very confused 19:22 <+bridge> and im retarded 19:22 <+bridge> so 19:23 <+bridge> @Jupeyy_Keks omg ddnet is stupid 19:23 <+bridge> do we store the player id of who sent a damange indicator for example? 19:23 <+bridge> i think we dont 19:23 <+bridge> stupid old protocol 19:24 <+bridge> anyway i got opacity working for snowflakes, strong indicator, heart icon 19:25 <+bridge> huh 19:25 <+bridge> i thought they always workes 19:25 <+bridge> i thought they always worked 19:25 <+bridge> it never respected cl_show_others_alpha 19:25 <+bridge> https://github.com/ddnet/ddnet/issues/6520 19:26 <+bridge> OHH 19:29 <+bridge> yknow, why are there 3 damage indicator variants when only one is used 19:30 <+bridge> what u talking about 19:30 <+bridge> damage ind is the starts from gun 19:30 <+bridge> stars* 19:31 <+bridge> exactly 19:31 <+bridge> game.png has 3 variants of those stars 19:31 <+bridge> but i couldnt fix their opacity anyway, i just updated the code for the future 19:31 <+bridge> cuz damage ind carries no player id info 19:38 <+bridge> some day im going to clean up the pngs of ddnet 19:38 <+bridge> not as a PR but as an experiment 19:40 <+bridge> like take all the particles and put them into the particles.png 19:40 <+bridge> take all the weapons and make that its own image/collection of images 19:40 <+bridge> overall make everything cleaner 19:41 <+bridge> yay another breaking change 19:41 <+bridge> read what i said 19:41 <+bridge> im not going to release it in vanilla 19:42 <+bridge> how is this a breaking change 19:42 <+bridge> well changing the structure means all exisiting particle edits cant be used 19:42 <+bridge> its only breaking if you have like, gameskins 19:42 <+bridge> thats probs the main reason nothing is done 19:42 <+bridge> xd 19:45 <+bridge> also a crazy idea i told louis once: 19:45 <+bridge> what if each weapon was split apart into separate images? like pistol.png, grenade_launcher.png, etc.? and some weapons had variants with actual split parts that could be moved in different states, like the tee animation? the weapon image could be paired with a python file with the same name that dealt with all the animation stuff 19:45 <+bridge> https://cdn.discordapp.com/attachments/852963051664834601/1034217299311345674/unknown.png 19:46 <+bridge> like whole teedb would be dropped 19:46 <+bridge> yeye 19:46 <+bridge> its sad to be limited by existing stuff tho 19:46 <+bridge> yeah something like that was implemented in minetee and nodes 19:47 <+bridge> some real brainride was with ninslash 19:47 <+bridge> 0.7 skin personalization is the only good thing abut 0.7 19:47 <+bridge> ddnet2.0 19:47 <+bridge> its better a single image 19:47 <+bridge> this is due to atlas and less memory usage 19:47 <+bridge> u just need to load 1 image 19:47 <+bridge> fair 19:48 <+bridge> You can put the textures in an atlas after loading though 19:48 <+bridge> still, custom reload animations would be so fun 19:48 <+bridge> oh yea thats what tee skins do sometimes 19:48 <+bridge> but in ddnet u dont need to reload tho xd 19:48 <+bridge> i remember joining in as default and it takes a bit for me to become me 19:49 <+bridge> [fires grenade] 19:49 <+bridge> [wait half a second] 19:49 <+bridge> [fires grenade] 19:49 <+bridge> Which part are you having trouble with? 19:49 <+bridge> [fires grenade] 19:49 <+bridge> [wait half a second] << what im talking about 19:49 <+bridge> [fires grenade] 19:50 <+bridge> bro u got the most used lib in the world, curl, at ur disposal 19:53 <+bridge> when i rework the images im going to add something like this in. except not with shields, since some of these aren't UI elements 19:54 <+bridge> snowflake into particles.png, shields into game.png (which would be elements only seen on maps like hearts or normal shields) 19:54 <+bridge> snowflake into particles.png, shields into game.png (which would be elements only seen on maps like hearts or normal shields or flags) 20:00 <+bridge> god when i make my own client its going to be so heavy on the gpu with all these graphical edits i s2g LOLL 20:04 <+bridge> u should remove weapon shields :feelsamazingman: 20:10 <+bridge> thats great 20:11 <+bridge> nah he should introduce new map format based on entity-component system where you can make key-value map of used tiles (tiles are constructable now, like no solind + hookable + freeze tile) so map is just array of index 20:11 <+bridge> :troll: 20:12 <+bridge> imagine z-layering in teeworlds 20:15 <+bridge> but if you have rifel and shotgun how do you only remove shotgun while still keep rifel without having to do some jank rifel next to shield stuff 20:17 <+bridge> The same could apply to Tees but... we all knew where it was going with 0.7... 20:17 <+bridge> Already did but I would use http to try 20:18 <+bridge> If you want it to be good, make it work, make it look good and don't make it buggy 20:19 <+bridge> i would like to see animation customization in tw 20:19 <+bridge> should try to do anything 20:19 <+bridge> oof imagine using a formula for making your own animations 20:19 <+bridge> 💀 20:19 <+bridge> yeah thats what i want actually 20:19 <+bridge> Like some circle radius bs 20:20 <+bridge> like for every tee state you can make an animation 20:20 <+bridge> so you given some variables about tee position velocity 20:20 <+bridge> and state 20:20 <+bridge> and key animation tool so you can do it yourself 20:21 <+bridge> I tbh recommend using line distances as calculation, relative to your mouse position, so it doesn't become complicated 20:21 <+bridge> then use that distance to be the default value, which you can use to move the weapon in any direction relative to the calculated value 20:21 <+bridge> waaaay easier and more scalable, than using radius 20:21 <+bridge> I tbh recommend using line distances as calculation, relative to your mouse position and angle, so it doesn't become complicated 20:21 <+bridge> then use that distance to be the default value, which you can use to move the weapon in any direction relative to the calculated value 20:22 <+bridge> I tbh recommend using line distances as calculation, relative to your mouse position and angle, so it doesn't become complicated 20:22 <+bridge> then set yourown distance value, which you can use to move the weapon in any direction relative to the calculated value 20:22 <+bridge> I tbh recommend using line distances as calculation, relative to your mouse position and angle, so it doesn't become complicated 20:22 <+bridge> then set your own distance value, which you can use to move the weapon in any direction relative to the calculated value 20:23 <+bridge> Well as long as somebody knows how gravity directions work in games, this shouldn't be a problem :Pepegalaugh: 20:24 <+bridge> if u need to do that and u dont have enougb space for 1 extra tile then ur part sucks anyways 20:25 <+bridge> like a lua script, where you have conditions and values to modify, when conditions trigger 20:25 <+bridge> f.e: 20:25 <+bridge> 20:25 <+bridge> if weapon.just_fired():{ 20:25 <+bridge> weapon.part.shield.play() 20:25 <+bridge> } 20:26 <+bridge> and then play() will get an Array of coordinations and timestamps, which represent on where to move and how delayed the lerping should be 20:26 <+bridge> which moves the object accordingly 20:26 <+bridge> yeah but its too much for current ddnet xd 20:27 <+bridge> I mean, if we can scale it, like a TAS, then it's way easier to implement 20:27 <+bridge> TAS uses a list of inputs and delays, it's the same thing with animations, but with positions instead 20:28 <+bridge> The only concern I have is the way of animation easing 20:28 <+bridge> like, without a visual editor, it's hard to pull any animation off 20:29 <+bridge> (note to self: need to implement an animation editor for Godot 4.x) 20:33 <+bridge> https://cdn.discordapp.com/attachments/293493549758939136/1106288017578139709/RDT_20230511_2033202199537237745738218.jpg 20:34 <+bridge> Anyone know what this visual studio error means? 20:34 <+bridge> ```cpp 20:34 <+bridge> 5> CARGO_CFG_TARGET_FEATURE = Some("fxsr,sse,sse2") 20:34 <+bridge> 5> running: "g++.exe" "-O0" "-ffunction-sections" "-fdata-sections" "-g" "-fno-omit-frame-pointer" "-m64" "/MTd" "-o" "ddnet/build-visualstudio\\debug\\build\\link-cplusplus-eb210e6b989881d2\\out\\dummy.o" "-c" "ddnet/build-visualstudio\\debug\\build\\link-cplusplus-eb210e6b989881d2\\out\\dummy.cc" 20:34 <+bridge> 5> cargo:warning=g++.exe: warning: /MTd: linker input file unused because linking not done 20:34 <+bridge> 5> cargo:warning=g++.exe: error: /MTd: linker input file not found: No such file or directory 20:34 <+bridge> 5> exit code: 1 20:34 <+bridge> 5> --- stderr 20:34 <+bridge> 5>CUSTOMBUILD : error occurred: Command "g++.exe" "-O0" "-ffunction-sections" "-fdata-sections" "-g" "-fno-omit-frame-pointer" "-m64" "/MTd" "-o" "ddnet/build-visualstudio\\debug\\build\\link-cplusplus-eb210e6b989881d2\\out\\dummy.o" "-c" "ddnet/build-visualstudio\\debug\\build\\link-cplusplus-eb210e6b989881d2\\out\\dummy.cc" with args "g++.exe" did not execute successfully (status code exit code: 1).``` 20:34 <+bridge> Does this happen to anyone else when compiling ddnet? 20:35 <+bridge> some file missing i guess 20:35 <+bridge> i dont compile on windows so idk there 20:36 <+bridge> `TARGET = Some("x86_64-pc-windows-gnu")` what is target GNU? ... maybe it somehow trying to choose the gcc toolchain inside VS 20:36 <+bridge> clean build? 20:36 <+bridge> yeah, all clean build, updated visual studio, cmake and msys2 20:36 <+bridge> there is a mscvc target iirc 20:36 <+bridge> gnu target is for mingw iirc 20:36 <+bridge> it all started after updating msys2 for some reason (or randomly around that time) 20:37 <+bridge> even though VS should be independent from msys2 20:37 <+bridge> rustup target default x86_64-pc-windows-msvc 64-bit MSVC ( 20:37 <+bridge> i hate phones 20:37 <+bridge> rustup target default x86_64-pc-windows-msvc 20:38 <+bridge> where to I run that command? I don't have rustup in path 20:38 <+bridge> https://doc.rust-lang.org/rustc/platform-support.html 20:38 <+bridge> how did u get rust? 20:38 <+bridge> from MSYS2 20:38 <+bridge> nah 20:38 <+bridge> so I guess VS also uses that 20:38 <+bridge> remove it 20:38 <+bridge> rustup is better 20:38 <+bridge> ddnet2.0 xd 20:39 <+bridge> idk how to change ur toolchain with ur rust 20:39 <+bridge> ok, let's hope it works with both VS and MinGW based compilation 20:39 <+bridge> I don't want to default to MSVC toolchain though 20:39 <+bridge> rustup actually asks u to get msvc if it doesnt find it 20:39 <+bridge> because I usually compile with MinGW and GNU toolchain 20:39 <+bridge> and uses that target 20:39 <+bridge> well u can choose 20:40 <+bridge> wait a moment 20:40 <+bridge> maybe with cargo u can override 20:41 <+bridge> hm u can but rustup easier xd 20:41 <+bridge> the thing is rustup allows u to have both gnu and msvc and setup per dir overrides 20:42 <+bridge> ok, that should do it 20:59 <+bridge> now neither gnu nor msvc can find rust anymore 20:59 <+bridge> rustc is available on the path 21:04 <+bridge> ok, gnu build works again after fully cleaning everything, but visual studio gives the same error as before 21:40 <+bridge> hm no idea xd 22:53 <+bridge> Yo, why aren't compressed PNGs not supported? I asked it one time, but didn't get any answer for it 22:53 <+bridge> I even tried only changing the color dimension to a certain value and that also won't render it 22:57 <+bridge> Does your question make sense? 22:58 <+bridge> @Jupeyy_Keks how to get the team of the local player 22:58 <+bridge> idk why im struggling with this stupidty 22:58 <+bridge> I asked this question, I wrote my problem and showed another screenshot on performance increase 22:58 <+bridge> Pretty much all pngs are supported, Heinrich purposely disabled this support because of back ward compability backed up by Learath. Blame them 22:58 <+bridge> I asked this question, I wrote my problem and showed another screenshot on performance increase in a previous conversation 22:58 <+bridge> it says 0 when im in a team xd 22:58 <+bridge> https://cdn.discordapp.com/attachments/293493549758939136/1106324505074339870/image.png 22:59 <+bridge> :justatest: So you are saying is, they cannot do it cuz we still support vanilla? 22:59 <+bridge> Team unequal to DDrace team 22:59 <+bridge> Because of older ddnet clients 23:00 <+bridge> Well that sucks 23:00 <+bridge> And is useless 23:00 <+bridge> wdym, you guys have gbs of storage from Assets alone 23:00 <+bridge> it would save a lot of space overall 23:00 <+bridge> Older clients will simply not load these images.. Nothing more 23:01 <+bridge> and processes less memory 23:01 <+bridge> I know 23:01 <+bridge> for older client, tbh 23:01 <+bridge> fuck em 23:02 <+bridge> use latest or perish, that is my belief :gigachad: 23:02 <+bridge> 😎 23:02 <+bridge> m_Teams got it 23:02 <+bridge> once we have ddnet 2.0 :copium: 23:03 <+bridge> Hype 23:39 <+bridge> guyz 23:39 <+bridge> https://kog.tw/api.php 23:39 <+bridge> someone know if there is the same with get method? 23:39 <+bridge> someone know if there is the same with GET method to get player info?