Guild icon
DDraceNetwork
Development / developer
Development discussion. Logged to https://ddnet.org/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 2025-03-02 00:00 and 2025-03-03 00:00
Avatar
ok tune lock tile is ready ill just wait until #9788 is merged πŸ˜„
gigachad 3
Avatar
Fixes #9753 I don’t know why fake tuning was always sent instead of the real one, since the very first jetpack prediction commit: 38b16ee Now it matches other fake tunings and seems to work correct...
Avatar
Avatar
kebs
ok tune lock tile is ready ill just wait until #9788 is merged πŸ˜„
01:24
we're getting tune lock before silksong i cant believe it
Avatar
Avatar
kebs
ok tune lock tile is ready ill just wait until #9788 is merged πŸ˜„
Avatar
it should also supercede #5732
Avatar
This pull requests adds the tune-lock tile and a tune lock reset tile. Tune lock is index 69 and tune lock reset is index 70 from tune layer. Tune zones have a higher priority than locked tunings, ...
Avatar
:D
Avatar
I didn't see this before
Avatar
thats.. old kekw
Avatar
I've often tried to push things people wanted but devs/admins didn't see/wanted to, so yeah might not be best implementation and not 100% finished, but on my server it works really well since that PR is out
Avatar
Avatar
fokkonaut
I've often tried to push things people wanted but devs/admins didn't see/wanted to, so yeah might not be best implementation and not 100% finished, but on my server it works really well since that PR is out
we live in a society
Avatar
wait what was the decided behavior for tune lock overrides?
02:30
i think tune lock should always be applied on top of the current tune zone if there is one
02:31
wow hecta dev role should've had it since a while ago xd
Avatar
no, tune zones should have higher priority, as discussed with @Im 'corneum before. It's way more usable
Avatar
Avatar
louis
wow hecta dev role should've had it since a while ago xd
i wanted to be role-less ngl
Avatar
Avatar
fokkonaut
no, tune zones should have higher priority, as discussed with @Im 'corneum before. It's way more usable
how so?
Avatar
Avatar
fokkonaut
no, tune zones should have higher priority, as discussed with @Im 'corneum before. It's way more usable
oh yea i can kinda see why
02:46
so you be tuned but still have tune zones affect you
Avatar
how would you make a tunezone in which players without a tunelock have a 0 force grenade, but the guy with tunelock has a normal nade
02:47
if tune zones have higher priority
Avatar
they should both be added on top of eachother, but i think tunelock tunes for a specific specific_tune_setting should take priority over a tune zone's specific_tune_setting
Avatar
Avatar
louis
how would you make a tunezone in which players without a tunelock have a 0 force grenade, but the guy with tunelock has a normal nade
i almost said server tunes but im assuming the server should have normal grenade physics to begin with
Avatar
server tunes should just be an abstraction for tunezone across the whole map
Avatar
this is a very tricky situation because:
  • if tune lock has priority, entering a tune zone for the same tune doesn't do anything
  • if tune zones have priority, both tees (one tuned and the other not) will have the same exact tunings
05:06
*both tees inside it
Avatar
i think tune lock prio makes sense
05:10
@Im 'corneum what parts were u trying to make where its worse?
Avatar
GitHub BOT 2025-03-02 09:55
Hello, i have an issue: While playing i receive Connection problems and freeze for 2-3seconds, extremely annoying, happens randomly between 15-30mins. It freezes only me, so its not ddos or server issue. Started ~month ago. Sometimes i get random timeout, predping increases to -927 and i cant connect to server again, reentering game helps enter server and restore session with timeout. Ill try to record Connection problem moment later, if needed. I have perfect lan connection, so i dont know w...
Avatar
Avatar
louis
@Im 'corneum what parts were u trying to make where its worse?
Im 'corneum 2025-03-02 10:32
I dont remembeeπŸ’€
Avatar
bor for gor
Avatar
Avatar
Pioooooo
Click to see attachment πŸ–ΌοΈ
this is cool i like this
Avatar
Avatar
Hecta
this is a very tricky situation because:
  • if tune lock has priority, entering a tune zone for the same tune doesn't do anything
  • if tune zones have priority, both tees (one tuned and the other not) will have the same exact tunings
Should new tune lock override old one, or only apply when no override? So in the second case have to unlock with the corresponding unlock tile and then tune lock works
Avatar
ok i think ill rewrite to 2nd so this setup works just for one player
Avatar
This is how slides would look like brownbear
Avatar
Jupstar βœͺ 2025-03-02 12:22
arrows pointing in the opposite dir still triggers tho 😬
Avatar
Avatar
Assa
This is how slides would look like brownbear
will this break old clients?
Avatar
Avatar
always
will this break old clients?
Jupstar βœͺ 2025-03-02 12:22
they wont have prediction for it
Avatar
aa so itll break their antiping
12:23
will we need new entities?
Avatar
Avatar
always
aa so itll break their antiping
Jupstar βœͺ 2025-03-02 12:23
also the local character prediction will not look smooth
Avatar
Avatar
Jupstar βœͺ
arrows pointing in the opposite dir still triggers tho 😬
@Hecta πŸ™ˆ
Avatar
Avatar
always
will we need new entities?
Jupstar βœͺ 2025-03-02 12:23
speedup arrows are not part of the entities
Avatar
Avatar
always
will we need new entities?
no this is part of the speedlayer
12:24
you enter the angle in the ui, so the slides have 360 degrees of freedom, force and max speed is not needed
Avatar
oo thats cool
Avatar
only downside so far, they are skippable and there is nothing I can do against this, they are not slopes (edited)
😒 2
12:28
I could implement true slopes, but the prediction isn't the only thing I'd break with true slopes justatest
Avatar
vButtonsContainersSettingsControlsJoystickAbsolute
Avatar
chillerdragon BOT 2025-03-02 12:35
Java
Avatar
im not allowed to use static anymore
12:35
😭
12:35
a simpler time
12:40
wait does a vector of 0 size elements have no size per element? &vec[1] == &vec[2]
Avatar
if anyone needs a review, ask me. I am constantly asking for reviews and want to give something back
Avatar
Avatar
Solly
wait does a vector of 0 size elements have no size per element? &vec[1] == &vec[2]
no its padded to 1 byte or more
Avatar
doesn't a template vector have a type, shouldn't this be the size of the type?
Avatar
Avatar
Solly
no its padded to 1 byte or more
if you're using a struct, it's usually padded up to 4 bytes if you don't use the right pragmas for it
Avatar
std::vector<CButtonContainer> vButtonsContainersNamePlateKeyPresses = {{}, {}, {}, {}}; class CButtonContainer{}; sizeof(CButtonContainer) != 0
12:43
friend mark
12:44
πŸ‘€
12:58
thanks git very co0ol
Avatar
btw is there a reason we are not support VS 2022?
Avatar
Avatar
Assa
This is how slides would look like brownbear
waoh this is awesome
13:04
best new tile I've ever seen
Avatar
Avatar
Assa
btw is there a reason we are not support VS 2022?
we do?
13:05
I use vs 2022 exclusively
Avatar
[cmake] CMake Error at CMakeLists.txt:26 (project): [cmake] Generator [cmake] [cmake] Visual Studio 16 2019 [cmake] [cmake] could not find any instance of Visual Studio. [cmake] [cmake] [cmake] VS 2022 is installed?
13:05
I get this error in VS-Code
Avatar
there is some way to pass an agurment to tell it to use vs 2022 but I don't use vscode so idk how
Avatar
I see the variable, gonna search
13:07
-G "Visual Studio 16 2019"
13:09
just a configuration issue, when I switch to 2022 I get an error ...
Avatar
what error
Avatar
"EBUSY: resource busy or locked, unlink 'c:\Users\User\Desktop\workspace\ddnet\build\CMakeFiles\CMakeConfigureLog.yaml'". (edited)
Avatar
-# windows moment (edited)
Avatar
if you're not using the vs 2022 IDE why not just install vs 2019 for the toolchain
13:11
then you won't have issues
Avatar
or your cmake version is old
Avatar
because windows doesn't like multiple vs versions
Avatar
it would have to be pretty old
13:12
I have 4 VS versions...
Avatar
i usually just keep one
Avatar
>cmake --version cmake version 3.31.0
Avatar
so cmake just auto select the right one
Avatar
maybe it's too new
Avatar
Just generate the cmake manually?
Avatar
maybe just cleanup and manually specify generator
Avatar
There is a cmake gui
Avatar
i have 3.30.5 works fine
13:13
in vs 2022 you just open cmake project and thats it
Avatar
although to be fair i just used the vscode cmake extension it just list all the compilers and let me click on one
13:14
i haven't installed any actual visual studio for years. i only install vs build tools
Avatar
I deleted the CmakeFiles directory, now I am just missing ffmpeg apprently
Avatar
[cmake] CMake Error at CMakeLists.txt:1887 (file): [cmake] file COPY cannot find [cmake] "C:/Users/Marvin/Desktop/workspace/ddnet/ddnet-libs/ffmpeg/windows/lib64/avcodec-61.dll": [cmake] No error.
Avatar
ffmpeg should be included in ddnetlibs
Avatar
name leak!
Avatar
oh that's on me
Avatar
is the folder empty
Avatar
hi Marvin
Avatar
yeye I already leaked my proffesional github account, deal with it
13:15
hi
Avatar
love you
Avatar
I love me too
❀️ 1
Avatar
ok continue the troubleshoot. i'm just here to say hi
Avatar
just a missing git submodule update
Avatar
wait ddnet is supposed to handle ime?
13:20
darn
Avatar
i mean ye..
13:20
chinese player base was big
Avatar
an application can be completley blind to ime and work pretty functionaly
13:20
its nice to have text editing
Avatar
pretty sure it is toolkits job
Avatar
but ddnet stores the candidates, so i pressume they are rendered in ddnet
Avatar
but we obviously aren't using a UI toolkit
13:21
ye
13:21
only on windows tho
Avatar
not anymore B)
Avatar
in SDL3?
13:21
now its cross platform
13:22
so bye bye windows restriction
Avatar
it's not really a restriction
13:22
it's a exclusive fullscreen workaround
Avatar
and you can should be able to choose between "native" (ibus) and ddnet
Avatar
Avatar
TsPiggy
it's a exclusive fullscreen workaround
oh right that
Avatar
macos always composite so using a in-engine candidate is actually worse than letting system handle IME
Avatar
xorg and wayland no longer have the exclusive fullscreen restriction either
Avatar
not sure about linux. i think compositors always have a way to integrate with ibus or fcitx5
Avatar
but i think you should be able to choose between ddnet and native
13:23
its not like ime candidates are that hard to render
Avatar
so ye, better just kept it windows exclusive in that case. cuz people can really hate the in-game candidate list
13:23
you can already
Avatar
Avatar
TsPiggy
so ye, better just kept it windows exclusive in that case. cuz people can really hate the in-game candidate list
you can always turn it off
Avatar
there is a setting to bypass the in-game one.
Avatar
but i do think default to the ime render player usually see is better
13:24
i kinda want to make ddnet also automatically give up on render candidates with windows mode
Avatar
except on windows
Avatar
I managed to get it working, I needed to manually delete cmake cache and all older build directories
Avatar
in exclusive fullscreen
Avatar
because windows moment
Avatar
windowed fullscreen on windows is weird
13:25
the IME works on some machine but not others
Avatar
its just a window without decoration at full res?
Avatar
maybe sometime driver might just decide that it should take over the whole screen anyway
13:26
to reduce latency for windowed fullscreen
13:26
i'm guessing
Avatar
well since "exclusive fullscreen" is no different for me anymore
13:26
i assume all issues with it are gone
13:26
not that i ever had any
Avatar
debugging the server crashes immediatly ... ........
Avatar
segfault?
Avatar
accidental anti-debugger. we should make that a feature and sell them to commercial project
Avatar
DDNet-Server.exe (17248): Loaded 'C:\Users\Marvin\Desktop\workspace\ddnet\build\release\DDNet-Server.exe'. Module was built without symbols. DDNet-Server.exe (17248): Loaded 'C:\Windows\System32\ntdll.dll'. DDNet-Server.exe (17248): Loaded 'C:\Windows\System32\kernel32.dll'. DDNet-Server.exe (17248): Loaded 'C:\Windows\System32\KernelBase.dll'. DDNet-Server.exe (17248): Loaded 'C:\Windows\System32\apphelp.dll'. DDNet-Server.exe (17248): Loaded 'C:\Windows\System32\shlwapi.dll'. DDNet-Server.exe (17248): Loaded 'C:\Windows\System32\msvcrt.dll'. DDNet-Server.exe (17248): Loaded 'C:\Windows\System32\ws2_32.dll'. DDNet-Server.exe (17248): Loaded 'C:\Windows\System32\rpcrt4.dll'. DDNet-Server.exe (17248): Loaded 'C:\Windows\System32\version.dll'. DDNet-Server.exe (17248): Loaded 'C:\Windows\System32\ole32.dll'. DDNet-Server.exe (17248): Loaded 'C:\Windows\System32\ucrtbase.dll'. DDNet-Server.exe (17248): Loaded 'C:\Windows\System32\combase.dll'. DDNet-Server.exe (17248): Loaded 'C:\Windows\System32\gdi32.dll'. DDNet-Server.exe (17248): Loaded 'C:\Windows\System32\win32u.dll'. DDNet-Server.exe (17248): Loaded 'C:\Windows\System32\gdi32full.dll'. DDNet-Server.exe (17248): Loaded 'C:\Windows\System32\msvcp_win.dll'. DDNet-Server.exe (17248): Loaded 'C:\Windows\System32\user32.dll'. DDNet-Server.exe (17248): Loaded 'C:\Windows\System32\shell32.dll'. DDNet-Server.exe (17248): Loaded 'C:\Windows\System32\advapi32.dll'. DDNet-Server.exe (17248): Loaded 'C:\Windows\System32\sechost.dll'. DDNet-Server.exe (17248): Loaded 'C:\winbuilds\bin\sqlite3.dll'. DDNet-Server.exe (17248): Loaded 'C:\Windows\System32\bcrypt.dll'. The program '[17248] DDNet-Server.exe' has exited with code -1073741515 (0xc0000135).
13:28
what why does it use release?
13:28
WHAT
13:28
-DDEV=ON maybe?
13:28
even then debugger shouldn't crash a release build server tho
Avatar
DDNet-Server.exe (2852): Loaded 'C:\Users\Marvin\Desktop\workspace\ddnet\build\debug\DDNet-Server.exe'. Symbols loaded. Still crashes the exact same way
Avatar
omg
13:30
DeepSeek-R1 could be used for coding teeworlds code.
Avatar
terminal time: 2025-03-02 14:30:17 E server: failed to load map. mapname='dm1' (base)
13:30
xD
Avatar
Avatar
Bamcane
DeepSeek-R1 could be used for coding teeworlds code.
Avatar
I asked it something, and then it even know that needing to modify bam.lua
Avatar
oh is that one of the
13:31
fully automated
Avatar
probably not devin
Avatar
However, sadly, it couldn't be used in my project about teeworlds.
Avatar
Now I got it running
Avatar
is it known, that IsGrounded is 1 pixel off?
13:47
I did: if(IsGrounded()) Vel.y = 0; And I am flying 1 pixel in the air
Avatar
something something gravity or something
13:54
kek
Avatar
Avatar
Assa
is it known, that IsGrounded is 1 pixel off?
Jupstar βœͺ 2025-03-02 14:04
never hang in a 1tile gap? it even makes the joump sound even tho your feet are in air πŸ˜„
Avatar
#if defined(CONF_PLATFORM_ANDROID) // Translate the Android back-button to the escape-key so it can be used to open/close the menu, close popups etc. if(Key == KEY_AC_BACK) { Key = KEY_ESCAPE; } #endif ac back is not android specifoc and could be generated by a funky controller or keyboard https://usb.org/sites/default/files/hut1_5.pdf
Avatar
Avatar
Solly
#if defined(CONF_PLATFORM_ANDROID) // Translate the Android back-button to the escape-key so it can be used to open/close the menu, close popups etc. if(Key == KEY_AC_BACK) { Key = KEY_ESCAPE; } #endif ac back is not android specifoc and could be generated by a funky controller or keyboard https://usb.org/sites/default/files/hut1_5.pdf
Jupstar βœͺ 2025-03-02 14:07
but the feature is also only active on android xd
Avatar
Avatar
Jupstar βœͺ
but the feature is also only active on android xd
right now it is
14:11
but theres no reason not to handle it on other platforms
Avatar
Avatar
Solly
but theres no reason not to handle it on other platforms
Jupstar βœͺ 2025-03-02 14:11
ah so you want it to be used for controllers?
Avatar
Avatar
Jupstar βœͺ
ah so you want it to be used for controllers?
a funky controller could
14:11
i dont use controller
14:17
https://wiki.libsdl.org/SDL3/SDL_HINT_IME_IMPLEMENTED_UI candidates doesnt seem to disable native rendering
Avatar
SDL_EVENT_TEXT_EDITING_CANDIDATES waiit no way, did sdl actually implement this?
πŸ‘ 1
❀️ 1
14:33
I looked into this for several weeks seeing if I could implement it for SDL but there just was no way to get the candidate list out on macOS
14:33
Nor on linux
14:33
I wonder how they managed to do it
Avatar
GitHub BOT 2025-03-02 14:33
Remove redundant 'inline' specifier on a constexpr function. Change in_range function to return boolean.

Checklist

  • [ ] Tested the change ingame
  • [ ] Provided screenshots if it is a visual change
  • [ ] Tested in combination with possibly related configuration options
  • [ ] Written a unit test (especially base/) or added coverage to integration test
  • [ ] Considered possible null pointers and out of bounds array indexing
  • [ ] Changed no physics that affect existing map...
Avatar
Avatar
Learath2
Nor on linux
all the ime methods probably have thier own ways, it just wasnt implemeneted
14:34
but now theres enough to do so
14:34
maybe macos is still borked
Avatar
If they didn't implement it for anything except windows I'm very very disappointed πŸ˜„
Avatar
that could be the case because its not hiding the candidate ui for me with ibus (edited)
Avatar
on macOS I managed to extract the candidates directly from memory by disabling many security measures and injecting myself into appkit, definitely not a proper solution
Avatar
😭 (edited)
Avatar
on Linux there is actually 0 documentation, none of the used IMEs have any of their own documentation, all of their irc channels are dead too
14:38
at that point I was like damn, I'm not wasting more time on this shit
14:40
There is some standard for it inside X iirc but it wasn't enough
14:43
@Learath2 do you happen to have a windows machine which can compile ddnet available to you
Avatar
Avatar
Solly
@Learath2 do you happen to have a windows machine which can compile ddnet available to you
sure, why?
Avatar
can you try my sdl3 branch
14:44
and see if ime works
Avatar
Tomorrow I can
14:44
if it works on windows then its good enough
14:45
by ime works i mean "you can use it" and "ddnet renders ime candidates"
Avatar
Looking at it it seems they actually went through the trouble of interacting with each and every possible IM Server on Linux
14:46
Props to whoever had the patience to navigate through that mess and figure out how to handle it for each server
Avatar
can u see where they get candidate lists?
14:47
SDL_DBusContext *dbus = SDL_DBus_GetContext(); if (IBus_CheckConnection(dbus)) { Uint32 caps = IBUS_CAP_FOCUS; if (hint && SDL_strstr(hint, "composition")) { caps |= IBUS_CAP_PREEDIT_TEXT; } if (hint && SDL_strstr(hint, "candidates")) { // FIXME, turn off native candidate rendering } SDL_DBus_CallVoidMethodOnConnection(ibus_conn, ibus_service, input_ctx_path, ibus_input_interface, "SetCapabilities", DBUS_TYPE_UINT32, &caps, DBUS_TYPE_INVALID); }
14:47
thats probably why it doesnt work for me
Avatar
Avatar
Solly
SDL_DBusContext *dbus = SDL_DBus_GetContext(); if (IBus_CheckConnection(dbus)) { Uint32 caps = IBUS_CAP_FOCUS; if (hint && SDL_strstr(hint, "composition")) { caps |= IBUS_CAP_PREEDIT_TEXT; } if (hint && SDL_strstr(hint, "candidates")) { // FIXME, turn off native candidate rendering } SDL_DBus_CallVoidMethodOnConnection(ibus_conn, ibus_service, input_ctx_path, ibus_input_interface, "SetCapabilities", DBUS_TYPE_UINT32, &caps, DBUS_TYPE_INVALID); }
Yep, it doesn't turn off native rendering πŸ˜„ I was just looking at that exact same location
Avatar
it would be weird to have non native rendeing at the same time
14:48
so it probably turns that off but i havent found that yet
Avatar
Avatar
Solly
can u see where they get candidate lists?
Doesn't seem like they do. Only the windows backend seems to call SDL_SendEditingTextCandidates
Avatar
thats too bad ):
14:52
well windows is the only platform that benefits from it
14:52
so
14:52
¯\_(ツ)_/¯
Avatar
Not surprised. Except for windows this stuff is so sparsely documented that the person implementing it probably got bored
Avatar
Uncommon windows W
Avatar
The "show-lookup-table" signal The "cursor-down-lookup-table" signal The "cursor-up-lookup-table" signal
14:54
you can get the candidate list i think
14:54
i cant find out how to hide native ui
Avatar
Avatar
Learath2
Doesn't seem like they do. Only the windows backend seems to call SDL_SendEditingTextCandidates
classic
Avatar
Avatar
Solly
you can get the candidate list i think
Yeah there seems to be a way, IBUS_CAP_LOOKUP_TABLE there is this capability indicating you can render your own, maybe setting this is enough?
Avatar
having extreme dajavu now i'm seeing lerato joined the convo
Avatar
Avatar
Learath2
Yeah there seems to be a way, IBUS_CAP_LOOKUP_TABLE there is this capability indicating you can render your own, maybe setting this is enough?
the wording is vague
14:56
The panel component does nothing for an application that doesn't support focus.
14:56
i wonder how big sdl3 is
14:56
to mess around with
Avatar
Perhaps you listen to update-lookup-table signals for it?
Avatar
btw candidate list really isn't needed on non windows i think.
Avatar
Avatar
TsPiggy
btw candidate list really isn't needed on non windows i think.
but its annoying that its not possible to do (edited)
Avatar
why
Avatar
and perhaps you emit hide-lookup-table signal to hide it?
Avatar
IME worked fine with a compositor
Avatar
Avatar
TsPiggy
IME worked fine with a compositor
i agree that its not needed, i just think it could and should be supported regardless
Avatar
Avatar
TsPiggy
why
It'd be great if it looked the same everywhere (edited)
Avatar
Avatar
Learath2
It'd be great if it looked the same everywhere (edited)
why?
Avatar
and if you prefer it to be composited on top, you can get a config for it
Avatar
people use IME with their own settings
Avatar
Avatar
Learath2
and if you prefer it to be composited on top, you can get a config for it
theres already a config for it :D
Avatar
we don't even have a horizontal candidate list
Avatar
Avatar
TsPiggy
why?
because
Avatar
Avatar
TsPiggy
we don't even have a horizontal candidate list
that can be changed
Avatar
idk I don't like having weird inconsistent experiences between people that we don't control
Avatar
😬 but we can't just take away their normal IME
14:59
for no reason
Avatar
What happens if you are playing in exclusive fullscreen and aren't running a compositor?
Avatar
Avatar
Learath2
What happens if you are playing in exclusive fullscreen and aren't running a compositor?
(xorg and wayland dont have that problem)
15:00
(nor does macos) (its just windows) (edited)
Avatar
does linux even support typing with IME with no compositor
πŸ‘ 1
Avatar
Who knows? If we were rendering the candidate list on our own these wouldn't be discussions that need having
Avatar
at least make it automatic or something
15:01
i keep getting DMs about turning off the built-in candidate list
15:01
it is annoying
Avatar
and the people that don't like the way we render it can just disable it and wrestle with their compositing and fullscreen/borderless/desktop fullscreen/whatever fullscreen settings themselves
Avatar
i wanted to just auto bypass the built-in one if it runs in windowed mode on windows
Avatar
Avatar
TsPiggy
i keep getting DMs about turning off the built-in candidate list
is it not a gui setting (edited)
Avatar
haven't got around doing it tho
Avatar
Avatar
Solly
is it not a gui setting (edited)
it is,but people don't check commands often or don't know how
15:02
i don't think so
Avatar
should be a gui setting
Avatar
I like things working out of the box and being uniform across platforms. Then you can break it however you like
Avatar
that i can at least somewhat get behind
15:03
having a gui setting will just make the opposite happen where people not understanding what the config does and just ask why their IME won't work
Avatar
Avatar
TsPiggy
i wanted to just auto bypass the built-in one if it runs in windowed mode on windows
Can't windows render on exclusive fullscreen using that one weird trick they do with flickering the screen?
Avatar
we patched SDL to make that happen
15:04
with built-in candidate list we removed that patch
Avatar
Can you show me your IME candidate list btw? What sort of customization do people do to the candidate list that rendering it ourselves would be bad?
15:05
fuck off
Avatar
Avatar
Learath2
Can you show me your IME candidate list btw? What sort of customization do people do to the candidate list that rendering it ourselves would be bad?
mine is really standard. let me poll in CHN rq
Avatar
This or vertical are the only options I can really think about
Avatar
Avatar
Learath2
This or vertical are the only options I can really think about
they use anime skins
Avatar
Maybe a small anime girl to the left?
15:05
Yeah figured
Avatar
and some cloud functions that auto replace the second candidate with AI stuff
Avatar
@Learath2 can u remove the guys spam >< (its in many channels) (edited)
Avatar
sometimes that doesn't work with the built in one
15:06
but mostly because the IME maker didn't bother to properly call windows API
Avatar
Avatar
TsPiggy
but mostly because the IME maker didn't bother to properly call windows API
but how does the text replacement work properly then? Perhaps sdl is missing an event or something?
Avatar
Avatar
Learath2
but how does the text replacement work properly then? Perhaps sdl is missing an event or something?
wdym.
15:07
the candidate window is controlled by IME they can render anything. and the input is just regular text event (edited)
15:07
when you commit
Avatar
I guess I'm misremembering how windows does its IME
Avatar
we made our built-in render works using microsoft pinyin as a reference
15:08
but lots of chinese don't use that
15:08
and we can't possibly adapt to the 20 different options on the market
Avatar
Anyway, pointless discussion. SDL3 didn't figure out how to get the candidates portably either so we can't have my dream come true
15:09
i mean we could figure it out but i still don't want built-in to be default
15:09
i like it as a workaround
Avatar
Avatar
TsPiggy
i mean we could figure it out but i still don't want built-in to be default
Linux looks like it can be figured out. macOS is still impossible
Avatar
i also run my IME without numbering tbh
15:10
but i haven't figured out how to do that with fcitx5 yet
15:11
oh also
15:11
we can't read whether an IME is horizontal or vertical and sometimes IME's input direction is weird
15:11
some people select candidate using arrow keys
15:12
and some only works with left right and some only works with up down
15:12
some are brackets but we don't talk about those
15:13
random ass skin thumbnail i found
15:13
lmao
Avatar
Avatar
TsPiggy
random ass skin thumbnail i found
Ok I'm sold, lets implement this skin for our default built-in IME candidate list (edited)
Avatar
honestly
15:14
probably will make people stop asking how to turn it off
Avatar
upvote
Avatar
Avatar
TsPiggy
we can't read whether an IME is horizontal or vertical and sometimes IME's input direction is weird
(sdl3 reports it for windows)
Avatar
Avatar
Solly
(sdl3 reports it for windows)
i'm pretty sure 3rd party ime makers don't usually interface with windows correctly
Avatar
Avatar
Solly
(sdl3 reports it for windows)
I'm sure some IME vendors just don't report it correctly or something. This stuff is soooooooooo messy
Avatar
and that
Avatar
there is also XIM for X11 but I think fcitx and ibus completely ignore that
Avatar
fcitx is like it's own thing
Avatar
ibus provides a xim server? (edited)
Avatar
it just does whatever it wants
Avatar
There should be one universal standard and any vendor that deviates from it should be executed
πŸ‘ 2
❀️ 2
15:17
That would fix all these issues very quickly
Avatar
ime is crazy
15:17
chinese ime is also weird, some people really likes to design their own
15:17
so there is rime.
15:18
and rime sometimes does weird thing depends on whether it runs on fcitx or ibus (edited)
15:19
i can't imagine korean designing their own just to do less keystrokes or more deterministics.
15:19
japanese maybe
15:19
not sure
15:21
and there's me out here typing a whole ass propaganda with four chars
Avatar
GitHub BOT 2025-03-02 15:51
Makes ddnet code base cleaner as these variables are unused. Also makes my downstream cleaner which implements team balancing.
Avatar
I can now render speedtiles and slides seperately, also we could change the optics of old vs new speedtiles happy
Avatar
Avatar
TsPiggy
i can't imagine korean designing their own just to do less keystrokes or more deterministics.
i think all their characters more or less fit on a qwerty keyboard
Avatar
@Learath2
Avatar
but look at it, sooo pretty
Avatar
what is he on tho
Avatar
Avatar
Learath2
but look at it, sooo pretty
ok now i'm pretty sure i know why people don't want to use it. windows broke their own IME sometime in 2024 and it just reports 10 candidate page size to applications always (edited)
16:16
angeryping
16:16
life is hell
Avatar
ddnet broke both my monitors
16:35
sigh
Avatar
Avatar
TsPiggy
what is he on tho
secret triangles that turn you into a tee
Avatar
i actually know what that pill is, is just funny that dude has them lying around
Avatar
Avatar
TsPiggy
i keep getting DMs about turning off the built-in candidate list
inp_ime_native_ui 1
Avatar
Avatar
Robyt3
inp_ime_native_ui 1
i knew that. just saying lots of people do want it off lol
Avatar
nouis i do feel like a bot when i have to search commands myself and relaying to them.
16:55
happens very often
Avatar
pData->m_NumCommands = 0; for(CCommand *pCommand = m_pFirstCommand; pCommand; pCommand = pCommand->m_pNext) { if(pData->m_NumCommands < (int)(std::size(pData->m_aCommandsChecksum))) { FCommandCallback pfnCallback = pCommand->m_pfnCallback; void *pUserData = pCommand->m_pUserData; TraverseChain(&pfnCallback, &pUserData); int CallbackBits = (uintptr_t)pfnCallback & 0xfff; int *pTarget = &pData->m_aCommandsChecksum[pData->m_NumCommands]; *pTarget = ((uint8_t)pCommand->m_pName[0]) | ((uint8_t)pCommand->m_pName[1] << 8) | (CallbackBits << 16); } pData->m_NumCommands += 1; } is it fine if this code changes
17:06
(in void CConsole::InitChecksum(CChecksumData *pData) const to produce a different value equally as checksummy)
Avatar
GitHub BOT 2025-03-02 17:15
Adds two new tiles that utilize the new tune override from #8959 Closes #5732 Closes #4651 Relies on #9788 so it should get merged first TL;DR: Tune Lock: Locks the tune values on the player, causing them to ignore all other tunes and locks. Tune Lock Off: Unlocks the tune on player, only if the number matches the tune lock number. !image More detailed info: Tune Lock Tile:
  • When a tee touches...
Avatar
Avatar
Solly
(in void CConsole::InitChecksum(CChecksumData *pData) const to produce a different value equally as checksummy)
What are you trying to do?
Avatar
change all the raw pointrs to std::function (edited)
17:19
for callbacks
Avatar
Avatar
kebs
@Hecta
tune lock is the future
Avatar
because i wanted a std::function callback for cmenu::prompt...
Avatar
is not a huge fan of std::functions
Avatar
static_assert( ::rust::IsRelocatable<::IConsole_FCommandCallback>::value, "type IConsole_FCommandCallback should be trivially move constructible and trivially destructible in C++ to be used as an argument of `Register` in Rust"); everything seems to work but this.. but i removed it and it compiles
Avatar
ws-client BOT 2025-03-02 17:20
<ChillerDragon> clang forced me to use std::all_of do i just have to get used to it? or is there a way to do it less ugly like wtf?
Avatar
Avatar
GitHub
Click to see attachment πŸ–ΌοΈ
kewl
17:21
i make some comments on github
Avatar
Avatar
Learath2
is not a huge fan of std::functions
its harder to do things when forced to use raw pointers, ddnet gets around it for the most part by using member func pointers but uhh what if i dont want to create a member function and value for rememebering the old value of display settings
Avatar
Avatar
Solly
static_assert( ::rust::IsRelocatable<::IConsole_FCommandCallback>::value, "type IConsole_FCommandCallback should be trivially move constructible and trivially destructible in C++ to be used as an argument of `Register` in Rust"); everything seems to work but this.. but i removed it and it compiles
insta segfault ofc
Avatar
Well I'm sure the person who put that assert there knew what they were doing πŸ˜„
Avatar
the segfault is caused by rust magic
Avatar
Unless you want to remove all rust along with it, I'm guessing removing the assert is also wrong
Avatar
i would love to remove all rust
17:23
but uhmm im not going to
17:23
seperate pr /j
Avatar
Avatar
Solly
its harder to do things when forced to use raw pointers, ddnet gets around it for the most part by using member func pointers but uhh what if i dont want to create a member function and value for rememebering the old value of display settings
So you want to be able to pass lambda functions in there?
17:24
if i dont get this to work im just going to .. do the messy way
17:25
i slightly need the ability for it to revert display changes after 5s because otherwise it destroys wipes my monitors of the face of my desk then uhh i cant do much
Avatar
You are making a simple problem very complicated by trying to refactor everything justatest
17:26
this isnt going to happen im gonna do it the messy way
Avatar
Perhaps one could limit the requirement to just functions registered from rust
Avatar
or rather just change the callback i need
Avatar
We already have a CMenus::PopupConfirm. Try to at most rewrite that to use a parameter object instead of a bunch of separate parameters and std::function callbacks instead of function pointers to member functions.
Avatar
paramater object as in
17:28
pUser
Avatar
Problem: Your methods contain a repeating group of parameters. Solution: Replace these parameters with an object.
Avatar
oh yeah
17:28
i dont want to add more paramters
17:28
just change the pfncallbacks to std::funcs
17:28
which there are 2 (edited)
Avatar
But you want to add a timer
17:28
That's another parameter
Avatar
can you not cancel prompts
17:29
outside
Avatar
Not with the generic CMenus::PopupConfirm. At that point you'd have to duplicate the popup (which is currently done for a lot of popups anyway)
Avatar
can i not just do m_Popup = 0
questioneline 1
Avatar
You don't render PopupConfirm yourself, it's generic and only renders your message and buttons
πŸ‘ 1
Avatar
That assert does seem a little overly restrictive, I'm guessing the relocability is needed so C++ can call rust callbacks properly. Thus it could probably be relaxed to only callbacks registered from rust needing to satisfy that requirement by splitting the type
Avatar
i like your words magic man (edited)
Avatar
Avatar
Assa
I can now render speedtiles and slides seperately, also we could change the optics of old vs new speedtiles happy
ohhhhh i think i made them backwards
17:48
thats an easy fix
Avatar
Avatar
Hecta
ohhhhh i think i made them backwards
I wouldn't use a triangle there
17:49
I agree with the line, but make something different under it, idk ideas? (edited)
17:50
hmm maybe instead of the line with the trinagle below, something of a table shape
Avatar
make it look like unhookable xd
Avatar
β•₯, β•  , β”œ
Avatar
Avatar
louis
make it look like unhookable xd
they are pass through from one side, I don't think this works
Avatar
ah wait nvm its not really acting like that sort of slide right
Avatar
it acts as a slide, no input -> you slide, like in the kindergarden
Avatar
Avatar
Assa
β•₯, β•  , β”œ
i can try that
❀️ 1
Avatar
Avatar
Assa
hmm maybe instead of the line with the trinagle below, something of a table shape
smth like this?
Avatar
oh yes I think this would be better
17:57
its not so confusing with the pointy bit of a speedtile
Avatar
@louis what do you think?
Avatar
anything would work fine in entities but idk how you would make this in design
Avatar
maybe just slopes πŸ˜›
Avatar
entities is the issue
Avatar
What is the issue?
Avatar
Avatar
Assa
What is the issue?
it looks bad in entities
18:36
compared to a slope (edited)
Avatar
I thought the triangles were fine
Avatar
the design of the entities themselves its fine
18:37
its just that it doesnt show where you would move going along it
Avatar
But that depends where you're already moving
Avatar
the intended purpsoe is slopes
18:38
therse not an easy solution unless you look at the tiles around it to do entities
Avatar
Avatar
Solly
its just that it doesnt show where you would move going along it
well it does, it's an angled line?
Avatar
and even then theyre not hookable
Avatar
Avatar
Assa
well it does, it's an angled line?
3 of them for a 3 long slope (edited)
18:38
its not an issue you have to worry about
Avatar
it would be nice to have slopes of any angle and have it hookable, or hookthru or solid
18:42
wait thats ... actually
18:42
uhmm
Avatar
that sounds so complicated
Avatar
Avatar
Hecta
that sounds so complicated
can you not have an angle on each tile
18:43
that way you can do any tile aligned slopes
18:43
and more if youre patient
Avatar
the rotated tiles would still be snapped to the tile grid, right?
Avatar
ok lemme visualize this
Avatar
0-90 cuts the top right corner (edited)
18:44
90-180 cuts the bottom right corner
18:45
180-270 cuts the bottom left corner
18:45
270-360 cuts the top left corner
Avatar
so smth like this?
18:46
this is what i see when you say "each tile has a rotation"
Avatar
arch1t3cht 2025-03-02 18:51
this will allow you to more efficiently pack 17 tiles onto the screen
kek 5
Avatar
anyone familiar with content.py? I literally copied the code of an other tile with the same size and can't render it properly
Avatar
is the position right?
Avatar
everforest traveler 2025-03-02 19:36
how can i use router's ip to host server? (edited)
Avatar
Avatar
Hecta
so smth like this?
no...
Avatar
tune lock map idea, dummy map but dummy has gravity 0
19:55
or better volleyball
Avatar
@Solly Can you update the screenshots for #9601 again?
Avatar
Id can be put onto new line with cl_nameplates_ids_line and sized with cl_nameplates_id_size Offset can be customized with cl_nameplates_offset cl_nameplates_own in ui Lots of checkboxes merged int...
Avatar
the bottommost one is accurate for the ui, the penultimate one is accurate for the game, and the ones before are just showing size
20:00
but okay
Avatar
ah, I see there's a new one
Avatar
the bulletpt list is inacurate tho-ish (edited)
Avatar
maybe remove the old ones though so the correct screenshot is picked for the release highlights
Avatar
Avatar
kebs
tune lock map idea, dummy map but dummy has gravity 0
πŸ”₯
Avatar
Avatar
Solly
no...
wait so what do you mean then
20:24
like the slide speeders but hookable?
Avatar
Avatar
Solly
the design of the entities themselves its fine
oh i just thought about an idea for that! since speeders have an array in-game, we can add snapping lines for important angles like 90°, 45°, 1x2 slopes, long 1x3 slopes
Avatar
I don't really get your point, the angle in the editor already snaps to this angles (edited)
Avatar
in-game
20:34
like when you're playing solly is saying its harder to tell the angle of where you're going in entities
Avatar
Avatar
Hecta
wait so what do you mean then
JSFiddle - Test your JavaScript, CSS, HTML or CoffeeScript online with JSFiddle.
20:37
is what i was thinking
20:37
but i realised you cant do much with that
Avatar
Avatar
Hecta
like when you're playing solly is saying its harder to tell the angle of where you're going in entities
no im saying it doesnt look like a slope
20:39
20:39
in entities
Avatar
would there need to be corner blocks too to account for this?
Avatar
Avatar
Hecta
would there need to be corner blocks too to account for this?
yeah which is why i realised my original idea was bad
20:43
after starting to make this
20:43
but i was like
20:43
i might aswell it will look really cool
20:43
being able to modify normal tiles i think is better than having a zone with slope like behaviour
Avatar
Avatar
Solly
Click to see attachment πŸ–ΌοΈ
subtle lines in the array
πŸ‘ 1
Avatar
but its alot harder
Avatar
Avatar
Hecta
subtle lines in the array
would be hard to implement
Avatar
not really
Avatar
would have to scan tiles around it
20:45
so that it lines up like in the image
20:45
or actually not
20:45
if you dont care about it being at y=0 at the start
20:45
you can use mod on the x position
Avatar
or just prebake the line connections
πŸ‘ 1
20:46
in the image
Avatar
only works for certain angles
20:46
does it
Avatar
yeahh
Avatar
yeahhh
Avatar
dunno how else we would do it tho
Avatar
Avatar
Solly
you can use mod on the x position
.
Avatar
but if the icon is at the right angle
20:47
its the best you can do i think
20:47
without giving up on the idea of having a tile for slopes like that
Avatar
I think my clang-tidy is on drugs: /home/runner/work/ddnet/ddnet/src/game/client/prediction/entities/character.cpp:392:48: error: Potential memory leak [clang-analyzer-unix.Malloc,-warnings-as-errors] 392 | for(int i = -ShotSpread; i <= ShotSpread; ++i) | ^ (edited)
Avatar
shouldnt it be (ShotSpread * -1)
Avatar
I didn't write this code, idk xD
21:08
oh its pointing at the ++i
Avatar
yeah my clang-tidy is finding random problems in code I never touched πŸ€·β€β™‚οΈ
Avatar
GitHub BOT 2025-03-02 21:11

Checklist

  • [ ] Tested the change ingame
  • [ ] Provided screenshots if it is a visual change
  • [ ] Tested in combination with possibly related configuration options
  • [ ] Written a unit test (especially base/) or added coverage to integration test
  • [ ] Considered possible null pointers and out of bounds array indexing
  • [ ] Changed no physics that affect existing maps
  • [ ] Tested the change with [ASan+UBSan or valgrind's memcheck](https://github.com/ddnet/ddnet/#using-ad...
Avatar
Avatar
Assa
yeah my clang-tidy is finding random problems in code I never touched πŸ€·β€β™‚οΈ
You know, the codebase is not confronting many clang-tidy checks
21:33
You can open a thousand prs refactoring those stuff
Avatar
@kebs any idea whats going on? the pink tiles on the right indicate a tune lock thats supposed to set shotgun_strength to -10 but it does nothing
21:37
other tunes seem to work fine
21:38
but changing shotgun strength to anything else doesnt result in any actual changes
21:39
tho when both my dummy and main tee enter that tune lock it seems like client tries to predict negative strength shotgun
Avatar
Avatar
Souly
@kebs any idea whats going on? the pink tiles on the right indicate a tune lock thats supposed to set shotgun_strength to -10 but it does nothing
shotgun strength is projectile tune which doesnt work with override
21:44
projectile tunes are based on spawn location tune so idk if i want to change that to work with override
21:45
but will look why prediction breaks
Avatar
GitHub BOT 2025-03-02 21:45
9f0b533 Refactor math.h - Pioooooo c9e2210 Remove unused team balance variables - ChillerDragon 9d05cc6 Merge pull request #9792 from ChillerDragon/pr_rm_balanace_vars - def- cb8745f Merge pull request #9791 from Pioooooo/refactor-math - def-
Avatar
@Matodor any reason why you implemented override just for player, and not for projectiles? I think it could be done by just checking on projectile spawn if owner is a player and has tune override
Avatar
GitHub BOT 2025-03-02 22:29
fd6bda6 Update Chinese translations - XCWQW1 1d0bc42 Update data/languages/simplified_chinese.txt - def- c5ea0b7 Change to 鑯瀺旁觀者人數 - XCWQW1 8866996 Merge remote-tracking branch 'origin/master' - XCWQW1 36f2a2e Merge pull request #9794 from XCWQW1/master - def-
Avatar
ws-client BOT 2025-03-02 22:33
<ChillerDragon> can we please store stuff in the projectile not in the player who shot the projectile so stuff doesnt break when the player disconnects
Avatar
ws-client BOT 2025-03-02 22:34
<ChillerDragon> @Assa ye that memleak is annoying you can find some magic comments in the code that deactivate it
22:35
<ChillerDragon> // NOLINT(clang-analyzer-unix.Malloc)
Avatar
ye annoying memleak in int i = 0; i++;
22:41
Should I make a Draft PR? I am at a point where I just have a minor bug I can't find
Avatar
sure!
22:50
you can always just squash commits
Avatar
chillerdragon: ur chiller client on 19.0 seems to not work with 128 tees
Avatar
GitHub BOT 2025-03-02 23:12
This PR implements a new slide tile. A slide tile behaves a bit like a one way block, but can have any angle in a 360 degree radius. It's part of the speedup layer. Something similar is already possible with the new speedtiles and very low max speed. This makes the entity a bit unreadable, therefore I suggest adding this tile instead and experience it's own graphic and less site effects. Graphics by @VoxelDoesCode My testmap: [slides_test1.zip](https://github.com/user-attachmen...
Avatar
please be gentle with the stones thrown at me!
Avatar
Avatar
fokkonaut
chillerdragon: ur chiller client on 19.0 seems to not work with 128 tees
same for cactus 19000 i think
Avatar
is there any reason I should trust the cactus client?
no 1
Avatar
and tater i think
23:24
they all mess up versioning :(
Avatar
ws-client BOT 2025-03-02 23:42
<ChillerDragon> @fokkonaut how do i reproduce?
kek 1
23:43
<ChillerDragon> @Assa cactus is closed source there are open source clients with similar features so no need to trust it
Avatar
Avatar
ws-client
<ChillerDragon> @fokkonaut how do i reproduce?
there are some great children books about it
Avatar
Avatar
ws-client
<ChillerDragon> @Assa cactus is closed source there are open source clients with similar features so no need to trust it
closed source ddnet clients are not valid clients in my eyes
Avatar
DDraceNetwork, a free cooperative platformer game. Contribute to ddnet/ddnet development by creating an account on GitHub.
Avatar
ws-client BOT 2025-03-02 23:58
<ChillerDragon> u need the magic comment i sent u
Exported 553 message(s)
Timezone: UTC+0