11:53 <+bridge> [ddnet] Does anyone even know how input works? How did things get so convoluted even? What is a `OnPredictedEarlyInput`? 12:39 <+bridge> [ddnet] Guess thats for syncing weapon inpuz 12:39 <+bridge> [ddnet] Guess thats for syncing weapon input 12:39 <+bridge> [ddnet] with other inputs* 12:40 <+bridge> [ddnet] nuborn added that to ddnet 12:46 <+bridge> [ddnet] hmm nuborn isn't here anymore? It'd be nice if he could give me a quick runthrough of how everything ties together 12:46 <+bridge> [ddnet] Yes, sadly. why is he gone tho? 12:55 <+bridge> [ddnet] https://github.com/ddnet/ddnet/pull/1441 12:57 <+bridge> [ddnet] I think this should be renamed to OnDirectEarlyInput 13:01 <+bridge> [ddnet] well, it is not direct anymore so the name is kinda okay 13:56 <+bridge> [ddnet] so #1441 made DirectInput be deferred like the predicted input? 13:57 <+bridge> [ddnet] yes 13:57 <+bridge> [ddnet] and OnClientPredictedEarlyInput sorta simulates the previous behaviour? 16:45 <+bridge> [ddnet] @Learath2 I'm still here sometimes 16:46 <+bridge> [ddnet] yes, it simulates it to keep rocket jump physics and similar the same 16:52 <+bridge> [ddnet] OnDirectInput applies weapon input immediately when it reaches the server. in theory you could just remove anything except OnPredictedInput and handle everything related to weapons there (then there would also be no desync). But that would change physics since ondirectinput also has other side effects 16:58 <+bridge> [ddnet] Huh, couldn't even highlight you, weird 17:00 <+bridge> [ddnet] Oh, I see, yes 17:38 <+bridge> [ddnet] I couldnt too, Learath 18:16 <+bridge> [ddnet] @Learath2 is ger2 hosted by you? 18:16 <+bridge> [ddnet] i think ger2 hates me, i have rly bad ping to it 18:16 <+bridge> [ddnet] https://cdn.discordapp.com/attachments/293493549758939136/690247394751021098/unknown.png 18:16 <+bridge> [ddnet] ingame too 18:16 <@Learath2> @Ryozuki @heinrich5991 hosts it 18:17 <+bridge> [ddnet] oh well ingame looks fine now 18:17 <+bridge> [ddnet] but one day it lagged a lot and other players were fine 18:17 <+bridge> [ddnet] and ger1 worked perfect 19:15 <+bridge> [ddnet] @heinrich5991 apparently the way we do threaded rendering is quite illegal 19:52 <+bridge> [ddnet] illegal? ^^ 19:52 <+bridge> [ddnet] shh, don't tell the cops 20:42 <+bridge> [ddnet] @heinrich5991 well SDL doesn't really allow for the window/gl context to be created on a different thread then the one that does the rendering 20:42 <+bridge> [ddnet] turns out macOS is much stricter about it the last couple versions 20:55 <+bridge> [ddnet] @Learath2 u can create it on the main thread and on another thread call SDL_GL_MakeCurrent(wnd, ctx) to make it only be usable there 20:56 <+bridge> [ddnet] https://wiki.libsdl.org/SDL_GL_MakeCurrent 20:57 <+bridge> [ddnet] well thats what i've seen 20:57 <+bridge> [ddnet] That's what everyone seems to assume but I've never seen any SDL document that says it's allowed 20:58 <+bridge> [ddnet] and on macOS it's verynotallowed 20:58 <+bridge> [ddnet] isnt it more about opengl? 20:58 <+bridge> [ddnet] https://www.khronos.org/opengl/wiki/OpenGL_and_multithreading 20:58 <+bridge> [ddnet] Can I create an OpenGL context for a control in a different thread than the one in which the was created on? 20:58 <+bridge> [ddnet] 20:58 <+bridge> [ddnet] Yes. According to the Microsoft documents (MSDN), there is no restriction. You can probably do the same on *nix systems as well. 20:59 <+bridge> [ddnet] looks like its valid 20:59 <+bridge> [ddnet] might be a macos thing 20:59 <+bridge> [ddnet] they are special 20:59 <+bridge> [ddnet] 😉 21:00 <+bridge> [ddnet] is there even a perfomance increase having the render calls in a thread? 21:00 <+bridge> [ddnet] brb eat 21:07 <+bridge> [ddnet] @heinrich5991 can you be here for a second? 21:08 <+bridge> [ddnet] I'm playing rn 21:08 <+bridge> [ddnet] can't really 21:08 <+bridge> [ddnet] sure 21:13 <+bridge> [ddnet] The CMakeLists on ddnet uses bundled libraries on mac for some reason and cmake is impossible to debug 21:13 <+bridge> [ddnet] sdl isn't available by default 21:13 <+bridge> [ddnet] teeworlds CMakeLists detects the one I installed just fine 21:14 <+bridge> [ddnet] ah 21:14 <+bridge> [ddnet] not with that attitude 😛 21:15 <+bridge> [ddnet] I am extremely annoyed after digging through the mess that is SDL internals and reading objective C for the last 4 hours 21:20 <+bridge> [ddnet] https://cdn.discordapp.com/attachments/293493549758939136/690293528340725890/1583953493634.jpg 21:20 <+bridge> [ddnet] Perfect, the bundled version of sdl2, through whatever miracle works just fine, the version I build and the version that ships with osx breaks 21:20 <+bridge> [ddnet] Actually nevermind, now I can't get that working either 21:21 <+bridge> [ddnet] I guess I'm resigning from all development duties because I can no longer get a working build of ddnet nor teeworlds on my computer 21:22 <+bridge> [ddnet] dont rq 21:22 <+bridge> [ddnet] building tw is hard 21:22 <+bridge> [ddnet] macos face rn :troll: 21:23 <+bridge> [ddnet] It doesn't work, it's not even supposed to work, yet it worked 10 minutes ago 21:23 <+bridge> [ddnet] since when r u having build issues tho? werent u just debugging the resoltion bug? 21:23 <+bridge> [ddnet] oh since 10 m 21:23 <+bridge> [ddnet] that's a sign that I should just stop 21:23 <+bridge> [ddnet] ye take a break and watch some teeworlds programming beginner tutorials 21:24 <+bridge> [ddnet] https://www.youtube.com/watch?v=HB_aSIOmdu4 21:24 <+bridge> [ddnet] lmao 21:24 <+bridge> [ddnet] Look what we are doing is wrong. A Cmd_Swap after a resize triggers a [NSOpenGLContext update] which is not allowed outside of the main thread, end of story 21:24 <+bridge> [ddnet] yet it worked with ddnet 10 minutes ago 21:25 <+bridge> [ddnet] there is no taking a break and coming back, it's not supposed to work, it's not working, it will never work 21:25 <+bridge> [ddnet] ._. 21:39 <+bridge> [ddnet] https://wiki.libsdl.org/CategoryThread 21:40 <+bridge> [ddnet] ```NOTE: You should not expect to be able to create a window, render, or receive events on any thread other than the main one. For platform-specific exceptions or complicated options ask on the forums/mailing list.```