Guild icon
Teeworlds
discord.gg/teeworlds / development
For discussions around the development of the official Teeworlds
Between 2020-09-01 00:00:00Z and 2020-09-02 00:00:00Z
08:13
e5d592e add gametype exclusion filter by using '-' as p... - Robyt3 0b15ac8 add red background color for exclusive filter, ... - Robyt3 491782e store gametype exclusion flag separately, plus/... - Robyt3 18b768d show positive gametype filters in green - Robyt3 3716077 Merge pull request #2622 from Robyt3/issue2621 - oy
Avatar
610249c improved net address comparism - oy
Avatar
the pull request has been merged! praise be!
08:54
b2e0529 fix various server browser UI issues, refactoring - Robyt3 e9db2ab Merge pull request #2699 from Robyt3/serverBrow... - oy
08:59
So a scrollbar should be locked when moving the handle with the mouse and it shouldn't be possible to activate another one whole doing it. F.e.: right now, when you scroll the server entry detail in the server browser and you reach the area of the scrollbar for the whole list that other one gets activated and scrolls through the list.
Avatar
A full server entry is faded out in the server browser list to make that clear. When you show the server details within the list that one is currently too. That makes it hard to read if you want to check who is on the server. So the corresponding server details should probably be rendered normal even when the server is full.
Avatar
Change vertical scrollbar in menus and in scrollregion to function like the horizontal one. That is, clicking on the rail scrolls to that position immediately and activates scrolling while the mouse button is held, which avoids multiple scrollbars being activated at once. Closes #2700.
Avatar
I love this guy. Issues are opened and issues are solved within a matter of hours
Avatar
god bless the code wizards
Avatar
Notable changes:
  • Use fixed square size per font size for font texture instead of using font metrics
  • Removes ClFontfile in favour of a json index
  • Added a Source Han Sans as the fallback font
  • Fonts are loaded as OpenType Collection by default.
  • Fonts are referenced by font family names instead of filenames. (see datasrc/fonts/index.json)
Fallback:
  • Font fallbacks are defined in three stages and checked in the following order:
1. A default font (Deja Vu) 2. A regiona...
Avatar
question well the devs ever make an option to convert the demo files to mp3 or mp4?
Avatar
doubt it
Avatar
there's a successful implementation of this in ddnet
Avatar
are there any other solvable road block for vanilla CJK support other than the rendering stutter?
Avatar
question well the devs ever make an option to convert the demo files to mp3 or mp4?
sounds like a lot of work to me, there should be other priorities imho
Avatar
@TsFreddie if you want to address the rendering stutter you can also look in the ddnet code, it uses a simple and efficient algorithm to pack the glyphs more tightly
Avatar
I saw that already.
17:04
the performance bottleneck is mostly caused by texture resizing and linear character finding
17:06
the tightly packed atlas mostly saves vram, i will try implement something similar, but doing it in vanilla standard might be difficult
Avatar
the problem with the current implementation is, that it will recreate the texture as soon as the char limit for the texture is reached and with CJK that happens very often
Avatar
I still need to test the vram usage on the ddnet version tho. their atlas can grow indefinitely. i don't know if they already tried to dump all CJK glyphs onto a single texture.
Avatar
within one frame
17:08
but it can be saved a little bit if we can do texture to texture copy
Avatar
there are already slightly noticeable lags when loading latin glyphs iirc
Avatar
well 2048x2048 is already alot of space
17:08
17:08
this is "just" 1024x1024
17:08
that looks good
17:09
i'll try it
17:09
beagr is there a tool for dumping texture in vanilla
Avatar
there isn't one in ddnet either, jupeyy is prolly using a debugger
Avatar
that make sense
Avatar
yeah i use renderdoc, but it only works with opengl 3.2+
Avatar
how do you dump the textures? ^^
Avatar
oops.
Avatar
atleast on linux
17:10
dunno if their windows impl is better
Avatar
guess i'll try to save a ram copy and dump that
Avatar
RenderDoc is enough reason to move to gl 3.3
Avatar
i do hope for shader supports tho
17:11
oh right if ddnet already has shaders
17:11
someone should try SDF/MSDF
Avatar
MSDF requires a bitmap font
Avatar
well opengl 2.0 already has "good" shaders, i just don't really like the API with these old shaders, but im also not very used to it
Avatar
can't you generate that on the spot?
Avatar
would work amazing for latin
Avatar
ddnet will use shaders even for 2.1 now
Avatar
i thought the freetype is just generating a bitmap texture
Avatar
Vanilla will probably never move away from the fixed pipeline. Even ddnet had a bit of trouble and we accepted a lot of breakage
Avatar
You can generate the msdf data from freetype. It's just kinda slow, so you need some sort of caching
Avatar
Vanilla isn't that accepting to breaking changes
Avatar
well it accepted the GL_GENERATE_MIPMAPS
17:13
that basically already breaks compability with opengl 1.x
Avatar
Did you scam oy into merging that?
Avatar
in the end fixed fucntion pipeline is also just a shader, i read somewhere on khronos that no gpu from 2000+ doesnt use shaders internally πŸ˜„
Avatar
Right now sdl2 creates a gl 2.x context anyway?
Avatar
yeah it creates 2.1 default
Avatar
@Deleted User yeah it's implemented in that way on any modern gpu anyway
Avatar
Then drop 1.x support and use shaders even for 2.x
Avatar
with GLEW you can easly see that some GPUs ddnet users are using really don't have the API for opengl 2.x
17:14
thats quite funny πŸ˜„
Avatar
@redix that's illegal, how will we run it on a toaster?
Avatar
Get a new toaster :D
Avatar
should we open a issue asking dropping gl1
17:15
EeveeShy
Avatar
How dare you suggest that?
Avatar
actually its already dropped @TsFreddie
17:16
the GL 1.x users will see white textures probably
Avatar
then drop further and add gl2 stuff on top of lol
Avatar
@Deleted User we should keep it like this on the off chance that someone patches it to request gl1
Avatar
if they don't have some NVIDIA card that just ignores every GL version xD
Avatar
0.7 cannot create a 1.x context right now anyway...
Avatar
yeah
Avatar
We should move all the way to gl3.3
Avatar
i mean look at my fallback code in ddnet
Avatar
its soooo much and we still found a user with a broken driver xD
Avatar
maybe formulate a little bit what needs to be done in an issue can push it at least a little bit
17:17
a little bit of a little bit
Avatar
yeah vulkan ez pz
Avatar
Doing it with webgpu works kinda well :D
Avatar
I rendered a pyramid in vulkan a couple days ago
17:18
Only took a thousand or so lines
Avatar
vulkan is the c++11 for GPUs
17:18
xD
Avatar
Nah it's way too low level for most stuff. You definitely want some higher level wrapper around it.
Avatar
Modern C++ isn't that verbose
Avatar
EeveeShy cg programmers are so cool
Avatar
vulkan is like one step above assembly
Avatar
i wish i can be cool too
Avatar
Using C without any libraries at all
Avatar
but c++11 added alot of useful stuff aligned memory threads
17:20
thats also stuff thats kinda low level
Avatar
also first version with a memory model
Avatar
yeah
Avatar
I'll be using C++ a lot more when we finally get C++20
Avatar
won't you be waiting for c++29 by then?
Avatar
It fixes so many things that annoy me about metaprogramming
Avatar
habit is such a bitch
Avatar
I think oy also codes like that
17:22
ah, you mean the { not the ++
Avatar
i think @Deleted User also codes like this
17:22
even with the { xD
Avatar
++i is the work of the devil, in places that don't matter you should always use i++
Avatar
i dunno i kinda like it
Avatar
++i is the work of the devil, in places that don't matter you should always use i++
@Learath2 oh, i'll change tho too
Avatar
without optimization it doesnt create a copy
Avatar
wait should i
17:24
but i assume nobody compiles without optimization
Avatar
hehe
Avatar
It doesn't matter at all πŸ˜„ I just don't like it
Avatar
maybe some plain programmers
Avatar
optimizing for the nonoptimized build sounds not worth it
Avatar
well i'll keep it if nobody screams in my face
Avatar
i++ is ζ Όε₯½γ„い, ++i is 不味い
Avatar
whats so special about adding them behind.. i acutally use both
17:25
c++
17:25
++c
Avatar
think about it
Avatar
It looks cute
Avatar
ok my next pr will feature i += 1
Avatar
i -=- 1
Avatar
I'll have you arrested
Avatar
that almost looks like a smiley xD
17:26
my reaction to that code exactly
Avatar
teeworlds should probably get a .clang-format
17:29
so should ddnet
Avatar
wörk wörk
17:30
you doing it @Learath2? πŸ˜›
Avatar
oh right. does anyone want to make a icon font?
17:33
watermeron
Avatar
Clang format would mean reformatting the whole code =\ Seems like it requires spaces between operators
Avatar
don't think it's worth breaking the diff tools
Avatar
it would be helpful for new contributors (and old ones alike, juding by this chat)
17:43
no longer worrying about wrongly formatting the code
17:47
wuhmm I like clang-format as well
Avatar
@Dune most diff tools have an "ignore whitespace" including github
18:04
and as said, at the very least we can apply it to new contributions
Avatar
man, every time i wrote anything in tw i feel like i'm so useless without any libs
Avatar
just forget that libs exist 5head
Avatar
not gonna change the fact that i'm useless
Avatar
Low level programming is interesting too
Avatar
one more question, why is the header for textrender is textrender.h while the implementation is just text.cpp
Exported 160 message(s)