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 2022-03-28 00:00:00Z and 2022-03-29 00:00:00Z
Avatar
@bencie did you encounter any problems with RC2 yet, or didnt really play last days?
Avatar
Avatar
Jupstar ✪
@bencie did you encounter any problems with RC2 yet, or didnt really play last days?
i didn't
06:34
have any problems
Avatar
ok^^
Avatar

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 if it works standalone, system.c especially
  • [ ] 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-addresssanitizer--u...
Avatar
@CHaBek Can you check if https://github.com/ddnet/ddnet/pull/4906/files is an improvement?
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 if it works standalone, s...
Avatar
Avatar
deen
@CHaBek Can you check if https://github.com/ddnet/ddnet/pull/4906/files is an improvement?
that's I uploaded
Avatar
It's my first pull request, did I do right?
Avatar
yes, maybe next time try to keep all changed in a single commit, but it's fine
👌 1
Avatar
ok, thanks 🥰 (edited)
Avatar
2b020d7 Update korean.txt - cwh7435 34952ca Update korean.txt - cwh7435 a7da3fa Update korean.txt - cwh7435 585e849 Merge #4906 - bors[bot]
Avatar
fixes #4891 @Chairn can you test if this is enough. Also I'd like to open an issue on SDL2. So some minor questions: Is libvulkan1.so installed on your system? What does vulkaninfo | grep driverID show on your system?

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 if it works standalone, system.c especially
  • [ ] Considered po...
09:36
the frametimes are interesting when cl_refresh_rate == gfx_refresh_rate
09:36
(Vulkan btw)
09:37
it seems like its just desync between the actual refresh rate, and the refresh rate defined by cl_refresh_rate (if I toggle focus for DDnet I can sometimes get them to sync)
09:38
Avatar
this is expected
Avatar
this is after toggling focus a few times (because of cl_refresh_rate_inactive)
Avatar
cl refresh rate only cares about refresh rate of the CPU (how often it wakes up)
09:39
if it misses a gfx frame, it will do a much faster cycle than when it hits a gfx frame
Avatar
hmm i was always wondering, why it even existed. Is there any recommended value for it?
09:40
like 2× gfx_refresh_rate or something?
Avatar
i set it to 0, one CPU core normally doesnt use much energy / my fans dont start to spin gfx_refresh_rate on the other side is the one you should set to your target fps
09:41
its not really predictable what else you can set it to, 2x gfx refresh rate can theoretically work. Tho it can still happen that you miss a gfx cycle
09:42
you can try gfx_asyncrenderold 0
Avatar
gfx_refresh_rate is 150 (a little above my monitors actual refresh rate)
Avatar
then the cpu waits for the GPU
09:42
gfx_asyncrender_old 0
Avatar
Avatar
Jupstar ✪
then the cpu waits for the GPU
yep. Never seen a more straight frametime graph :D
09:42
is there a performance/latency penalty?
Avatar
well with 150 there generally is a latency impact xD
09:43
your mouse probs has 1000hz
09:43
but it should be ok, since u have pretty high end hardware
09:43
just test it out and see if its ok for you
Avatar
hmm nvm. I now have gfx_asyncrender_old 0 but it didn't really change anything (was 1 before)
Avatar
Avatar
Scrumplex
yep. Never seen a more straight frametime graph :D
I guess I was just lucky there
Avatar
ah you have to use gfx_refresh_rate 0 then
09:45
and only use cl_refresh_rate iirc
Avatar
other way around also seems to work?
Avatar
i think its this way around, even if it sounds weird
Avatar
Avatar
Jupstar ✪
then the cpu waits for the GPU
(you said that the CPU waits for GPU?) (edited)
Avatar
it must enter the GPU check
09:46
so gfx_refresh_rate 0 makes sense
09:46
but it will always swap the GPU then
09:46
and then it also waits for it
Avatar
okay something is weird
09:46
All refresh_rates are 0 now
09:46
OH WAIT MANGOHUD
09:46
I got a 150fps limit there as well
09:46
lmao
Avatar
xd
Avatar
well, I guess that's the best option?
Avatar
all to 0?
Avatar
Avatar
Jupstar ✪
all to 0?
yes, MangoHud limits to 150
Avatar
well if you have that hud always enabled
09:47
sure xd
Avatar
Avatar
Jupstar ✪
well if you have that hud always enabled
I configured it to be hidden by default, can toggle it with a hotkey
Avatar
ok
09:48
guess then its fine yeah
Avatar
(btw this is also the recommended way for the Steam Deck, never use in-game frame limits, but rather use the frame limits forced by MangoHud, makes a huge difference in power consumption)
Avatar
ok, dunno what mangohud injects to the vulkan runtime, but it defs can make sense
09:49
similar to how vsync is implemented on windows
Avatar
Btw. should I be worried if my GPUs coil whine is VERY LOUD with unlocked frames?
Avatar
it doesnt damage ur hardware
09:50
if u mean that
Avatar
I need to get a dB meter
Avatar
Avatar
Jupstar ✪
it doesnt damage ur hardware
I hope so, don't really wanna buy a GPU now 👀
Avatar
yeah should be ok
09:51
its just vibriting copper
09:51
similar to electricity converts in your town
09:51
if u ever seen one xd
Avatar
Avatar
Jupstar ✪
similar to electricity converts in your town
but those generally don't vibrate with >1000Hz
09:52
(I assume that the pitch of the coil whine correlates to the framerate)
09:52
OMG I AM GOING TO PLAY MIDIs WITH COIL WHINE
Avatar
probs to power consumption
09:52
i also dont know what component directly causes it
09:53
but it doubt its the GPU cores that cause it
09:53
other tripple A titles dont do it and they use like 5 times the energy ddnet uses on my GPU 😄
Avatar
Avatar
Jupstar ✪
i also dont know what component directly causes it
I always assumed that the power delivery is the culprit. rendering a DDnet frame (with no cap) should be very fast, so I guess the power consumption rapidly jumps multiple thousand times per second (but that's just a game theory) (edited)
Avatar
yeah quite possible and reasonable
Avatar
I am going to play around with Vulkan today. Maybe I can write a MIDI player that works with coil whine
Avatar
sounds good, play teeworlds background music
09:56
in high pitch
Avatar
who needs a soundcard if u have a GPU
Avatar
im making a skin renderer in rust and noticed something in tee.js: ctx.drawImage(skin,192,64,64,32,10,33,60,30); //back feet shadow ctx.drawImage(skin,192,32,64,32,8,32,64,32); //back feet ctx.drawImage(skin,96,0,96,96,16,0,64,64); //body shadow ctx.drawImage(skin,0,0,96,96,16,0,64,64); //body ctx.drawImage(skin,192,64,64,32,26,33,60,30); //front feet shadow ctx.drawImage(skin,192,32,64,32,24,32,64,32); //front feet ctx.drawImage(skin,64,96,32,32,36,14,24,24); //left eye
09:58
all the sahdows should be drawn before anything else
09:59
feet, body shadow should come before right? xd
09:59
my result so far xd
09:59
this is from tee.js
10:00
u can notice its dark on the top side of feet
10:00
this is ingame (edited)
10:01
it also does an unnecesary scaling of the feet shadow (on tee.js)
10:02
@Jupstar ✪ do u know what filtering method is used when scaling?
10:02
gaussian?
10:02
xd
Avatar
Avatar
Ryozuki
@Jupstar ✪ do u know what filtering method is used when scaling?
what kind of scaling?
10:07
u mean when the GPU fetches the pixels?
10:07
or when u resize an image
10:07
i never really looked into tee.js
Avatar
@Jupstar ✪ the tee body on default.png is bigger than whats rendered ingame
10:08
what is the scaling filtering method used
10:08
xd
Avatar
ah thats done on GPU so in ddnet its simply tri linear filtering
10:09
10:09
what do u think is the best
10:09
idk xd
Avatar
i mean all under cubic(trilinear) are better
10:09
higher quality
10:09
i'd use them
Avatar
ok they all have their advantages it seems... i mean thats always the case
10:11
i'd say just test it out
10:12
10:12
xd
10:13
sinc and lanczos look good imo xd
Avatar
use FSR troll
Avatar
use ai upscaling to native resolution
10:28
trying to get the eyes right
10:28
@Jupstar ✪ do u know what values direction.x has?
10:28
its a float
Avatar
its a normalized value
10:29
so if its 1, y is 0
Avatar
if x is 1 it means ->
10:29
?
Avatar
yes
10:30
tho im not sure about y
10:30
i think teeworlds goes down if y increases
10:30
but honestly doesnt matter for your purpose xd
10:34
xd
Avatar
+-
10:35
xd
Avatar
Avatar
Ryozuki
@Jupstar ✪ do u know what values direction.x has?
this document should have all the relevant values for tee rendering
Avatar
ez
10:36
@Patiga what is webgpu doing xd
Avatar
Avatar
Patiga
this document should have all the relevant values for tee rendering
maybe we can add this to the wiki
10:37
xd
10:37
honestly its rly hard to figure out the tee rendering code
Avatar
Avatar
Jupstar ✪
@Patiga what is webgpu doing xd
have a complete map viewer without the mipmapping. currently trying to set it up to run with opengl, wanna do the first release after :)
Avatar
nice
10:38
mipmapping in vulkan is rather hard
10:38
i dunno if webgpu splits the idea of vulkan and opengl
10:38
or if it allows both
Avatar
in vulkan you at least have blit, in webgpu you don't even have that ;(
Avatar
oh yeah
10:38
that sucks
Avatar
there is a mipmapping example you can try to copy over that uses a compute shader, however I didn't have the motivation yet. in the future I think they wanna have either blit or automatic mipmapping
Avatar
i mean shaders can even improve it, but your texture needs to be set as render target, i dunno if this is more unlikely to be supported by all GPUs
Avatar
@Patiga what does 4/64 up exactly mean?
Avatar
64 is the body size
Avatar
and up?
Avatar
uh, up in space? along the y-axis
Avatar
ah yeah
10:43
body is always a bit higher than the rendering coordinates
10:43
yeah tee rendering is a bit unintuitive, lot of random values xd
10:44
and 0.7 didnt fix it T_T
10:44
we stuck with it forever
10:45
it always bothered me that when I zoom in the tee looks off-center
10:45
wouldn't it just look more correct (at least to a new player), if we move the tee body to the center, along with everything else
Avatar
it would break all skins
Avatar
ah then the feet might seem too low?
Avatar
yeah the body is in the ground then
Avatar
it could have been fixed by fixing the textures
10:46
make better rules on how a tee is built in general
Avatar
welp, I guess we are doomed
Avatar
defs
10:48
but at this point any change would probs look weird to most ppl anyway
10:49
0.7 eyes are also weird xD
Avatar
i still dont understand it
10:49
xd
10:49
feet: 10/64 down 7/64 left/right
10:49
down from what?
Avatar
imagine you have a rendering coordinate
10:49
thats the mid of a body
10:51
you put all the different parts into space, with their center point on the same spot, and move everything according to those values
Avatar
If I want to wait 1 sec. I should count up to GameTicksSpeed? It seems that I have to wait 15*GameTicksSpeed
Avatar
Maybe it's related with fps?
Avatar
gametickspeed is correct, if you also use tick
12:05
if u want to wait client side use time_get_microseconds
12:05
or time_get() and time_freq
Avatar
i still couldnt tell how to use that text
12:49
so im trying by myself
12:49
but the eye is still weird
12:50
Avatar
xd
12:50
do u understand what he meant when he said all quads share the same center?
Avatar
Avatar
Jupstar ✪
do u understand what he meant when he said all quads share the same center?
i tried it
12:53
but 10/64 down
12:53
idk from the center, its plain wrong
Avatar
imagine u have a quad
12:54
it goes -0.5 in left and top and +0.5 in right and down
12:54
then u have a quad with center 0,0
Avatar
ah im working with pixels directly
Avatar
ok but thats how u have to imagine it
12:54
all eyes etc are individual quads
12:55
and all share the same center at start
Avatar
so 10/64 means the value of the division right
12:55
ok i guess ill have to work with opengl coords
Avatar
yeah, the body quad u can imagine as 64 pixels
12:56
so if that is the case u move 10/64 pixels
Avatar
all quad coords are from their centers right?
Avatar
yes
Avatar
Avatar
Jupstar ✪
so if that is the case u move 10/64 pixels
(*64) bcs u use 64pixels
12:57
just to be clear
12:57
so basically the ratio as u said
Avatar
getting closer xd
Avatar
why doesn't the tee hide the old hookthrough entity?
Avatar
Avatar
Rockus
why doesn't the tee hide the old hookthrough entity?
this only depends on how the mapper put the game layers
13:28
if the front layer is before the game layer it should also be rendered first
Avatar
ahhh, i see. thanks
13:31
@Jupstar ✪ i updated the js script
13:31
i think this looks way better
13:31
13:31
than this old one
Avatar
yeah much better
Avatar
nice one
Avatar
eyes are still too small right?
13:43
@Jupstar ✪
13:43
now?
13:43
xd
Avatar
just any value that is not divisible by 8 is wrong
Avatar
it doesnt matter tho cuz its just a web render
13:43
im just trying values randomly xd
Avatar
xd
13:44
look pretty much like ingame now, but need to see when its finished
13:44
but defs much better than the old one
Avatar
wdym when its finished
Avatar
when its online
Avatar
@Jupstar ✪ merge it
13:44
so we see it
13:44
PepeA
13:45
i think the web updates auto
13:45
better than this for sure
13:45
YEPJAM
Avatar
xd
Avatar
so is there anything super specific that i need to account for when making a grayscale tee that's easy for recoloring? i tried to make an alternate glow_cammo skin for PlantKnight, but even if the colors seem to be identical, the coloring completely changes
14:14
Needs https://github.com/ddnet/ddnet-scripts/pull/37 It uses flexbox so that the map releases page doesnt look bad on mobile devices and improves responsiveness.
Avatar
i hecking love the ddnet.tw web source code
14:14
fuckyousnail
Avatar
@Ryozuki why the d
14:15
is that intendet?
14:15
xd
Avatar
xddd
14:16
i noticed this
14:16
im doing this to fix it
14:16
14:16
power of flexbox
Avatar
ez
Avatar
nothing beats my uniqueclan.net maps page
14:17
14:17
tho
14:17
greenthing
14:17
so clean
14:18
but trying to do this in ddnet.tw is hard cuz everything is a python 2 mess
Avatar
when webview for ddnet client
14:19
+300mbytes
14:23
122575e update tee.js to be more realistic - edg-l 5a12fe4 make eyes bigger - edg-l d981810 Merge pull request #182 from edg-l/pr-fix-teejs - def-
14:26
0d86c97 wrap each map around a div with a css class - edg-l 89c02e9 Merge pull request #37 from edg-l/pr-improve-mapreleases - def-
14:26
77d92ce add flex container, used in map releases - edg-l ef42b78 Merge pull request #183 from edg-l/pr-add-flex-container - def-
14:29
Thanks to c0d3d3v for noticing

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 if it works standalone, system.c especially
  • [ ] 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/ddne...
14:45
when does the web rebuild?
Avatar
ill try to slowly modernize the web
15:02
first step, migrate to python 3
15:02
monkalaugh
15:03
its a bit hard to edit it, cuz i can't reproduce a build of the web locally
15:03
and lots of links are hardlinked to ddnet.tw
15:04
so after porting to python 3 the website should try to be more easier to setup up locally
15:04
thus making dev easier
15:04
PepeA
Avatar
yes pls xd
Avatar
I don't think even deen has a local copy of that site running. Production = master :D
Avatar
@Jupstar ✪ its updated
Avatar
nice, finally not so ugly skins xd
16:11
https://ddnet.tw/map/ back when deen was pro xd
Avatar
he's not anymore?
Avatar
i doubt he still plays does he
16:13
https://ddnet.tw/client/dummyhookfly.mp4 XDD his dynamic camera dead zone
16:14
these videos are really old
16:14
6 years xd
16:14
8 years even
Avatar
i answered on your pr
16:15
not sure if you've seen it
16:15
yet
Avatar
yeah u said u have no time xd
16:15
why u here then xddd
16:16
"Undo function in editor (initial work by MAP94)" lie xdd
Avatar
still running away from work
Avatar
ez
16:16
@Chairn well thanks btw for all the testing
Avatar
i need to find some music to push me to work
Avatar
Avatar
Wohoo
New ddnet feature preview: SMART_PAUSE It unpause if tee is moved when pause/spec. At the moment it is spamming echo 🙂
Should I proceed with smart pause feature commit? Any pro/cons/suggestions?
f3 3
Avatar
Avatar
Wohoo
Should I proceed with smart pause feature commit? Any pro/cons/suggestions?
when do you think it is useful btw? how about adding a new chat command instead of config /spause or smth
16:51
i'd say /spec sounds more useful, then nobody can touch u, if thats what u fear
Avatar
spec is not allowed on many maps though
16:51
smart pause would be a solution to that
16:51
map has no /spec -> turn on smart pause
Avatar
could just fix /spec to not allow spawn inside another tee, then u can enable it on all maps
Avatar
Yeah, people become tired to wait if they fail and go spect other teams
Avatar
(create exception for the 5 maps that need old behavior ofc)
Avatar
Avatar
bencie
map has no /spec -> turn on smart pause
i dont even have a pause bind xD
Avatar
On server side we could add a check that need enough space before unspec. There are a lot of collision helper functions
Avatar
on a second thought, that would allow trolls to block u from going out of spec
16:54
also annoying
Avatar
Avatar
Jupstar ✪
on a second thought, that would allow trolls to block u from going out of spec
its optional
16:56
so you can turn it on only in your team
16:56
while your newschool bud tries to do solo part
Avatar
Avatar
gerdoe
its optional
i meant it relating to spec not allowing u if there is someone standing inside u
Avatar
it also affects /spec?
Avatar
no
16:56
just read convo xd
16:57
convo + your thoughts xd
Avatar
Avatar
Jupstar ✪
could just fix /spec to not allow spawn inside another tee, then u can enable it on all maps
from here
Avatar
why not allow people to stand inside eachother using /spec?
Avatar
lmao
16:58
just read the convo
Avatar
Avatar
bencie
spec is not allowed on many maps though
here
16:59
then i said maybe we can fix /spec
16:59
and then i said
16:59
ah wait, there is a problem with trolls xD
Avatar
Avatar
bencie
why not allow people to stand inside eachother using /spec?
but generally, i dunno if you new to teeworlds, shotgun bug and collision bugs
Avatar
if that was an actual issue then why don't cheatable maps have spec disabled already (edited)
17:00
for example Unbalanced
Avatar
bcs map testers are potatos? i dunno
17:02
why not always protect spawn so there is never a startline skip
Avatar
Avatar
bencie
if that was an actual issue then why don't cheatable maps have spec disabled already (edited)
cuz fun
Avatar
bcs someone apparently likes creating cheats xd
17:03
and now we have weird work arounds that tell you to start or you cannot finish the map xd
Avatar
Avatar
bencie
if that was an actual issue then why don't cheatable maps have spec disabled already (edited)
a lot do
Avatar
Avatar
Jupstar ✪
on a second thought, that would allow trolls to block u from going out of spec
not only trolls. Can also be that he is afk or timeout, and some are under him in /spec can then no longer get out of spec.
17:21
but in that case you could also vote him in spec
Avatar
Avatar
bencie
for example Unbalanced
Not sure how old that map is. But removing spec influence top ranks, because of strong weak changing position
17:22
Can't disable when it is enabled for long
Avatar
top ranks are all skipped (edited)
17:23
Avatar
Well you could decide to change it but we had lots of discussions about this and the conclusion was you cannot change skips like these if it is used already a lot
Avatar
at least map name checks out
Avatar
Avatar
n000b
Well you could decide to change it but we had lots of discussions about this and the conclusion was you cannot change skips like these if it is used already a lot
yeah of course, it's really hard to get a middleground in a sitatuon like this. fixing /spec would make some maps uncheatable, and then you'd have to remove every skipped rank that used /spec
17:26
or else it'd be unfair
17:27
Unbalanced absolutely uses /spec, so if you don't remove these ranks, then noone else can cheat the map anymore which would be an unfair advantage to the current finishers
Avatar
We don't remove ranks except if it is cheated or we remove a critical skip (one u dont need skills for).
17:28
Besides it is difficult to touch these ranks. Because the players in the current top5 won't like this idea now.
Avatar
I talk like i am still a moderator lolpepeH
Avatar
Avatar
n000b
I talk like i am still a moderator lolpepeH
U will remain one forever in our hearts catKiss
WidePeepoHappySparklingHeart 2
Avatar
@Jupstar ✪ Should we wait for someone to test https://github.com/ddnet/ddnet/pull/4907 before 16.0 release?
fixes #4891 @Chairn can you test if this is enough. Also I'd like to open an issue on SDL2. So some minor questions: Is libvulkan1.so installed on your system? What does vulkaninfo | grep drive...
Avatar
I guess it would be safer to do so yeah
18:17
751a828 Fix team not started message (fixes #4884) - def- 88a1e09 Merge #4908 - bors[bot]
Avatar
46f2075 Super: Don't send sounds to self - def- 404d9ec Merge #4900 - bors[bot]
Avatar
Fixes #4903
  • I hadn't seen the ShowPlayerTeamTop5 function in the scoreworker in the last pull request, because in the score it has the same name as TeamTop5. A name change was made to make it easier to differentiate the two and fixed it for MySQL 8.0. It is not necessary to make this name change in the tests, since the tests use the scoreworker class directly.
  • Ranking queries showing the duplicated rank were fixed. for this context it is not applicable to use distinct, since t...
22:45
dba7889 Differentiate team top 5 from player team top 5 - srdante 3ee8070 Fix SQL duplicated top and PlayerTeamTop5 - srdante aa65492 Merge #4909 - bors[bot]
Exported 387 message(s)