Guild icon
DDraceNetwork
Development / developer
Development discussion. Logged to https://ddnet.tw/irclogs/ Connected with DDNet's IRC channel, Matrix room and GitHub repositories ā€” IRC: #ddnet on Quakenet | Matrix: #ddnet-developer:matrix.org GitHub: https://github.com/ddnet
Between 2020-03-19 00:00:00Z and 2020-03-20 00:00:00Z
Avatar
Does anyone even know how input works? How did things get so convoluted even? What is a OnPredictedEarlyInput?
Avatar
Guess thats for syncing weapon input (edited)
11:39
with other inputs*
11:40
nuborn added that to ddnet
Avatar
hmm nuborn isn't here anymore? It'd be nice if he could give me a quick runthrough of how everything ties together
Avatar
Yes, sadly. why is he gone tho?
Avatar
Currently weapon input is applied immediately when it arrives at the server, while hook/movement inputs are buffered and not applied until the tick the client predicted them for. This pr makes the ...
11:57
I think this should be renamed to OnDirectEarlyInput
Avatar
well, it is not direct anymore so the name is kinda okay
Avatar
so #1441 made DirectInput be deferred like the predicted input?
Avatar
yes
Avatar
and OnClientPredictedEarlyInput sorta simulates the previous behaviour?
Avatar
@Learath2 I'm still here sometimes
15:46
yes, it simulates it to keep rocket jump physics and similar the same
15:52
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
Avatar
Huh, couldn't even highlight you, weird
Avatar
Oh, I see, yes
Avatar
I couldnt too, Learath
Avatar
@Learath2 is ger2 hosted by you?
17:16
i think ger2 hates me, i have rly bad ping to it
šŸ‡« 3
šŸ‡³ 3
šŸ‡¬ 3
17:16
ingame too
Avatar
[quakenet] Learath2 BOT 2020-03-19 17:16:57Z
@Ryozuki @heinrich5991 hosts it
Avatar
oh well ingame looks fine now
17:17
but one day it lagged a lot and other players were fine
17:17
and ger1 worked perfect
Avatar
@heinrich5991 apparently the way we do threaded rendering is quite illegal
Avatar
illegal? ^^
18:52
shh, don't tell the cops
Avatar
@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
19:42
turns out macOS is much stricter about it the last couple versions
Avatar
@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
19:57
well thats what i've seen
Avatar
That's what everyone seems to assume but I've never seen any SDL document that says it's allowed
19:58
and on macOS it's verynotallowed
Avatar
isnt it more about opengl?
19:58
Can I create an OpenGL context for a control in a different thread than the one in which the was created on? Yes. According to the Microsoft documents (MSDN), there is no restriction. You can probably do the same on *nix systems as well.
19:59
looks like its valid
19:59
might be a macos thing
19:59
they are special
19:59
šŸ˜‰
20:00
is there even a perfomance increase having the render calls in a thread?
20:00
brb eat
Avatar
@heinrich5991 can you be here for a second?
Avatar
I'm playing rn
20:08
can't really
20:13
The CMakeLists on ddnet uses bundled libraries on mac for some reason and cmake is impossible to debug
Avatar
sdl isn't available by default
Avatar
teeworlds CMakeLists detects the one I installed just fine
Avatar
ah
20:14
not with that attitude šŸ˜›
Avatar
I am extremely annoyed after digging through the mess that is SDL internals and reading objective C for the last 4 hours
Avatar
Perfect, the bundled version of sdl2, through whatever miracle works just fine, the version I build and the version that ships with osx breaks
20:20
Actually nevermind, now I can't get that working either
20:21
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
Avatar
ChillerDragon 2020-03-19 20:22:08Z
dont rq
20:22
building tw is hard
Avatar
macos face rn troll
Avatar
It doesn't work, it's not even supposed to work, yet it worked 10 minutes ago
Avatar
ChillerDragon 2020-03-19 20:23:24Z
since when r u having build issues tho? werent u just debugging the resoltion bug?
20:23
oh since 10 m
Avatar
that's a sign that I should just stop
Avatar
ChillerDragon 2020-03-19 20:23:58Z
ye take a break and watch some teeworlds programming beginner tutorials
20:24
lmao
Avatar
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
20:24
yet it worked with ddnet 10 minutes ago
20:25
there is no taking a break and coming back, it's not supposed to work, it's not working, it will never work
Avatar
ChillerDragon 2020-03-19 20:25:33Z
._.
20:40
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.
Avatar
[quakenet] Learath2 BOT 2020-03-19 23:18:42Z
CoreFoundation is a 15MB binary, it absolutely breaks radare2 :P
Avatar
[quakenet] Learath2 BOT 2020-03-19 23:40:05Z
turns out doing SDL_GL_Swapwindow in a thread other then main is not ok on newer macOS, but our prebuilt clients are linked to an older sdk and thus AppKit suppresses the error to keep backwards compatibility
23:40
"2020-03-20 02:36:46.173 DDNet[19022:302085] NSOpenGLContextSuppressThreadAssertions=YES"
Avatar
@ChillerDragon are you also on Catalina? can you please check whether it also behaves as such for you?
Avatar
ChillerDragon 2020-03-19 23:41:57Z
I do not have my Mac at home :/
23:42
But yes Iā€™m Catalina
Avatar
Well catalina and onward the way we do threaded rendering doesn't work unless the executable is linked to a SDK older then catalina
Avatar
ChillerDragon 2020-03-19 23:43:12Z
Sounds bad
Avatar
"head over to your favorite browser" @ChillerDragon Kappa
Exported 84 message(s)