00:09 < bridge> code question 00:09 < bridge> https://i.imgur.com/fUcLlTr.png 00:09 < bridge> ```cpp 00:09 < bridge> Row.HMargin(2.0f, &Row); 00:09 < bridge> Row.VSplitLeft(Width, &Button, &Row); 00:09 < bridge> Button.VSplitLeft((Width - Button.h) / 4.0f, nullptr, &Button); 00:09 < bridge> Button.VSplitLeft(Button.h, &Button, nullptr); 00:09 < bridge> if(g_Config.m_ClShowChatFriends && !CurrentClient.m_Friend) 00:09 < bridge> DoButton_Toggle(&s_aPlayerIDs[Index][0], 1, &Button, false); 00:09 < bridge> else if(DoButton_Toggle(&s_aPlayerIDs[Index][0], CurrentClient.m_Foe, &Button, true)) 00:09 < bridge> CurrentClient.m_Foe ^= 1; 00:09 < bridge> ``` 00:09 < bridge> But button is unclickable 00:10 < bridge> it popUps but, when i pressing, nothing happens 00:50 < bridge> I don't know much about that but I think, I don't know if I'll be wrong, but I think that's what makes it happen 00:50 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1171960025418322020/image.png?ex=655e93d4&is=654c1ed4&hm=95e3c46f11f9a241dfdbba9b748af37809f770fddd56ff3fcaa0b24282dcf4da& 00:50 < bridge> it says checked: 02:09 < bridge> Full access PAYPAL/Cashapp Accs here -->> https://t.me/crptcat ESCROW ACCEPTED! 03:25 < bridge> One "pID" can be used only for one ui element 05:57 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1172037099273322587/video_20231109_125619.mp4?ex=655edb9b&is=654c669b&hm=df53dae0b9fb634b019ea51d02240550cd6d70524d8abfe747548159701b37d3& 05:57 < bridge> multi-touch handling be like 07:44 < bridge> pain 07:44 < bridge> I tried adding multitouch to one of my games 07:45 < bridge> Then I got the conclussion of literally never making a mobile game 🥳 07:45 < bridge> atleast in the game engine I'm used to use 07:45 < bridge> I tried to add multi-touch to one of my games once 09:44 < bridge> ```2023-11-09 10:41:21 I assert: /ddnet-source/src/game/editor/editor.cpp(2386): Unhandled entities image for explanations``` 09:44 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1172094339409776680/ddnet_invalidTiles_assertion_error.png?ex=655f10ea&is=654c9bea&hm=a6c81e7f5397d9fcbe5c7bb96f352ca22227820ea406ef68850034475bec502e& 09:44 < bridge> I think I now what's causing this but I am not sure. 09:45 < bridge> Here's the entities I use. 09:45 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1172094612354125894/entitiesdfngv2.png?ex=655f112c&is=654c9c2c&hm=38f0840fc5049f108210f4b5ccccd79dab72d467d4a6b8c4068e01195de6fde4& 09:48 < bridge> I have added more *tiles* (specifically more spike tiles and flag goal tiles) to the `entitiesdfngv2.png` which is located under `editor/entities/` 09:49 < bridge> Hmm I forgot to test with nightly doing so now... 09:50 < bridge> Although looking at the code the result should be the same ```cpp 09:50 < bridge> EExplanation Explanation = EExplanation::DDNET; 09:50 < bridge> if(m_SelectEntitiesImage == "DDNet") 09:50 < bridge> Explanation = EExplanation::DDNET; 09:50 < bridge> else if(m_SelectEntitiesImage == "FNG") 09:50 < bridge> Explanation = EExplanation::FNG; 09:51 < bridge> else if(m_SelectEntitiesImage == "Race") 09:51 < bridge> Explanation = EExplanation::RACE; 09:51 < bridge> else if(m_SelectEntitiesImage == "Vanilla") 09:51 < bridge> Explanation = EExplanation::VANILLA; 09:51 < bridge> else if(m_SelectEntitiesImage == "blockworlds") 09:51 < bridge> Explanation = EExplanation::BLOCKWORLDS; 09:51 < bridge> else 09:51 < bridge> dbg_assert(false, "Unhandled entities image for explanations"); 09:51 < bridge> ``` 09:58 < bridge> Same thing on nightly `2023-11-09 10:56:56 I assert: ```ddnet/src/game/editor/editor.cpp(2564): Unhandled entities image for explanations``` 09:58 < bridge> Same thing on nightly ```2023-11-09 10:56:56 I assert: ddnet/src/game/editor/editor.cpp(2564): Unhandled entities image for explanations``` 10:10 < bridge> I made by *patching* ddnet but I am not sure if my approach is considered correct/if it would cause problems. I basically added `OTHER` value to the `EExplanation` enum (at editor.h::(958)) and changed the else statment to `Explanation = EExplanation::OTHER;` (at editor.cpp::(2564)). Lastly I added ```case EExplanation::OTHER: 10:10 < bridge> return nullptr; // TODO: Explanations for Other?``` (at explanations.cpp::(682)). 10:10 < bridge> \*made it work by *patching*... 14:07 < bridge> <_voxeldoesart> oh wait hold on 14:07 < bridge> <_voxeldoesart> fng with teleport and live freeze? and JETPACK? 14:08 < bridge> <_voxeldoesart> ok. this might be peak 14:15 < bridge> I think you've already played at dfng xD 14:22 < bridge> <_voxeldoesart> oh wait i haaaave 14:23 < bridge> <_voxeldoesart> i need to play more of that 14:23 < bridge> <_voxeldoesart> i just didnt know these features 14:54 < bridge> is that a 10 team fng 14:54 < bridge> no more 14:54 < bridge> 63 plus team 0 = 64 teams fng 15:55 < bridge> <_voxeldoesart> thats just called solofng LOL 15:56 < bridge> <_voxeldoesart> or if theres 128 max server itd be like duos from fortnite 17:20 < bridge> https://blog.rust-lang.org/2023/11/09/parallel-rustc.html 17:20 < bridge> @jupeyy_keks 17:22 < bridge> @jupeyy_keks can u time 17:22 < bridge> `RUSTFLAGS="-Z threads=8" cargo build --release` 17:22 < bridge> change 8 to ur cores 17:22 < bridge> read the blog post, it halved the compile time if i read correctly 17:22 < bridge> u need nightly 17:23 < bridge> > When the parallel front-end is run in multi-threaded mode with -Z threads=8, our measurements on real-world code show that compile times can be reduced by up to 50%, though the effects vary widely and depend on the characteristics of the code and its build configuration. For example, dev builds are likely to see bigger improvements than release builds because release builds usually spend more time doing optimizations in the back-end. A small numb 17:23 < bridge> > 17:23 < bridge> > We recommend eight threads because this is the configuration we have tested the most and it is known to give good results. Values lower than eight will see smaller benefits. Values greater than eight will give diminishing returns and may even give worse performance. 17:23 < bridge> ok try with 8 17:24 < bridge> https://en.wikipedia.org/wiki/Amdahl%27s_law 18:09 < bridge> without 18:09 < bridge> `cargo build --release 894,20s user 59,23s system 1001% cpu 1:35,22 total` 18:09 < bridge> 18:09 < bridge> with 18:09 < bridge> `RUSTFLAGS="-Z threads=40" cargo build --release 920,27s user 71,94s system 1040% cpu 1:35,38 total` 18:09 < bridge> 18:09 < bridge> was slower for some reason xd 18:09 < bridge> 18:09 < bridge> or is it especially important to use exactly your core count and not logical threads? 18:10 < bridge> but i can try with 8.. but sounds stupid on 16 core pc xD 18:13 < bridge> @jupeyy_keks bro 18:13 < bridge> use 8 18:13 < bridge> not 40 18:13 < bridge> read the article 18:13 < bridge> to understand why 18:13 < bridge> cargo already calls rustc paralel 18:14 < bridge> but they also made rustc itself paralel 18:14 < bridge> the article is 1000 characters above my attention span 18:14 < bridge> they tested and said with 8 on a 24 core worked best 18:14 < bridge> try 8 18:14 < bridge> `RUSTFLAGS="-Z threads=8" cargo build --release 1035,68s user 98,75s system 1156% cpu 1:38,06 total` 18:14 < bridge> it's even slower 18:14 < bridge> lmao 18:14 < bridge> with clean? 18:15 < bridge> yes 18:15 < bridge> how much cores u got 18:15 < bridge> or is the blog post for the nightly tomorrow or smth? xDD 18:15 < bridge> try 4 18:15 < bridge> 16 18:15 < bridge> or 2 18:15 < bridge> or 6 18:16 < bridge> so to use one AMD processor group basically?? 18:16 < bridge> cargo doesnt fully saturate when calling multiple rustcs iirc 18:16 < bridge> so paralelozing a bit rustc may 18:16 < bridge> the article explains it idk 18:16 < bridge> i also over read it a bit 18:17 < bridge> but they got 50% gain 18:17 < bridge> ok i ask gpt for a summary 18:17 < bridge> > though the effects vary widely and depend on the characteristics of the code and its build configuration. For example, dev builds are likely to see bigger improvements than release builds because release builds usually spend more time doing optimizations in the back-end. 18:17 < bridge> try with debug mode too 18:18 < bridge> > A small number of cases compile more slowly in multi-threaded mode than single-threaded mode. These are mostly tiny programs that already compile quickly. 18:19 < bridge> mhh 18:20 < bridge> or they simply did synthetic benchmarks 18:21 < bridge> rerun without these flags.. defs faster in release 18:21 < bridge> `cargo build --release 888,18s user 57,35s system 1007% cpu 1:33,88 total` 18:21 < bridge> 18:21 < bridge> 18:21 < bridge> now i try debug 18:23 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1172224857451282525/image.png?ex=655f8a78&is=654d1578&hm=5ec9d2c66112834010f5d37f90b4342a0d4fe0d3e247acce725b84fa53205f18& 18:23 < bridge> @jupeyy_keks using 40 threads is a bit much when cargo itself spawns 40 rustcs 18:23 < bridge> i didnt read the article xD 18:23 < bridge> i see 8, i put 40 18:23 < bridge> it means your CPU would run 1600 threads in parallel, likely diminishing the returns of parallelizationj 18:23 < bridge> 😄 18:23 < bridge> btw 40 was faster xD 18:23 < bridge> xddd 18:24 < bridge> did u rustup up 18:24 < bridge> to get latest nightly 18:24 < bridge> just in case 18:24 < bridge> debug: 18:24 < bridge> `cargo build 506,87s user 73,18s system 1678% cpu 34,567 total` 18:24 < bridge> 18:24 < bridge> with: 18:24 < bridge> `RUSTFLAGS="-Z threads=8" cargo build 674,66s user 120,29s system 1794% cpu 44,299 total` 18:24 < bridge> 18:24 < bridge> ``` 18:24 < bridge> % rustc --version git:playground 18:24 < bridge> rustc 1.75.0-nightly (fdaaaf9f9 2023-11-08) 18:24 < bridge> 18:24 < bridge> ``` 18:24 < bridge> i dunno, it's simply slower for me 18:24 < bridge> or is it for the nightly tomorrow? XD 18:25 < bridge> but even then it would be weird that the flags make a difference i guess 18:26 < bridge> Slower than normally compiling? Now that's an absolute failure 18:26 < bridge> well atleast for the project i try with 18:26 < bridge> they apparently tried many libs 18:26 < bridge> or they have some NASA pc 18:26 < bridge> its a experimental nightly feature 18:26 < bridge> You should try one of their test projects 18:26 < bridge> but in their reports they get good results 18:27 < bridge> If you cant reproduce that either now that would be interesting 18:27 < bridge> @jupeyy_keks ur crate is big right 18:27 < bridge> at least cranelift is part of my compilation too 😄 18:27 < bridge> it's huge, but mostly bcs the deps are huge xD 18:27 < bridge> cranelift compiler alone takes so fcking long xD 18:27 < bridge> Ew imagine having deps and not rolling everything on your own 18:28 < bridge> yeah imagine not living in the 80' 18:28 < bridge> Ew 18:28 < bridge> EwE 18:29 < bridge> eWe 18:29 < bridge> <_voxeldoesart> WeW 18:32 < bridge> serde in debug: 18:32 < bridge> `cargo build 7,80s user 1,26s system 292% cpu 3,095 total` 18:32 < bridge> vs 18:32 < bridge> `RUSTFLAGS="-Z threads=8" cargo build 11,94s user 2,20s system 485% cpu 2,910 total` 18:32 < bridge> so also slower for me 18:32 < bridge> seems worthy of a reprot 18:32 < bridge> seems worthy of a report 18:33 < bridge> also tried with 2 and 4 as threads.. still slower. but actually a tiny bit faster than with 8 18:33 < bridge> now with 40 😬 18:33 < bridge> 40 is slow xdd 18:33 < bridge> 18:33 < bridge> ~18 secs 18:34 < bridge> with threads=1 it's around the same speed as without, but still bit slower 18:34 < bridge> have you tried with 1? 18:34 < bridge> ok 18:34 < bridge> xd 18:34 < bridge> xd 18:34 < bridge> odd 18:36 < bridge> have u tried it? 18:36 < bridge> i mean would be worth a try.. maybe it's some AMD thing that it's slower 18:41 < bridge> i havent 18:41 < bridge> im not home rn 18:41 < bridge> i also got amd btw 18:41 < bridge> yes 18:41 < bridge> but i can try with m1 18:41 < bridge> ok 18:42 < bridge> imagine running a model on gpu to determine fastest compile parameters xd 18:52 < bridge> the EU law just reinforces free software btw 18:53 < bridge> the ability to modify the source code and compile allows u to not abide by the stupid shit 18:53 < bridge> gov CAs 18:53 < bridge> #stallmanwasright 18:53 < bridge> :BASED: 18:55 < bridge> https://wiki.mozilla.org/CA/Changing_Trust_Settings#Deleting_a_Root_Certificate 19:09 < bridge> <_voxeldoesart> what 19:09 < bridge> > the EU law just reinforces free software btw 19:09 < bridge> is it even proposed already? 19:09 < bridge> "EU law" sounds like it's in place already 20:04 < asdasd> One question why does ger10 laag for some spefic players since yesterday ? 20:04 < asdasd> Is this some network stuff or is there some kind of firewall "protection" something to slow them down? 20:05 < bridge> @ryozuki did u see steam deck oled 20:08 < asdasd> Normaly ger10 ~25 ping, and now ~100 ping, while ger2, pol everything else is same as before just ger10 20:15 < bridge> Are you ingame? In the browser you might have a cached bad ping 20:18 < bridge> bruh 20:18 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1172254003317440512/image.png?ex=655fa59d&is=654d309d&hm=17f47d7cacb1507004f1c7b5705d6d9f89f1f18f81fdfd2b1c8ea04b546c77d7& 20:18 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1172254003644612739/image.png?ex=655fa59d&is=654d309d&hm=f6228d3524c109dc2a7e25fd3f81ea8835179480032bda59a1e748a6725314e5& 20:18 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1172254004114358272/image.png?ex=655fa59e&is=654d309e&hm=2c9c9bee6ac0ceafaa1d3a8f6a11b809a7e6c671b61af9a3dbade068b8c61673& 20:21 < bridge> Did you modify the cmake project to change the version aswell? 20:23 < bridge> I have a private fork, I just upgraded from 17.2.1 to 17.3 20:23 < bridge> Did you modify CMakeLists 20:23 < bridge> That's the question 20:23 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1172255200015286302/image.png?ex=655fa6bb&is=654d31bb&hm=71df3b82b83573c5742c3e838865b65b9180f6214aaf28e47c68f513585632ea& 20:23 < bridge> no 20:24 < bridge> I didn't change it, but when I refreshed it, I noticed I didn't change it. 20:24 < bridge> and 20:24 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1172255485685141624/image.png?ex=655fa6ff&is=654d31ff&hm=2e44eeed758cd61f9fd17189a3a47f3a55ea8368e33d3ecc793126e7fcde2871& 20:25 < bridge> I didn't, but when I renewed it, I noticed it had been cheated on by someone else 20:25 < bridge> Should I make an issue/pull request here this seems to be lost 20:25 < bridge> Ok then the behaviour makes absolutely no sense to me. `GAME_RELEASE_VERSION` is defined by cmake. Or if not by `version.h`. Neither would define it as 2.1.1 unless you changed something 20:26 < bridge> I can add you to the repository if it's more convenient for you, you can see the commits for yourself 20:27 < bridge> Uhhhhhh I'm on a phone. I'd rather not tbf 20:27 < bridge> Everything that has changed in CMake since the last working version is in the screenshot. The rest is just adding files to the compilation 20:28 < bridge> Did you try a clean recompile? 20:28 < bridge> Like delete the entire build dir 20:29 < bridge> no 20:29 < bridge> I'm gonna give it a try 20:31 < bridge> @sedonya I think Learath2 means if you have modified CMakeLists.txt at all 20:31 < bridge> and the answer is probably yes 20:32 < bridge> (not just since it broke, but in all of your custom client history) 20:32 < bridge> a 20:32 < bridge> yes 20:32 < bridge> no 20:33 < bridge> But I was just adding the name of the files to compile, no more than that 20:33 < asdasd> @lerath2 sry for the late response its not just browser, if u go into any ger10 server there are few players runnning with 100 ping u can ask everyone the same question, they lag since yesterday 20:37 < asdasd> ps. "everyone the same question, they lag since yesterday", and this also only on ger10 btw 20:40 < asdasd> btw the minute i wrote it everyone, got better ping now, so the problem is solved for everyone 20:40 < asdasd> if someone did something thanks alot 20:40 < bridge> @learath2 20:40 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1172259507443871774/image.png?ex=655faabe&is=654d35be&hm=4c82b208f88010e1bb67be5fbbe0ec2c9048633de2794683c4f4b17a0c7562ba& 20:41 < bridge> I have Wnodev in the release, so no complaints 22:02 < bridge> This part of the code was introduced 3 years ago: https://github.com/ddnet/ddnet/commit/1a17feff12e03e8c95c4ca0199f0e55612fc8b1a 22:02 < bridge> then I tried to remove it, and had to restore again: https://github.com/ddnet/ddnet/pull/7310 22:07 < bridge> Got it, but how do I fix my code? 22:07 < bridge> Undoing your changes is not the best option I guess 22:12 < bridge> So, this code is not something new and you have issues due to other changes in CMakeLists. 22:12 < bridge> CMake and the current packaging are not as flexible as we'd like it to. `GAME_RELEASE_VERSION` is a generic name for the project version. 22:13 < bridge> `VERSION` and `GAME_RELEASE_VERSION` are used to indicated the packaged version. 22:13 < bridge> Maybe in your case you'd want to define (via CMake target_compile_definitions) `SCLIENT_RELEASE_VERSION` instead of the `GAME_RELEASE_VERSION` (and probably modify the version.h for that). 22:13 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1172282717874946099/image.png?ex=655fc05b&is=654d4b5b&hm=9d6808e78dc27fb1c9388a1015e1dc14473ac672197fae541cae42e405b0a233& 22:48 < bridge> does ddnet use `libpng` or `pnglite`? 22:49 < bridge> libpnglite 22:49 < bridge> xd 22:49 < bridge> no libpng nowadays 22:49 < bridge> hmm 22:52 < bridge> so the pnglite lib ty 22:55 < bridge> wat 22:56 < bridge> pnglite gone 22:56 < bridge> no, libpng nowadays 22:56 < bridge> hmm xD 22:56 < bridge> libpng is bloated no? 22:56 < bridge> it's libpng, ignore my past me 22:56 < bridge> why? 22:57 < bridge> it's the reference implementation 22:57 < bridge> idk I am asking 22:57 < bridge> it does what it should xd 22:57 < bridge> loading pngs 22:57 < bridge> Ok that's what I am using then :) 22:57 < bridge> ah for your project? 22:58 < bridge> i'd say better use an easier to use lib 22:58 < bridge> yeah 22:58 < bridge> but pnglite can only load certain png images 22:58 < bridge> but robyte made a pr for vanilla tw 22:58 < bridge> using some png lib 22:58 < bridge> maybe u can use that 22:59 < bridge> https://github.com/teeworlds/teeworlds/pull/2934 22:59 < bridge> LodePNG is also easy to use for small projects 22:59 < bridge> https://lodev.org/lodepng/ 23:04 < bridge> 👍