00:01 < bridge_> the 4€ might be on top of what Learath2 sponsors 00:47 < bridge_> No, Learath2 just didn't tell me up-to-date costs yet, that was for a small VPS for 1 month 00:47 < bridge_> but now we have larger and for longer 05:11 < bridge_> @ryozuki whats team -1 05:23 < bridge_> im not ryo so idk if i'm not picking up on some injoke but team -1 is not real 05:23 < bridge_> it underflows 05:23 < bridge_> it underflows in the command 05:23 < bridge_> and in practice a team below 0 cannot exist 05:24 < bridge_> i saw team -1 in ddstats 05:30 < bridge_> the game handles teams internally with an array 05:30 < bridge_> which can't have negative indices 05:30 < bridge_> inherently 05:30 < bridge_> it might be placeholder or some dumb shit 06:10 < bridge_> It’s spectator mode 09:19 < bridge_> https://github.com/headshot2017/ddnet-nds 09:20 < bridge_> http://github.com/headshot2017/ddnet-nds 09:23 < ws-client> nice xd what opengl does a NDS even support? 09:26 < bridge_> nintendo ds? none 09:27 < bridge_> this looks like only chat lol 09:30 < ws-client> with 3ds it could actually work with graphics 09:30 < ws-client> i guess 09:31 < bridge_> none, this is a console only program 09:32 < bridge_> the NDS has 2D and 3D hardware, but the latter is nothing like opengl 09:33 < bridge_> even though libnds offers an opengl-like syntax for the 3D hardware 09:33 < bridge_> none, this is a console-only program 09:33 < ws-client> NDS was really smth special :D 09:33 < bridge_> https://cdn.discordapp.com/attachments/342454474117218334/1131472202106142771/20230720_022109.mp4 a video of it in action 09:34 < ws-client> cool :D 09:34 < ws-client> WiFi controller 09:35 < bridge_> dswifi 0.4.2 09:45 < bridge_> can we get prediction on bullets/doors/grabbers/freeze things/blaster dudes 09:46 < bridge_> some things maybe hard but like, bullets and doors? how hard could that be? 09:46 < bridge_> i can be seen as inside a bullet but i brush way behind the back of where a bullet just was and i freeze 09:46 < bridge_> it's annoyinh 09:48 < ws-client> go ahead 09:48 < ws-client> xd 09:50 < bridge_> im too cave man to do it 09:51 < bridge_> i just complain and hit rock with stixk 09:51 < bridge_> i just complain and hit rock with stick 10:23 < bridge_> i guess spectator ye, i dont change any data, i just show what master reports 10:23 < bridge_> altho i filter (connecting) 10:23 < bridge_> cuz they are annoying 10:35 < bridge_> source: 10:35 < bridge_> i didnt really need a backend yet so its just frontend xd 10:35 < bridge_> AGPL-3 ofc 10:43 < ws-client> was about to steal it, good that u choose AGPL 10:43 < bridge_> u can steal it 10:43 < bridge_> provided u provide the source when u distribute the stolen code 10:43 < bridge_> isnt it great 10:44 < bridge_> it allows others to steal from ur steal 10:44 < bridge_> its epic 10:44 < ws-client> 0% rust 10:44 < ws-client> not worth to steal 10:44 < bridge_> i know :Sadge: 10:44 < bridge_> but i havent needed a backend yet 10:44 < bridge_> as i said xD 10:44 < bridge_> the web itself queries the master and processes everything on the client 10:45 < bridge_> unless it does SSR 10:49 < bridge_> ChillerDragon: How to debug the integration test when I just get this output: 10:49 < bridge_> ``` 10:49 < bridge_> [*] launch server 10:49 < bridge_> [*] launch client 1 10:49 < bridge_> Terminated 10:49 < bridge_> Terminated 10:49 < bridge_> [*] shutting down server 10:49 < bridge_> [*] shutting down client1 10:49 < bridge_> [*] shutting down client2 10:49 < bridge_> Error: Process completed with exit code 143. 10:49 < bridge_> ``` 10:49 < bridge_> Already made some more changes so valgrind/san log files are also printed to the CI, but it seems like the script terminates even sooner. 10:49 < bridge_> Currently trying to get this branch to work: https://github.com/Robyt3/ddnet/tree/Graphics-Buffer-Refactoring 10:50 < bridge_> @jupeyy_keks Somehow integration test with valgrind fails without a useful error message after adding more assertions for graphics buffer allocation, so maybe we actually found some bug. 10:51 < ws-client> @robyt3 can u indicate where then i can take a look 10:52 < ws-client> or what command 10:52 < ws-client> with graphics buffer you mean the command buffer? 10:52 < bridge_> Seems like launching the first client with valgrind should already fails, but then it should call the fail() function in the script to print results anyway 10:53 < bridge_> Yeah, I mean the command buffer. What the commit does: "When memory for a command or data in the command buffer cannot be allocated in `CGraphics_Threaded::AddCmd` and `CGraphics_Threaded::AllocCommandBufferData` the command buffer is cleared so it should always be possible to allocated memory successfully on the second try. Therefore assertions are added and the return values and inconsistent checks of the functions are removed." 10:55 < ws-client> sounds reasonable 10:55 < ws-client> and where does it assert in your tests? 10:55 < bridge_> I wish I knew that 10:56 < bridge_> For some reason the log doesn't say more 10:56 < bridge_> It should print the contents of a bunch of files, but it just says "Terminated" 10:57 < ws-client> doesnt our dbg_assert print smth to stdout first? 10:59 < ws-client> yeah weird, can't you run valgrind in your VM? is probably easier than using CI for that 10:59 < bridge_> We redirect stdout/stderr to files. Maybe somethings goes wrong between between redirecting and printing, I'll try to just patch that out 10:59 < bridge_> We redirect stdout/stderr to files. Maybe somethings goes wrong between redirecting and printing, I'll try to just patch that out 11:08 < bridge_> @heinrich5991 https://ddstats.org/ 11:08 < bridge_> i think colors are better now 11:21 < bridge_> yes, defintely better now 🙂 11:21 < bridge_> why pagination though :p 11:22 < bridge_> @jupeyy_keks Locally it also crashes but there is only one valgrind warning in the client log: `==7110== Warning: set address range perms: large range [0x59c87040, 0x159c8703f) (undefined)` 11:22 < bridge_> Logs in the CI also has this warning before the termination 11:24 < ws-client> @robyt3 what i dont get is tho: the stuff that uses command buffers are single threaded and probably not related to SDL2 events, why should it only crash under valgrind :D 11:27 < bridge_> @ryozuki nit: the unit for kilobytes is "KB" or "KiB", not "kb" 11:27 < bridge_> @ryozuki nit: the unit for kilobytes is "kB", "KB" or "KiB", not "kb" 11:27 < bridge_> i see xd 11:27 < bridge_> ill edit later 11:28 < bridge_> perfomance on mobile 11:28 < bridge_> i also plan on adding filters 11:28 < ws-client> add virtual table 11:28 < ws-client> then u dont need pages 11:28 < bridge_> I don't understand why valgrind terminates, it's only a warning and there is no warning-as-errors for valgrind as far as I can tell 11:29 < ws-client> how do we run valgrind? 11:29 < bridge_> good idea virtual tables 11:29 < bridge_> `valgrind --tool=memcheck --gen-suppressions=all --suppressions=../memcheck.supp --track-origins=yes` 11:30 < ws-client> mh my valgrind script at home looks different, but can't tell rn. But yeah should not just crash, u can make valgrind write to a file 11:31 < bridge_> someone that's not me disabling clippy lints: https://chromium.googlesource.com/chromiumos/platform/crosvm/+/ed7d455a4364671d8dfaf2d3e65d25128861f650/.cargo/config.toml 11:31 < ws-client> lmao searching valgrind on discord is not very successful xD all prs include that word 11:32 < bridge_> looks like they use smth else? 11:33 < bridge_> whats tools/clippy 11:33 < bridge_> @robyt3 11:33 < bridge_> ah u meant lints 11:34 < bridge_> not clippy itself xd 11:34 < bridge_> you don't need to disable clippy, you could just not rnu it ^^ 11:34 < bridge_> if you don't like it at all 11:34 < bridge_> (many of the suggestions on Jupstar's repo were good, not sure if I said that already) 11:35 < bridge_> wondering about useless transmute 11:35 < ws-client> which ones @heinrich5991 i found them rather useless 11:36 < ws-client> well the unwrap_or_else and string stuff maybe 11:36 < bridge_> https://github.com/rust-lang/rust-clippy/issues/5343 11:36 < ws-client> for bit more perf xd 11:36 < bridge_> perhaps due to these false-positives @ryozuki 11:37 < bridge_> i mean a lint is useless if u dont give it value i guess 11:37 < ws-client> but matches! is defs smth i would not use for a single matche 11:37 < ws-client> match 11:37 < ws-client> that looks so ugly xD 11:38 < bridge_> yeah i guess, works better gor nested matches 11:38 < bridge_> for 11:38 < bridge_> link to the PR again? 11:38 < ws-client> https://github.com/ddnet/discord-skin-upload-bot/pull/1/files 11:38 < bridge_> unwrap or else is defs a perf improvement 11:39 < ws-client> depends 11:39 < ws-client> if the compiler is too stupid to see it yes 11:39 < ws-client> i'd mainly use it when the or path is a panic 11:41 < bridge_> yes, that one is okay. taking `&str` instead of `&String` is also good. using `'\n'` instead of `"\n"` is also good in `replace`. I personally like `for _ in container.iter()` → `for _ in &container`. removing `clone()` is good 11:41 < bridge_> for the rest, leaving it as-is would be fine for me 11:42 < bridge_> and the const fn 11:42 < ws-client> i mean most can't hurt so idc 11:43 < ws-client> but stuff like if let ... vs .is_some or simiar are always annoying 11:43 < bridge_> @heinrich5991 u dont agree with using fromstr trait? 11:43 < bridge_> not needed for private code, for public code it adds API guarantees so shouldn't be warned about 11:43 < bridge_> (the `const fn`) 11:43 < bridge_> where do I see that? 11:43 < bridge_> the same pr 11:43 < bridge_> he impl to string without the trait 11:44 < ws-client> impl ToString for SkinToUploadDB { 11:44 < ws-client> this? 11:44 < bridge_> y 11:44 < ws-client> yeah clever that it saw it 11:44 < ws-client> if this is always good dunno 11:44 < bridge_> also i always impl copy for enums 11:44 < bridge_> and whenever i can rlt 11:44 < bridge_> rly 11:44 < bridge_> you said fromstr 😄 11:44 < bridge_> couldn't find it 11:44 < bridge_> ye my bad 11:44 < bridge_> xd 11:44 < bridge_> implementing `ToString` is always wrong, no? 11:44 < bridge_> you should implement `Display` instead 11:45 < ws-client> @ryozuki for such stuff its indeed nice to have a tool. bcs that's pure tryhard to me :D 11:45 < bridge_> hmm idk actually 11:45 < bridge_> then you can also use it in format strings 11:45 < bridge_> and you get `ToString` for free 11:45 < bridge_> true 11:45 < ws-client> @ryozuki when fix pr 11:45 < bridge_> the lint just said tostring tho 11:45 < bridge_> i didnt think about display 11:45 < bridge_> i rarely impl it xd 11:46 < bridge_> I've never implemented `ToString`, but often `Display` 11:46 < bridge_> hi guys 11:46 < bridge_> what talk about 11:46 < bridge_> https://doc.rust-lang.org/std/string/trait.ToString.html 11:46 < bridge_> > This trait is automatically implemented for any type which implements the Display trait. As such, ToString shouldn’t be implemented directly: Display should be implemented instead, and you get the ToString implementation for free. 11:46 < bridge_> ye makes sense 11:47 < ws-client> @heinrich5991 bug report to clippy 11:47 < ws-client> xd 11:47 < bridge_> ill keep in mind 11:47 < ws-client> @ryozuki do u run clippy at save? 11:48 < ws-client> i really would need it to be conviced by it. i hate when i have to run external tools by hand 11:48 < ws-client> just to find mostly useless fixes 11:49 < bridge_> i changed vscode to use clippy ye 11:49 < bridge_> its a settings 11:49 < ws-client> ok nice 11:49 < bridge_> just change check to clippy 11:49 < ws-client> should try it soon:tm: 11:50 < bridge_> but default clippy doesnt enable all lints btw 11:50 < ws-client> when i am finally motivated to fix unused warnings xD 11:50 < ws-client> i use urs except the documentation one as test 11:50 < ws-client> and disable the ones i dislike 11:50 < bridge_> nice 11:50 < bridge_> because some have false-positives ^^ 11:50 < bridge_> i disable type complexity and too many args 11:51 < bridge_> rust types just tend to be complex often xd 11:51 < bridge_> ryo vscoder? 11:51 < ws-client> when he is alone and nobody watches he uses vscode 11:51 < bridge_> yea 11:51 < bridge_> but the internet sees emacs 11:52 < bridge_> u got me 11:52 < bridge_> nah but i use vim sometimes 11:52 < bridge_> im guipilled 11:53 < bridge_> windowspilled 11:53 < bridge_> In 20 years I switch to lapce 11:53 < bridge_> When it's finally stable 11:53 < bridge_> xd 11:53 < bridge_> Same with Wayland xdd 11:53 < bridge_> honestly vscode is rlt good 11:53 < bridge_> there werent that good editors before 11:53 < bridge_> atom was a ram hog 11:54 < bridge_> yea nothing universal at least 11:54 < bridge_> LSP was a game changer 11:54 < bridge_> Lapce is blazingly fast and that convinces me. But it has no debugger support and I'm no terminal tryharder 11:54 < bridge_> whenever someone in this chat says blazingly fast i take it with extra salt 11:55 < bridge_> it rly is fast 11:56 < bridge_> lapce is like vscode but no ks 11:56 < bridge_> js 11:56 < bridge_> its all rust 11:56 < ws-client> yeah and from what i read they embedd plugins as wasm modules into the editor 11:56 < bridge_> just compsre startup time 11:56 < ws-client> so they can maybe make the API a bit slimmer 11:57 < bridge_> the ui needs improvement tho 11:57 < ws-client> they apparently changed the editor recently 11:57 < ws-client> to their own 11:57 < bridge_> never heard of lapce 11:57 < bridge_> is it some undoubtedly epic rust thing 11:58 < ws-client> when i tested it a month ago, what surprised me how fast it could determine the phantom code (e.g. type definitions `: i32`) compared to vscode 11:58 < ws-client> was basically instant while writing 11:58 < bridge_> what is it 11:58 < ws-client> https://github.com/lapce/lapce 11:58 < ws-client> its vscode in rust 12:00 < bridge_> oh awesome 12:00 < bridge_> Even that didn't give any more information before the crash :/ The last line in the log is most likely unrelated warning 12:00 < bridge_> custom ui >_> 12:00 < bridge_> druid needs adoption if it's gonna be any good... maybe this predates it tho 12:01 < bridge_> Wow. Did u find some valgrind bug lmao 12:01 < bridge_> It sounds like their VM is crashing 12:03 < bridge_> pretty neat. certainly looks really.... something... at high DPI 12:03 < bridge_> https://cdn.discordapp.com/attachments/293493549758939136/1131526761147015208/image.png 12:03 < bridge_> and the custom window is a big red flag 12:03 < bridge_> use a native window & request custom decorations 12:03 < ws-client> windows problems 12:03 < bridge_> how 12:03 < ws-client> bcs for me it works 12:04 < ws-client> xd 12:04 < bridge_> that's using your brain right there 12:04 < ws-client> also nobody said that thing is stable lmao 12:05 < bridge_> ye it needs lot of work 12:05 < bridge_> yea sure 12:06 < bridge_> i wanna use this when it's awesome 12:08 < bridge_> this is it w/o custom title bar 12:08 < bridge_> https://cdn.discordapp.com/attachments/293493549758939136/1131528085733392415/image.png 12:08 < bridge_> i hope they know they can do better than that 12:09 < ws-client> i hope you join their dev team, that gives me an even better editor ;) 12:09 < bridge_> i wish but idk about the rusts 12:09 < ws-client> its ez af, starting is the hardest 12:10 < bridge_> @ryozuki did you know most distributions of vscode aren't open-source? 12:10 < bridge_> ye 12:10 < bridge_> the arch linux distribution is though 12:10 < bridge_> i know about vscodium 12:11 < bridge_> are you using a closed-source variant? :p 12:11 < bridge_> sadly im using the original ye 12:11 < ws-client> i'm using codium 12:11 < bridge_> i used to have problems woth the extension market thing 12:11 < bridge_> and i forgot to change back 12:11 < ws-client> to me a bigger problem is that extensions are not sandboxed 12:11 < bridge_> I don't like that people are using proprietrary editors again 12:12 < bridge_> does the acc system work on vscodium? i also remember hearing it was several versions behind 12:12 < ws-client> why do i want to log into my IDE xd 12:12 < bridge_> sync settings 12:12 < bridge_> it's awesome for my laptop 12:12 < ws-client> mh ok, i try to not change any settings and instead use workspaces per project 12:13 < bridge_> wild 12:13 < ws-client> u should try ddnet's vscode workspace xd i never tried it under windows 12:13 < ws-client> i wonder if it even works 12:13 < bridge_> yeah workspaces are kind of a joke 12:13 < bridge_> i am using real vscodes 12:13 < bridge_> smells like zaza at 4:13 am 12:13 < bridge_> neighbors 12:14 < ws-client> https://github.com/ddnet/ddnet/blob/master/other/vscode/README.md 12:14 < ws-client> the requirement list is long xD 12:14 < ws-client> the workspace directly gives u targets to build with ASAN etc. 12:15 < ws-client> so it's actually quite nice 12:15 < bridge_> neat. i never use vscode for the cpp 12:15 < bridge_> it doesn't work with my toolchain. i might be able to make it work but qt creator does it so well that i would never want to 12:15 < ws-client> do what suits you best ;) 12:16 < bridge_> Valgrind segfaults so hard that vgdb can't catch it dying :feelsbadman: 12:16 < bridge_> lol 12:16 < bridge_> ouch 12:17 < ws-client> looks for bug haunts before reporting xdd maybe redhat has some open 12:17 < ws-client> look* 12:17 < bridge_> haunts? 12:18 < ws-client> bounties 12:18 < bridge_> hunt 12:19 < bridge_> like the mediocre ketchup 12:23 < bridge_> Yeah debugging integration tests is a big pain. I can not give you any nice trix from ma phone. I barley even remember how the whole thing works. If you still haven’t figured it out when I get home I can have a look \:) 12:23 < bridge_> (@robyt3) 12:23 < bridge_> Is it in the CI only? 12:24 < bridge_> Also crashes in my Ubuntu VM 12:24 < bridge_> But only with Valgrind 12:26 < bridge_> @robyt3 after which changes? 12:27 < bridge_> I assume it was https://github.com/ddnet/ddnet/commit/c79fe027528510a7e62cf282af5571fb3a2aace9 from https://github.com/Robyt3/ddnet/tree/Graphics-Buffer-Refactoring 12:28 < bridge_> have you tried that the previous commit works? 12:29 < bridge_> No, but good idea, the CI is running to test if it's exactly this commit: https://github.com/Robyt3/ddnet/tree/Graphics-Buffer-Refactoring-2 12:36 < ws-client> https://github.com/Robyt3/ddnet/commit/e23408f0ea8be8db841f5124a5d9895a67bf7192 very good commit 12:36 < ws-client> i remember drama with heinrich xDD 12:37 < bridge_> @robyt3 do you have any suggestions on how to remove the code duplication of the smooth zooming code from https://github.com/ddnet/ddnet/pull/6885.? Making it its own class does not really work since some functions (`ZoomMouseTarget`) are quite different and need a lot of members of `CEditor` 12:37 < bridge_> @robyt3 do you have any suggestions on how to remove the code duplication of the smooth zooming code from https://github.com/ddnet/ddnet/pull/6885 ? Making it its own class does not really work since some functions (`ZoomMouseTarget`) are quite different and need a lot of members of `CEditor` 12:37 < bridge_> is `size_t` the right type for the width of a texture? why is it a different type depending on the cpu architecture? maybe `uint32_t` would fit better? 12:38 < ws-client> well so or so, yes at least an unsigned type. however u32 has a limit of 4GB 12:38 < ws-client> GPUs indeed support more 12:39 < bridge_> you want to be able to load textures with widths larger than 4 billion pixels? 12:39 < bridge_> that doesn't make sense to me 12:39 < ws-client> i want to write software that follows a certain logic 12:39 < ws-client> does std::vector need size_t? 12:40 < ws-client> do you want to allocate memory bigger than 4gb in ddnet? 12:40 < bridge_> yes. because it's a generic array that should support allocations larger than 4GB on 64 bit systems 12:40 < ws-client> then i say the same about GPU textures 12:40 < bridge_> I don't see why it's beneficial to support different widths on 32 bit vs 64 bit systems 12:41 < bridge_> I see why it's useful to support different array lengths on 32 bit vs 64 bit 12:41 < ws-client> but when u run through a texture u dont have a width of u32 12:41 < ws-client> u have an index of u32 12:42 < bridge_> You could add a `struct` that contains all the smooth scrolling variables and logic for one axis and then use two objects of those structs for the X and Y axis. Your struct can have a pointer to `CEditor` so it can use the shared editor functions as well 12:42 < bridge_> You could add a `struct` that contains all the smooth zoom variables and logic for one axis and then use two objects of those structs for the X and Y axis. Your struct can have a pointer to `CEditor` so it can use the shared editor functions as well 12:42 < bridge_> I don't understand what you mean by this 12:43 < ws-client> u do width * height 12:43 < bridge_> ah 12:43 < bridge_> so we're getting bitten by C's implicit conversions 12:43 < bridge_> I see 12:44 < bridge_> yea, if you want to account for all calculations that you can do with width and height, `size_t` makes sense 12:45 < bridge_> still a bit weird to me to use `size_t` for e.g. `SubOffsetX` but I guess it's okay 12:45 < ws-client> well these kind of offsets are always look from (0, 0) 12:46 < ws-client> so always positive 12:46 < bridge_> yes, `unsigned` makes sense to me 12:46 < bridge_> but I like fixed-width integers better 12:46 < bridge_> because they don't depend on the CPU architecture you're compiling for 12:47 < bridge_> Looks like the commit I initially expected is not causing the issue 12:47 < ws-client> yes, that makes sense, i'd always use them for stuff where i dont directly interact with raw memory, i guess 12:50 < ws-client> @heinrich5991 do you dislike `auto`? 12:51 < bridge_> for some reason I like it less in C++ than in rust 12:51 < ws-client> ok 12:51 < bridge_> perhaps due to the automatic type conversions in C++? idk 12:51 < ws-client> was about to say that i feel like in rust i type types more rarely 12:52 < ws-client> we could enable a compiler flag to disallow most conversions 12:52 < ws-client> but is probs lot of work :D 12:52 < ws-client> (implicit ones) 12:54 < bridge_> Wanna place your bets? Will it be the `size_t` change or the other changes causing Valgrind to crash? 12:54 < ws-client> https://github.com/Robyt3/ddnet/commit/0be0e2f448c2ca49323ea9adec459f1fb1bf312c 12:54 < ws-client> this one 12:54 < ws-client> xd 12:55 < ws-client> to me none of the changes make sense to me to cause crashes :D 12:56 < bridge_> let's do the first one, for fun 12:58 < ws-client> have u ever tried the changes without valgrind? XD 12:59 < bridge_> yes, the both in the CI and on Ubuntu the integration test worked without Valgrind 12:59 < bridge_> final test is running now, we should have the answer shortly 12:59 < ws-client> then i'll claim we have a negative width or height somewhere and valgrind tries to allocates huge chunks of memory now 12:59 < ws-client> (size_t)-1 13:00 < ws-client> then it simply says nah 13:00 < bridge_> that's my explanation also 13:00 < bridge_> Looks like it's confirmed, the `size_t` change causes the crash 13:01 < bridge_> master with Valgrind works, with just the `size_t` commit it doesn't work 13:02 < bridge_> Guess I'll add asserts for negative width and height everywhere to catch this... 13:03 < ws-client> is it only at loading? 13:03 < ws-client> mh ok menu background map... u could disable that 13:03 < bridge_> I guess that might be a point in favor of signed integer types in C/C++ 13:03 < ws-client> then u can maybe exclude all buffers 13:04 < ws-client> a point in favor? 13:04 < ws-client> that it causes undefined behavior? 13:04 < bridge_> no, signed→unsigned is not UB 13:04 < bridge_> that this implicit conversion creates integers that the programmer didn't intend to place there 13:04 < ws-client> yeah but u are clearly not supposed to pass negative values to the functions xD 13:05 < ws-client> to me this is one of the reasons i dislike google's weird developer guide 13:06 < bridge_> https://cdn.discordapp.com/attachments/293493549758939136/1131542544300380221/image.png 13:06 < bridge_> roby such a potty mouth 13:06 < ws-client> xD 13:06 < bridge_> what do u normally do about this? surely this isn't the first bot wave 13:06 < bridge_> does C has isize 13:06 < bridge_> for pointer offsets 13:06 < ws-client> it does 13:06 < ws-client> at least cpp 13:07 < ws-client> ssize_t 13:07 < ws-client> i think 13:07 < bridge_> first bot wave 13:07 < bridge_> crazy 13:08 < ws-client> but i think u are supposed to use ptrdiff_t for ptr calc xd 13:20 < ws-client> @robyt3 ping me when u found smth. i'm really interested what texture ever writes negative values here... the only thing that i could theoretically imagine is the font textures :D 13:20 < ws-client> maybe the entity numbers 13:20 < ws-client> but anything else should be handled by the png loader already 13:25 < bridge_> @jupeyy_keks in CopyTextureBufferSub: SrcSubOffsetX is negative or zero 13:25 < ws-client> who is the caller? 13:25 < bridge_> @jupeyy_keks in CopyTextureFromTextureBufferSub: SrcSubOffsetX is negative or zero 13:25 < bridge_> in CopyTextureFromTextureBufferSub* 13:26 < bridge_> Did get a backtrace yet, guess it just run the headless client with gdb 13:27 < ws-client> u can also just run the client normally 13:27 < ws-client> the assert will happen without valgrind 13:27 < ws-client> so some asset wants to read negative data 13:27 < ws-client> interesting 13:27 < ws-client> some sprite to be precise 13:28 < bridge_> It's from skin loading 13:28 < ws-client> xdd 13:28 < ws-client> who would have thought 13:29 < bridge_> Looks like a false alarm though 13:29 < bridge_> The assertions was wrong, offset is zero which is allowed 13:29 < ws-client> ah ok 13:29 < bridge_> wow weird i am getting a graphics related segfault when changing skin loading stuff 13:29 < bridge_> it's kind of a kink in the hose 13:29 < bridge_> of getting this cool async skin thing working 13:30 < ws-client> did u use mutex? 13:30 < bridge_> ye 13:30 < bridge_> i just meant 13:30 < bridge_> maybe similar to what roby is going thru rn 13:31 < ws-client> ah, sounded like you use the graphics class from a different thread 13:32 < ws-client> just watch out to not use graphics functions that use a member state 13:32 < ws-client> maybe u can make all functions static that you use 13:32 < ws-client> to be sure no member variable was used 13:33 < bridge_> nevermind, it's actually not even the `size_t` change according to the CI :santatrollet: 13:34 < ws-client> i tell ya its the name string check xDD 13:34 < ws-client> strings always evil 😂 13:36 < bridge_> <_voxeldoesart> robyt3 doesnt do intercourse, he looks at you and finds some random thing about your body that'd odd and then tries to fix it LOL 13:36 < bridge_> <_voxeldoesart> irl bug fixer 13:36 < bridge_> err 13:36 < bridge_> confirm ? 13:53 < bridge_> strings are not evil in rust 14:04 < bridge_> https://cdn.discordapp.com/attachments/293493549758939136/1131557238100725881/RDT_20230720_1404125154126828921382081.jpg 14:17 < bridge_> It's the string length check... :nouis: 14:24 < bridge_> Me 14:24 < bridge_> I've started to write intermediate logic steps aswell to help with this 14:31 < bridge_> Oh my god 14:31 < bridge_> When I do this I try so hard to keep track of what’s going on that I can’t properly form a sentence 14:31 < bridge_> Maybe just make a noise in response 14:31 < bridge_> The focus 🧠 14:33 < bridge_> actually writing UML when I’m spitballing helps too but usually I don’t expect to need it 14:33 < bridge_> then i need it 14:33 < bridge_> the online editors are handy 14:34 < bridge_> my uml is rust code 14:34 < bridge_> joke joke 14:34 < bridge_> i rarely do uml 14:35 < bridge_> Maybe i print out this comic and tap it when someone asks my attention while im braining 14:36 < bridge_> i can’t i think that is “sperg behavior” 14:50 < ws-client> @robyt3 LOL did u find out why exactly? 14:51 < ws-client> do we load a lol .png file? 14:51 < ws-client> doesnt the check need to be <= 3 anyway? 14:59 < bridge_> clickbait for accounts system :poggers2: 14:59 < bridge_> it’s real and it’s everywhere and it’s often 15:01 < bridge_> @jupeyy_keks 15:01 < bridge_> ```py 15:01 < bridge_> image_null = Image("null", "") 15:01 < bridge_> image_particles = Image("particles", "particles.png") 15:01 < bridge_> image_game = Image("game", "game.png") 15:01 < bridge_> ... 15:01 < bridge_> ``` 15:01 < bridge_> For whatever reason we have `image_null` that has an empty filename 15:01 < bridge_> It's used in `set_tee = SpriteSet("tee", image_null, 8, 4)` 15:02 < ws-client> very huge troll 15:03 < ws-client> and funny that this can kill valgrind xD 18:56 < ChillerDragon> jopsti bringing da trol to serious githubbing 18:58 < bridge_> chiller bringing da trol to serious bots 18:58 < ChillerDragon> wot bots 18:58 < bridge_> many xd 18:58 < ChillerDragon> no proof 18:58 < bridge_> chillerdragon: when fix mouse select 18:58 < ChillerDragon> jopsti 18:58 < bridge_> chillerdragon: when fix teams 18:58 < ChillerDragon> go bottom left 18:58 < ChillerDragon> click cogwheel 18:58 < bridge_> lol its a setting 18:58 < ChillerDragon> deactivate emoji_picker 18:58 < bridge_> to fix selection? XD 18:58 < ChillerDragon> reload page 18:59 < bridge_> WTF XDD 18:59 < ChillerDragon> xd 18:59 < ChillerDragon> yes 18:59 < ChillerDragon> good "fix" 18:59 < bridge_> the emoji picker breaks mouse selection 18:59 < bridge_> epic 18:59 < ChillerDragon> yes 18:59 < ChillerDragon> nobodi oose it ani way 18:59 < bridge_> i love this page 18:59 < ChillerDragon> kill it with fire 18:59 < bridge_> burn the fire 18:59 < ChillerDragon> :fire: 19:00 < ws-client> did u try? 19:00 < ws-client> selecting works soo good 19:00 < bridge_> omg selecting text in a browser works good now 19:00 < bridge_> omg such an epic feature 19:00 < ws-client> 🚀 19:01 < ws-client> blazingly customizable chat app 19:02 < bridge_> epic 19:02 < bridge_> can it also disable x11? 19:07 < ChillerDragon> axaxaxax 19:17 < bridge_> <_voxeldoesart> only elon musk fans use 🚀 unironically 19:19 < bridge_> and ppl that want to visit ✪ Jup-Star ✪ 19:20 < bridge_> <_voxeldoesart> what is that 19:20 < bridge_> a star 🌟 19:21 < bridge_> called Jup 19:21 < bridge_> <_voxeldoesart> thats crazy 19:38 < ChillerDragon> @davide55 still can not join ger10 19:40 < ChillerDragon> :+1: :eye: and :heavy_check_mark: are the only emotes i use unironically 19:40 < ChillerDragon> and ofc :see_no_evil: 19:46 < bridge_> xd sure chillerbot.png is lyfe 19:50 < ws-client> <:justatest:572499997178986510> 21:22 < bridge_> @jupeyy_keks https://twitter.com/nodesandnoodles/status/1681874450713567234 21:24 < bridge_> wow looks so real 21:24 < bridge_> https://twitter.com/cmzw_/status/1682010424177459200 21:24 < bridge_> blender twitter xd 21:25 < bridge_> https://twitter.com/vtuberkaibou/status/1681952096416051200 21:25 < bridge_> procedural stuff is amazing 23:43 < bridge_> https://cdn.discordapp.com/attachments/293493549758939136/1131702875194667078/image.png 23:43 < bridge_> Looks like someone's busy coding on GitHub! 😄👨‍💻