01:21 < bridge> hmm, that's werid, afaik they are disabled by default on compilation and must be explicitly enabled 01:21 < bridge> did you compile it yourself ? 01:35 < bridge> Yes, it’s gentoo, everything on this computer is complied with march=native 01:38 < bridge> C++ compilers do as much as they can to vectorize stuff, it's not an iterator exclusive things 01:38 < bridge> good optimizing compilers in general do that 01:38 < bridge> C++ compilers do as much as they can to vectorize stuff, it's not an iterator exclusive thing 01:39 < bridge> LLVM will attempt to vectorize as long as you tell it to 01:41 < bridge> and GCC output is similar quality, so that's C, C++, Fortran, and some others 02:12 < bridge> you should recompile it with -mnoavx512 then 02:12 < bridge> Why would I skip a potential optimization? 02:13 < bridge> I guess valgrind compatibility is a good argument for it tbf 02:24 < bridge> <.lepinpin> Hey i'm having issues to understand the Console()->Register :\ if someone can help me pls 02:31 < bridge> <.lepinpin> Anyway i found something else 03:10 < bridge> <.lepinpin> Like i want to create a command in the console to use a function 05:42 < bridge> LibreOffice had to remove SSE2 optimizations because of maintenance cost 05:43 < bridge> the results were better with it but not by much 09:48 < bridge> @.lepinpin: https://youtu.be/N2pFajc0PYg 09:49 < bridge> I really should write some short blog about all the common use cases. That can be updated over time when stuff changes. Instead of making these 30 minute videos .\_. 10:24 < bridge> <.lepinpin> Okey thx bro i gonna do that <3 10:42 < bridge> <.lepinpin> Its server command but i think for CFGFLAG_CLIENT it will be ez 10:53 < bridge> Oh you want client side. That wasn’t obvious to me 10:53 < bridge> New bot dev? 10:56 < bridge> <.lepinpin> Nah 10:56 < bridge> <.lepinpin> Ye sry 10:57 < bridge> <.lepinpin> Juste do thing i want in a client 10:57 < bridge> What should your command do? @.lepinpin 10:58 < bridge> <.lepinpin> A command to turn on/off the keystroke 10:58 < bridge> ? I don’t know what that means 10:58 < bridge> gumo ^^ 10:58 < bridge> <.lepinpin> I’ve done a button for that but I want that ig 10:59 < bridge> Which keystroke 10:59 < bridge> <.lepinpin> One I’ve done 10:59 < bridge> <.lepinpin> I have to go 11:00 < bridge> sus 11:18 < bridge> <.lepinpin> X) nah I swear I don’t need to do that I’m too good for that 11:19 < bridge> <.lepinpin> And I don’t want to do shit like that 11:19 < bridge> <.lepinpin> Or else if u have a better solution to put it in binds or other 11:20 < bridge> <.lepinpin> ```Graphics()->MapScreen(0, 0, Graphics()->ScreenWidth(), Graphics()->ScreenHeight()); 11:20 < bridge> <.lepinpin> if(m_ShowKeystroke) 11:21 < bridge> <.lepinpin> { 11:21 < bridge> <.lepinpin> 11:21 < bridge> <.lepinpin> 11:21 < bridge> <.lepinpin> 11:21 < bridge> <.lepinpin> int screenW = Graphics()->ScreenWidth(); 11:21 < bridge> <.lepinpin> int screenH = Graphics()->ScreenHeight(); 11:21 < bridge> <.lepinpin> 11:21 < bridge> <.lepinpin> float baseX = m_KeystrokeX * screenW; 11:21 < bridge> <.lepinpin> float baseY = m_KeystrokeY * screenH; 11:21 < bridge> <.lepinpin> 11:21 < bridge> <.lepinpin> float keySize = 30.0f; 11:21 < bridge> <.lepinpin> 11:21 < bridge> <.lepinpin> 11:21 < bridge> <.lepinpin> //shit thing but work 11:21 < bridge> <.lepinpin> if(Input()->KeyIsPressed(KEY_F7)) 11:21 < bridge> <.lepinpin> { 11:21 < bridge> <.lepinpin> m_baseX -= 0.2f; 11:21 < bridge> <.lepinpin> } 11:21 < bridge> <.lepinpin> else if(Input()->KeyIsPressed(KEY_F8)) 11:21 < bridge> <.lepinpin> { 11:21 < bridge> <.lepinpin> m_baseX += 0.2f; 11:21 < bridge> <.lepinpin> } 11:21 < bridge> <.lepinpin> 11:21 < bridge> <.lepinpin> 11:21 < bridge> <.lepinpin> 11:21 < bridge> <.lepinpin> DrawKeyQuad(baseX + m_baseX, baseY, 30, 30, Input()->KeyIsPressed(KEY_A) ? vec4(0, 0, 0, 0.8) : vec4(0.3f, 0.3f, 0.3f, 0.6)); 11:21 < bridge> <.lepinpin> TextRender()->Text(baseX - 6.0f + m_baseX, baseY - 6.0f, 12.0f, "A"); 11:21 < bridge> <.lepinpin> 11:21 < bridge> <.lepinpin> DrawKeyQuad(baseX + 40 + m_baseX, baseY, 30, 30, Input()->KeyIsPressed(KEY_D) ? vec4(0, 0, 0, 0.8) : vec4(0.3f, 0.3f, 0.3f, 0.6)); 11:21 < bridge> > shit thing but work 11:21 < bridge> :kek: 11:23 < bridge> <.lepinpin> This code is quite bad but it work and optimized maybe 11:23 < bridge> <.lepinpin> I’m used to be a web developer 11:23 < bridge> no front ^^ 11:23 < bridge> I just love to see when other people botch something to test somethng 11:24 < bridge> I just love to see when other people botch something to test something 11:24 < bridge> <.lepinpin> Ohh 11:24 < bridge> <.lepinpin> Do you love when people test something and it doesn’t work 11:25 < bridge> hmm no? I mean like building "helper" tools/things to debug and test the feature you're working on 11:25 < bridge> it shows that you put time in it and want to make it work 11:27 < bridge> because it may be a "shit thing", but on the otherhand it "work" 11:27 < bridge> <.lepinpin> Ohh oki 11:29 < bridge> <.lepinpin> Ye but it’s to test the feature but maybe I won’t change it 11:31 < bridge> I have no idea what you're working on, but keep going, this is valuable work 👍 11:32 < bridge> <.lepinpin> Thx <3 11:34 < bridge> i think he just wants to show the keys he is pressing during the game 11:34 < bridge> maybe for clips or tutorials 11:35 < bridge> I think this exists for A/D/jump already 11:35 < bridge> so you could look at the code 11:39 < bridge> <.lepinpin> Ye but it’s not like I want 11:43 < ws-client> **** @learath2 when merge https://github.com/ddnet/ddnet/pull/10399 11:44 < bridge> yeah I believe you want an overlay like in trackmania? 11:44 < bridge> I believe there is overlay software for streamers already 11:44 < bridge> <.lepinpin> Yeah a lot of idea is an overlay 11:44 < ws-client> **** @.lepinpin ah you want to show which key was pressed in the gui? Like if you hold down "a" it shows a "A" somewhere visually? 11:45 < bridge> <.lepinpin> Yeah but not in full screen 11:45 < ws-client> **** i see 11:45 < ws-client> **** cool cool 11:45 < ws-client> **** you herby earned the "legit dev" badge 11:45 < bridge> <.lepinpin> I’ve done that but create a command to switch between false and true 11:46 < ws-client> **** i would go with a config not a command 11:46 < ws-client> **** its what they are for and also easier to do 11:46 < ws-client> **** have a look at config_variables.h 11:47 < bridge> would you want to show the letter A or an arrow pointing to the left? 11:48 < bridge> <.lepinpin> Uhmm I can show if u want but I’m busy right now 11:52 < ws-client> **** @robyt3 go merge #10596, #10597, #10598 11:52 < chillerbot> https://github.com/ddnet/ddnet/issues/10596 11:52 < chillerbot> https://github.com/ddnet/ddnet/issues/10597 11:52 < chillerbot> https://github.com/ddnet/ddnet/issues/10598 12:08 < bridge> <.lepinpin> Cuz what I have work perfectly I just need to create a client command to switch between false and true for m_ShowKeystroke 12:11 < bridge> <.lepinpin> Cuz what I have work perfectly I just need to create a client command to switch between false and true for m_ShowKeystroke 12:18 < bridge> Search for conchaim commands 12:18 < bridge> Search for conchain commands 12:27 < bridge> you can use `Controls()->m_aInput[g_Config.m_ClDummy].` 12:27 < bridge> <.lepinpin> Ye I gonna check that later 12:28 < bridge> you can use `Controls()->m_aInputData[g_Config.m_ClDummy].m_Direction` 12:28 < bridge> check config_variables.h 12:28 < bridge> <.lepinpin> Mhh ye 12:28 < bridge> wait as in turning the whole thing on or off, or getting the input data 12:29 < bridge> <.lepinpin> Oh okey I see now 12:30 < bridge> <.lepinpin> Ye @chillerdragon.9502 told me same 12:32 < bridge> <.lepinpin> Thx guys I gonna check that when I’m on pc 12:33 < bridge> you can do 12:33 < bridge> ``` 12:33 < bridge> MACRO_CONFIG_INT(ClKeyStrokes, cl_keystrokes, 0, 0, 1, CFGFLAG_CLIENT | CFGFLAG_SAVE, "show keystrokes")``` and it will make a variable and register it in the console 12:33 < bridge> so ingame you can do cl_keystrokes 1 12:34 < bridge> and in ur code you can do if(g_Config.m_ClKeyStrokes) 12:36 < bridge> ChillerDragon: Your force push of #10711 seems to have deleted the changes of the first review 12:36 < bridge> https://github.com/ddnet/ddnet/pull/10711 12:51 < ws-client> **** @robyt3 omg did i do the assa move? switching devices is hard. Let me check. 12:55 < ws-client> **** fixed 13:03 < bridge> get Assad 13:03 < bridge> you should use --force-with-lease :p 13:06 < bridge> @robyt3 can I get you to take a look at #10728 ? :justatest: 13:06 < bridge> https://github.com/ddnet/ddnet/pull/10728 13:06 < bridge> or do you also wish to have benchmarks for that commit? I automated this as good as I could :owo: 13:09 < bridge> <.lepinpin> K im testing that right now 13:10 < bridge> <.lepinpin> It work perfectly 13:10 < bridge> <.lepinpin> Thx sm 13:11 < bridge> no problem! 13:11 < bridge> <.lepinpin> Now i will do the scroll to control the position of the Hud 13:12 < bridge> <.lepinpin> And for that MACRO_CONFIG_INT(ClKeyStrokes, cl_keystrokes, 0, 0, 1, CFGFLAG_CLIENT | CFGFLAG_SAVE, "show keystrokes") it work with big number ? like 400 and int like that 13:12 < bridge> <.lepinpin> ? 13:15 < bridge> its default minimum max iirc 13:15 < bridge> MACRO_CONFIG_INT(ClKeyStrokes, cl_keystrokes, default, min, max, CFGFLAG_CLIENT | CFGFLAG_SAVE, "show keystrokes") 13:17 < bridge> <.lepinpin> Ohhh 13:17 < bridge> so if you wanna do postion u can do like 13:17 < bridge> ``` 13:17 < bridge> MACRO_CONFIG_INT(ClKeyStrokesX, cl_keystrokes_x, 200, 0, 1920, CFGFLAG_CLIENT | CFGFLAG_SAVE, "show keystrokes")``` 13:17 < bridge> something like that 13:17 < bridge> <.lepinpin> Yeah 13:18 < bridge> <.lepinpin> I just didn't read the def 13:18 < bridge> <.lepinpin> mb 13:18 < bridge> no problem 13:18 < bridge> Eventually :owo: 13:22 < ws-client> **** <:owo:1154794204871008397> 13:29 < ws-client> **** Surprise quiz! DO NOT TEST! DO NOT LOOK AT THE CODE! Does this segfault yes or no? 13:29 < ws-client> **** ``./DDNet-Server "kill_pl me"`` 13:29 < bridge> if u ask it does 13:29 < ws-client> **** ez baited 13:29 < ws-client> **** it doesnt 13:29 < bridge> it doesnt 13:29 < bridge> it has a whitespace 13:29 < bridge> man 13:29 < ws-client> **** josspit pro 13:29 < bridge> what args does the server take? 13:30 < bridge> i always assume c++ code to segfault 13:30 < ws-client> **** xxxxxxxxxD 13:30 < bridge> I knew the client would just say error and exit(1) because it expects a map 13:30 < ws-client> **** nah 13:30 < ws-client> **** client can also run commands 13:30 < ws-client> **** i use this daily ``./chillerbot-zx "connect localhost"`` 13:30 < bridge> please tell me the client start command to open a demo and stop it 13:30 < ws-client> **** can be map, demo or console command 13:31 < bridge> stop botting 13:31 < ws-client> **** no proof 13:31 < bridge> then I can fully automate ddnet benchmark creation 13:31 < bridge> btw today i refactored the process streams (stdin stdout stderr) to be more clean, also more unix line, stdin is line buffered 13:31 < bridge> (if from terminal) 13:32 < bridge> then I can fully automate ddnet benchmark creation *well almost, just one f1 command 13:32 < bridge> does it panic? 13:32 < bridge> what panic 13:32 < bridge> does it segfault? 13:32 < bridge> a user program can panic just fine 13:32 < bridge> i catch it 13:32 < bridge> via interrupt 13:33 < bridge> i have superpowers as a kernel, i do the memory mappings 13:33 < bridge> Do I get 50k if I find a vulnerability in your OS? :lol: 13:33 < bridge> xd 13:33 < bridge> no 13:33 < bridge> im sure there are lots 13:33 < ws-client> **** ``./DDNet "play demos/assa.demo;demo_play"`` this should work @Assa but it does not 13:33 < bridge> i haent added many checks yet 13:33 < bridge> just working on funcionality 13:33 < ws-client> **** lmao i have default skin if i run this command btw 13:33 < ws-client> **** then after some time it changes to greensward 13:33 < bridge> chiller wants cfg to be turing complete to bot 13:34 < ws-client> **** i guess thats the new lazy loading stuff that was added 13:34 < bridge> Your PC is too fast 13:34 < bridge> And then too slow 13:34 < bridge> that's why I am asking to STOP the demo before 13:34 < bridge> We can also wait for the main skin to be loaded 13:35 < bridge> But honestly... How can it not load in less than 10ms 13:35 < bridge> Do you use 16k resolution chiller? 13:35 < ws-client> **** i am on fullhd debian laptop 13:35 < ws-client> **** use standard greensward skin 13:35 < bridge> Maybe robyte only loaded the skin in main menu or smth 13:35 < ws-client> **** it appears after a few seconds 13:36 < bridge> thanks chiller, this already helps me a lot, even if it doesn't stop xD 13:36 < bridge> But I'd expect that if we _start_ loading the skin during client init it should have finished just in time 13:36 < ws-client> **** if i was stuck in menu or connecting screen it would have been loaded by then 13:36 < ws-client> **** but the demo starts right away 13:36 < bridge> when I load abyss on this command with 18.04 it's already 8 seconds in xD 13:37 < ws-client> **** the skin loading is rather slow 13:37 < bridge> on nightly it's much better, because the loading time of maps is much better 13:37 < ws-client> **** and i have 0 skins installed and all download skin options off 13:37 < bridge> btw optimizing map loading optimized the game loading screen as well, by a lot it feels like, since the background map is loaded 13:37 < ws-client> **** @Assa maybe you can benchmark with this 🤷 ``./DDNet "play demos/assa.demo;quit"`` 13:38 < ws-client> **** but i think you have to edit your client to do more serious benching 13:38 < bridge> no you don't have to edit your client 13:38 < ws-client> **** ``quit`` takes like 6 minutes alone on my machine 13:38 < bridge> you just stop the demo, put it back to 0, and then f1 `exec benchmark-Abyss.cfg` 13:38 < ws-client> **** because rossbit ah shutdown timeout bloat 13:38 < bridge> so 3 manual steps 13:39 < bridge> I automated installing this scripts and demos as well 13:40 < bridge> what I'd really need is `./DDNet "benchmark my.demo 30` 13:40 < bridge> The skin data was probably already loaded, but not uploaded to the GPU yet. Maybe we should do one OnUpdate after loading. 13:40 < bridge> what I'd really need is `./DDNet "benchmark my.demo 30"` which would load a demo, stop-reset it to 0 and then benchmark it 13:42 < bridge> jokes on me, the old clients wouldn't support it anyway 13:43 < bridge> for the future 13:45 < bridge> I believe I automated this enough already. You still have to render obviously and you still have to wait for 30 seconds to collect enough data 13:45 < bridge> so the manual steps don't slow me that much down 14:08 < bridge> kill bill :justatest: 14:09 < bridge> @chillerdragon when do we use std::function and when C function pointers? 14:12 < bridge> <.lepinpin> Guys i dont relly understand that LeftView.HSplitTop(LineSize, &Button, &LeftView); 14:13 < bridge> it makes a horizontal split meaning you get a top and a bottom out 14:13 < bridge> the top is then in &Button, the bottom in &LeftView 14:13 < bridge> and you split at a hight of LineSize 14:13 < bridge> and you split at a height of LineSize 14:13 < bridge> <.lepinpin> Okay thanks 14:14 < bridge> height, coming from the TOP 14:16 < ws-client> **** @Assa always use std::function the C function pointers are only used for consistency because the old code uses it 14:16 < bridge> this explains some ui stuff a bit https://edgl.dev/blog/ui-code-ddnet/ 14:16 < bridge> yeah wrote exactly that 14:17 < bridge> I like your rvalue comment 14:17 < ws-client> **** xd 14:17 < bridge> like you can always return objects by value 14:18 < bridge> other possiblity is adding a vector reference as vector-to-fill 14:18 < bridge> but useless here ig 14:20 < ws-client> **** the r-value reference sounds op 14:20 < ws-client> **** zero cost at runtime and no weird input arg 14:20 < bridge> the function in MoveBoxIndices or similar does the same btw 14:21 < bridge> you are always able to have a function `CMyObject CreateObject(Params params) {... return MyObject; }` 14:21 < bridge> vector is also just an object 14:22 < bridge> same for smartpointers 14:22 < ws-client> **** i dont like copying 512 bytes for ids by value plus bloated vector internals 14:22 < ws-client> **** copy expensive 14:23 < ws-client> **** ``kill_pl all`` on 128 slots server creates 128 int entries in the vector 14:24 < bridge> <.lepinpin> Oh thx I was having issue to find a thing i gonna watch this 14:28 < bridge> Guys, what the hell was I sitting on Copy Love Box I look in the chat and they start banning everyone, but I don’t know why, then I also get banned for 3 days for nothing, I don’t know how to remove it or appeal. Does anyone know? 14:29 < bridge> #✉-create-a-ticket 14:37 < ws-client> **** @wertaiznegr_08995 which server ip was that? 14:37 < bridge> how i can check that? 14:37 < ws-client> **** click on the server in the server menu 14:37 < ws-client> **** you see it at bottom left 14:38 < ws-client> **** some number with 4 dots 14:39 < ws-client> **** That is interesting to make sure it was an official ddnet server. Because there are plenty of copy love box servers with different admins. I would be surprised if ddnet mods do a wave of unjustified bans. 14:41 < bridge> chiller u are the og so u must know why is DDraceNetwork not called DDRaceNetwork if the gamemode is DDRace? 14:43 < bridge> avx512 is not an optimization in general, it tends to decrease performance due to reducing CPU frequency 14:43 < bridge> <.lepinpin> If i want to recreate an UI in the settings i have to do it in menu settings ? 14:44 < ws-client> **** @kollpotato https://github.com/ddnet/ddnet/issues/10341#issuecomment-2963399754 14:44 < ws-client> **** i am not 2013 level OG tho xd 14:44 < ws-client> **** but i do know cuz i asked xd 14:45 < ws-client> **** @.lepinpin sounds good 14:45 < bridge> weird af 14:45 < bridge> i dont like small r 14:46 < bridge> see **** @kollpotato i vaguely remember thinking about that back when i obtained my first ddnet tshirt 14:46 < ws-client> **** as soon as the casing made it on physical merch its official xd 14:47 < bridge> see 14:47 < bridge> wtf u have a ddnet tshirt 14:47 < bridge> teeshirt 14:47 < ws-client> **** yes 14:47 < ws-client> **** multiple 14:47 < bridge> epic 14:48 < ws-client> **** deen published them on some print on demand shop back in the days 14:48 < ws-client> **** i think he made an estonishing profit of 0$ per shirt 14:48 < ws-client> **** astonishing* aaaa 14:48 < ws-client> **** not sure if its still up 14:49 < ws-client> **** real gangsters have fridge magnets 14:49 < bridge> based open source tshirt maker 14:50 < bridge> waaat even fridge magnets 14:50 < bridge> i need a teeworlds phone case asap 14:50 < ws-client> **** but fridge magnets are special 14:50 < ws-client> **** you have to be offered one to obtain it 14:50 < bridge> https://www.teepublic.com/phone-case/2741338-teeworlds-shirt 14:51 < ws-client> **** its only for secret ddnet puppeteer society 14:51 < bridge> i can make one myself 14:51 < ws-client> **** that doesnt count 14:51 < bridge> cant stop me 14:51 < ws-client> **** what is a shirt phone case? 14:51 < ws-client> **** also the design is not teeish and horrible lmao 14:51 < bridge> i said teeworlds phone case 14:52 < bridge> yea design is horrible 14:52 < ws-client> **** https://zillyhuhn.com/cs/.6639325f-f59c-4b3d-999b-6353caadd56e.png 15:12 < bridge> <.lepinpin> Sry to disturb again but i still don't understand the UI, added a new section in settings when i launch and i go in, it's the assets settings and after searching when i create a new CMenus i don't see where its supposed to be called to be displayed 15:14 < ws-client> **** yea idk how to respond to that 15:15 < ws-client> **** look at something exisiting search all occurences of it 15:15 < ws-client> **** and add your code in the same way 15:15 < bridge> <.lepinpin> Yeah 15:15 < bridge> <.lepinpin> I've done that 15:17 < ws-client> **** https://zillyhuhn.com/cs/.28ec171f-d35d-41af-83e6-03d0ae96a98b.png 15:17 < ws-client> **** does github send emails to it self? 15:17 < ws-client> **** sender notifications@github.com recipient state_change@noreply.github.com ????? 15:17 < ws-client> **** do they use email as event system or what??? 15:21 < bridge> @chillerdragon.9502 git over smtp 15:21 < bridge> <.lepinpin> Oh wait 15:21 < bridge> <.lepinpin> Im stupid 15:22 < bridge> <.lepinpin> I found the error 15:39 < ws-client> **** who is chillerdragon.9502 ? xd 15:39 < ws-client> **** waddup with these numbers, thats new 15:39 < ws-client> **** https://zillyhuhn.com/cs/.1c559df6-22f9-4ef2-89be-872d35752709.png 15:40 < bridge> there's a discord account with such name 15:40 < ws-client> **** with numbers in it? 15:40 < ws-client> **** since when? 15:40 < ws-client> **** is it the lgbtq+ one? 15:41 < bridge> no, green tee with white feet 15:41 < ws-client> **** oh lol watafak 15:41 < ws-client> **** who is it 15:41 < ws-client> **** ah its warhammer? xd 15:42 < bridge> no, he has a different name 15:42 < ws-client> **** ez imposter 15:42 < ws-client> **** rip the people that send confidental stuff into this chillers dms 15:43 < ws-client> **** i cant wait to see the first "bbbut you told me on discord" message in game xd 15:43 < ws-client> **** or maybe its my dummy idk i think he had discord too 15:44 < ws-client> **** but he also shouldnt have numbers it looks a bit ugly on irc but ill survive 15:51 < ws-client> **** @avolicious you are trolling right? 15:52 < ws-client> **** we are making an effort to support your closed src third party project and you react like that? 15:52 < ws-client> **** not very nice 15:55 < bridge> @chillerdragon > EDIT: sorry, but this randomly made me very mad. 15:55 < bridge> 15:55 < bridge> Don't be mad, I don't think he does this deliberately to annoy devs 15:56 < ws-client> **** i try 15:57 < bridge> I mean I hope :justatest: 15:57 < bridge> thanks for your clarification chiller :deen_star: 15:58 < bridge> I hope you all count your deen starts I give you, I think currently robyt is in the lead 15:58 < ws-client> **** rossbit the deenstar farmer 15:58 < ws-client> **** so he is ur fav maintainer? 15:59 < bridge> I don't have a favourite maintainer, I like all maintainers who get stuff done 15:59 < ws-client> **** boring political answer 15:59 < bridge> I have a favourite PR tho, and it comes from Jupey ❤️ 15:59 < ws-client> **** gotta spice it up with the dev gossip 16:00 < bridge> Remove rust 16:00 < bridge> my favourite PR: https://github.com/ddnet/ddnet/pull/4687 16:00 < bridge> 16:00 < bridge> go beat that one 16:08 < ws-client> **** i cant work with avo 16:09 < ws-client> **** maybe we should just break kog support and let him deal with it if he reacts like that to us contacting him 16:09 < bridge> @chillerdragon.9502 avo isnt a maintainer? 16:09 < bridge> how do u break kog support, its just ddrace 👀 16:09 < ws-client> **** maintainer of what? 16:09 < bridge> ddnet 16:09 < ws-client> **** he isnt 16:09 < ws-client> **** he is maintainer of kog 16:09 < bridge> i know 16:09 < bridge> I don't understand you there 16:09 < bridge> i know 16:09 < bridge> like he said he's gonna test that in dev? 16:09 < bridge> oh i gues you didnt specify of what project you didnt like maintainers off 16:09 < ws-client> **** @Assa is he? 16:10 < bridge> he she it doesn#t matter get stuff done 16:10 < ws-client> **** it more sounded like we should test it. He ignored us three times asking to test it 16:10 < bridge> if gamemode == kog: breakprediction() 16:10 < ws-client> **** if the dev server has players i cant vote the map 16:10 < ws-client> **** there is only one 16:10 < bridge> also nobody said anything about the gameflag which we could add 16:11 < ws-client> **** if you are right about sync being used wrong then changing production has nothing todo with testing 16:11 < ws-client> **** its just fixing pro 16:11 < bridge> I know 16:11 < bridge> but I feel like avo is sysadmin, not developer xD 16:11 < ws-client> **** and if he doesnt change the map on prod even if we somehow managed to confirm its working in dev 16:11 < ws-client> **** we still cant merge until he changes prod too 16:11 < ws-client> **** i feel like avo is stubborn beyond reasoning 16:12 < bridge> we can, he is then just forced to update prod 16:12 < ws-client> **** weill either that 16:12 < bridge> and it has time too, since we're in beta then 16:12 < ws-client> **** or nightly will just get runs ruined 16:12 < ws-client> **** which i see more likely 16:12 < ws-client> **** because kog is known for being slow with bug fixes 16:13 < ws-client> **** its not nice to cause a downgrade with a ddnet update 16:13 < bridge> normally we don't ask mod devs if our changes break their mod 16:13 < bridge> we only do this exception due to the player number here 16:13 < ws-client> **** i slowly understand why 16:14 < bridge> we could still add a gameflag, then this would always work 16:14 < ws-client> **** i dont understand the gameflag thing 16:15 < bridge> servers send gameflags, like fastflags sends a fastflag thing 16:15 < bridge> servers send gameflags, like fastflags sends a fastflag flag 16:15 < ws-client> **** so not in the map file 16:15 < bridge> and if we add a synchronize flag, new servers would send the sync flag 16:15 < bridge> yeah, it's serverside 16:15 < ws-client> **** hm 16:15 < ws-client> **** makes the client more complex 16:16 < ws-client> **** i dont like it 16:16 < bridge> server says "I support synced envelops" and client then gets the flag 16:16 < ws-client> **** the sync stuff is so complex already we cant double complexity with a flag 16:16 < ws-client> **** this will probably cause more problems later 16:16 < bridge> we already check for gameflag race 16:16 < bridge> so nothing would change except we check for another flag 16:16 < ws-client> **** phew idk 16:18 < ws-client> **** we really need to do some meetings 16:19 < bridge> I am open for developer vc 16:19 < ws-client> **** sadly no maintainer is so gg 16:19 < ws-client> **** and avo might also not be interested 16:19 < ws-client> **** we could do env pr in probably 2 days with proper meeting 16:19 < ws-client> **** or we do it in 5 years with the current approach 16:20 < bridge> we are doing way more currently to be fair 16:20 < bridge> I do have around 30 meetings a week during my normal work time. If they are set up properly, I dont mind. But I dont like coffee talks 16:20 < ws-client> **** imagine a meeting where at least 1 person is well prepared to present the entire pr. All the changes explained and ready to show case. Ready to answer all questions. 16:21 < bridge> I feel that one from work ... a lot 16:21 < bridge> 1 hour meeting where I didn't say anything beside hello and good bye 16:21 < ws-client> **** @avolicious yes ofc in many work places meetings can be big bs 16:22 < bridge> I could do that for all my rendering PRs and the editor PR 16:22 < bridge> without preparing slides, just freestyle 16:22 < bridge> Maybe it makes sense that the server introduces versions like Rust editions 16:22 < ws-client> **** those would be merings where you can just force a opinion out of a maintainer and quickly discuss if there are doubts about something 16:22 < ws-client> **** meetings* 16:22 < bridge> there is an issue about it, but it didn't take traktion 🙁 16:23 < ws-client> **** @avolicious to what end? 16:23 < ws-client> **** dont we have versions 16:23 < ws-client> **** how would a version help here? 16:23 < bridge> we don't have versions in a map for example 16:23 < bridge> I've seen it & it makes sense, but maps and physics... 16:23 < ws-client> **** you want to introduce backcompat based on the version for every change? 16:24 < ws-client> **** idk i think i dont get it or it sounds messy 16:24 < bridge> no, just increase edition every 5 years or so 16:24 < bridge> and fix the gamebreaking stuff that we collected in that time 16:24 < ws-client> **** ah so rust has scheduled breaking versions? 16:25 < bridge> no, I wish it to be like that 16:25 < bridge> ddnet-rs has "editions" but for details you must ask jupey 16:25 < ws-client> **** im not sure if we need multiple breaking updates 16:25 < ws-client> **** but doing one now seems fine to me. 16:26 < bridge> one for all issues labeled with fix-changes-physics 16:26 < ws-client> **** the domain incident has shown how doable it is 16:27 < bridge> so @chillerdragon should I do a gameflag instead? 16:27 < ws-client> **** @avolicious so you would be in to have a call about the env pr? 16:28 < ws-client> **** @Assa hmmm idk doesnt sound too good to me. Especially if we have the alternative solution of not using a flag which seems simpler 16:28 < ws-client> **** maybe you can convince me with code but then you also have to convince one more maintainer 16:28 < bridge> the good thing is that mods could decide, if they want this feature or not 16:29 < bridge> the good thing is that gamemods could decide, if they want this feature or not 16:29 < ws-client> **** if you feel like pitching code that might not be accepted go send another commit so everyone can have a look at it 16:29 < bridge> did that with the editor integration 16:29 < bridge> you can decide, 70 loc with inheritance, 600 loc with that other thing 16:30 < bridge> I need one or the other for the editor integration of rendering 16:30 < bridge> if that is not done I won't integrate the editor 🤷‍♂️ 16:31 < ws-client> **** i think rossbit has stronger feelings there so i cant help u much sorry 16:31 < bridge> yeah I know 16:32 < bridge> Idk I'd have to bench it to check but gcc seems to think it is worth it 16:32 < bridge> @learath2 friendly reminder, that you wanted to look at the sync PR again :justatest: 16:33 < bridge> but gcc doesn't use that knowledge 17:01 < bridge> <.lepinpin> mhh guys is it normal when g_Config.m_ClKeyStrokes is true 17:01 < bridge> <.lepinpin> the bar spawn for 1 frame 17:01 < bridge> <.lepinpin> ```if (g_Config.m_ClKeyStrokes) 17:01 < bridge> <.lepinpin> { 17:01 < bridge> <.lepinpin> LeftView.HSplitTop(LineSize * 2.0f, &Button, &LeftView); 17:01 < bridge> <.lepinpin> Ui()->DoScrollbarOption(&g_Config.m_ClKeyStrokes_X, &g_Config.m_ClKeyStrokes_X, &Button, Localize("KeystrokesX"), 0, 100, &CUi::ms_LinearScrollbarScale, CUi::SCROLLBAR_OPTION_MULTILINE, "%"); 17:01 < bridge> <.lepinpin> }``` 17:02 < bridge> <.lepinpin> mhh guys is it normal when g_Config.m_ClKeyStrokes is true 17:02 < bridge> <.lepinpin> the bar spawn for 1 frame 17:02 < bridge> <.lepinpin> ```if (g_Config.m_ClKeyStrokes) 17:02 < bridge> <.lepinpin> { 17:02 < bridge> <.lepinpin> LeftView.HSplitTop(LineSize * 2.0f, &Button, &LeftView); 17:02 < bridge> <.lepinpin> Ui()->DoScrollbarOption(&g_Config.m_ClKeyStrokes_X, &g_Config.m_ClKeyStrokes_X, &Button, Localize("KeystrokesX"), 0, 100, &CUi::ms_LinearScrollbarScale, CUi::SCROLLBAR_OPTION_MULTILINE, "%"); 17:02 < bridge> <.lepinpin> }``` 17:06 < bridge> <.lepinpin> Uhmm even without the if just the scroll bar 17:06 < bridge> Does this miss the static id? 17:07 < bridge> what is the first argument of DoScrollbarOption? 17:14 < bridge> <.lepinpin> Uhmm i just fixed it sry i just put another statement 17:20 < bridge> The people who made gcc presumably do 17:21 < bridge> I will try to get it in tomorrow on the plane 17:39 < bridge> @chillerdragon we got sync working for q-move as well 18:51 < bridge> Did you change Q-move? Or what happend? 18:52 < bridge> this didn't ping me btw 18:52 < bridge> 18:53 < bridge> We updated the map with the conversion script, it works on old and new clients, it works even better on new clients 18:53 < bridge> this didn't ping me btw 18:53 < bridge> 18:53 < bridge> We updated the map with the conversion script, it works on old and new clients, it works even better on new clients than before 19:00 < bridge> @learath2 19:00 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1409220876322472106/sudo-please-do-help-v0-qygrpwlafxkf1.png?ex=68ac96b6&is=68ab4536&hm=3c897aaab716b52f1ad5f577b787ba18e88fa545b54fe2ab8b0b66b1693d41de& 19:03 < bridge> @essigautomat: okay now get avo to updating all maps in prod :p 19:03 < bridge> no, we merge the feature and it's up to him to do that 19:03 < bridge> Then I will test if we can still sync with vanilla clients and test some more maps like city maps with day and night and merge it 19:03 < bridge> @essigautomat: I feel like he will not do it in time 19:04 < bridge> but that is his/her problem not ours 19:05 < bridge> yeah no I mean it like that. We need to work with what we have and if others don't do their part, that is their problem 🤷‍♂️ at work I am like this as well. I want to see results 19:06 < bridge> vanilla clients will ofc not reset on the start line 19:06 < bridge> vanilla clients will ofc not reset on the start line, because this is ofc only client sided. they will just sync to server time as usual 19:20 < bridge> 😢 19:37 < bridge> heinrich closes PR because it doesn't has an issue, people open issues due to panic. 19:42 < bridge> he gets to fast close issues 19:43 < bridge> all my other prs have an issue, this one didn't have one because it was fairly obvious and I wrote what the PR is for 19:47 < bridge> <.lepinpin> Guys i was wondering cuz in never done that before but i have my code but when ddrace gonna update how i have to do ? i have to ctrl+c ctrl+v a lot of time ? 19:47 < bridge> you can rebase on the code changes 19:48 < bridge> github will tell you when you need to do it, bug you can do `git pull upstream master --rebase` , please read into rebasing first as this is not trivial 19:48 < bridge> github will tell you when you need to do it, but you can do `git pull upstream master --rebase` , please read into rebasing first as this is not trivial 19:49 < bridge> <.lepinpin> Oh okay thx i will watch that right now 19:49 < bridge> ~~Or manage to upstream your code~~ 19:54 < bridge> <.lepinpin> Mhh that seem to be easier for a beginner (like me) 19:54 < bridge> 🦆 19:54 < bridge> no learn rebasing 19:59 < bridge> <.lepinpin> Okay 19:59 < bridge> <.lepinpin> Just wait i got hacked from github x) a year ago but now i need github 21:50 < bridge> I do game on master and play 8 hours daily on kog so it’s my problem too :/ 22:04 < bridge> What should come first, the merge or the map udpate? 22:04 < bridge> I'd say the merge comes first 22:05 < bridge> What feature is this about? Can't click chillers reply to see history 22:06 < bridge> Oh found it 22:07 < bridge> envelope sync 22:09 < bridge> Oh cool! 22:09 < bridge> 22:10 < bridge> Tho I assume you'll harvest hatred if you knowingly "force" the merge of a PR that you know may break X. I can see Heinrich getting mad about and reverting it already :justatest: 22:10 < bridge> I have no idea about the impl or what it'll actually look like so my message is based on pure assumption xd 22:10 < bridge> it may break a feature in a mod, nothing breaks in ddnet and the current state is **utterly broken** 22:11 < bridge> Can you link the PR? I'll just post it in kogs dev chat so they're informed 22:11 < bridge> https://github.com/ddnet/ddnet/pull/10679 22:11 < bridge> Ty! 22:17 < bridge> as chiller said already, I can explain this PR in a vc in detail, in so much detail that you get headaches 22:17 < bridge> :cat_hmm: 22:35 < bridge> ``` 22:35 < bridge> closes # 10678 # 879 22:35 < bridge> fixes # 1318, # 1214, # 755 which are wrongfully closed 22:35 < bridge> part of # 9511, # 10554 22:35 < bridge> ``` 22:35 < bridge> 22:35 < bridge> progress 22:37 < bridge> it's such a rabbit hole, why am I getting insane over this 22:53 < bridge> Closing a pr just to open an issue about the same thing is so bs 22:53 < bridge> The pr would already had an implementation + discussion 22:54 < bridge> The pr already had an implementation + discussion 22:58 < bridge> In this case first the map update. Because that’s the only scenario where we do not break user space 23:01 < bridge> @kebscs: I agree. Discussing with implementation is better than without. Ideally the effort to create a implementation should not be wasted and checked in an issue first. But once the pr is there it can be used to discuss. 23:02 < bridge> Maybe Heinrich is a secret enjoyer of the 69 pr goal 23:02 < bridge> for nightly users for a day 23:02 < bridge> Not for a day 23:02 < bridge> It’s kog 23:02 < bridge> It will be 6 years 23:03 < bridge> They have gameplay breaking map bugs unfixed since I can remember 23:03 < bridge> I'd give them an ultimatum, update in x days or we continue anyway 23:03 < bridge> But then we will be the ones releasing a new ddnet version that works worse 23:04 < bridge> since when does ddnet care about mod support? 23:04 < bridge> Since I am maintainer xd 23:05 < bridge> Don’t you agree that it’s bad for ddnet if updating the client is breaking the users gameplay? 23:05 < bridge> It encourages not to update 23:07 < bridge> We are not talking about a minor inconvenience here. Or about a feature that’s missing for a few days. This is fully excluding users that updated from playing these maps. 23:08 < bridge> I wonder how many maps of kog use this 23:08 < bridge> I think emojis are fine tbh 23:09 < bridge> this is not about emojis xD 23:09 < bridge> maybe at some point it was :feelsbadman: 23:10 < bridge> going to talk to avo tomorrow 23:15 < bridge> Exactly