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 10/15/2023 12:00AM and 10/16/2023 12:00AM
Avatar
i got an espresso machine yesterday
9:48AM
im up at 4 now
Avatar
Reported by Draggory on Discord. Race demo file: Zenith_324.860_Draggory.zip The demo length is correctly shown in the browser, so the demo file was properly closed. But when playing it the progress bar goes to the left and the total length is zero. There seem to be invalid demo chunks with invalid ticks in the middle of the demo, which causes the wrong end tick to be calculated. The end tick is smaller than...
11:18AM
gross link watermarks
Avatar
Jupstar ✪ 10/15/2023 11:28AM
sdl?
11:30AM
sdl
11:30AM
the sequel
Avatar
Jupstar ✪ 10/15/2023 11:30AM
?
11:30AM
sdl = sdl2 library?
Avatar
yes lmfao
Avatar
Jupstar ✪ 10/15/2023 11:32AM
yeah sry but u give 0 information so i assume you mean the SDL renderer?
11:32AM
what blend mode do you use?
Avatar
blend mode
11:33AM
sdl renderer or surface irrrelevant
Avatar
Jupstar ✪ 10/15/2023 11:34AM
so which blend mode is blend mode?
11:34AM
one minus alpha?
Avatar
SDL_BLENDMODE_BLEND
Avatar
Jupstar ✪ 10/15/2023 11:34AM
so one minus alpha
Avatar
looks like the mask is alpha premutliplied and shouldnt be
👁️ 1
Avatar
Jupstar ✪ 10/15/2023 11:37AM
i guess SDL_BLENDMODE_ADD is the one that emulates that then
Avatar
Jupstar ✪ 10/15/2023 11:37AM
or SDL_BLENDMODE_MOD
11:37AM
if u premultiply your own vertex color
Avatar
try all the blend modes until it works
Avatar
i did already
11:38AM
they are all not proper
Avatar
Jupstar ✪ 10/15/2023 11:38AM
if u get your request right: u want to have the alpha values of texture1 be multiplied with the text that u add
Avatar
remade surf and specified rgba32 non premultiplied and still wacky
Avatar
Jupstar ✪ 10/15/2023 11:39AM
u have to do that in one render call
11:39AM
not in 2
Avatar
what render call
Avatar
Jupstar ✪ 10/15/2023 11:43AM
let's get the thing right first: you want the second text to be partially transparent at the outer edges right? and texture1 defines how much transparent it should be
Avatar
Jupstar ✪ 10/15/2023 11:43AM
tbh i don't know if u can do smth like that with the SDL renderer
11:43AM
it seems very primitive
11:44AM
u'd need to sample over texture 1 and multiple the alpha of this texture with the vertices that you render, when you create the second text
Avatar
i just want to blend the gradient texture over top of the source texture using a normal blending mode
11:44AM
but i think there is a problem with their math since doing that creates dark spots near the middle
11:45AM
it should be pretty simple
Avatar
Jupstar ✪ 10/15/2023 11:45AM
no, that looks correct to me tbh
11:45AM
it's not really trivial imo
Avatar
fwiw black is just for show
11:45AM
when drawing the gradient im actually using transparent
Avatar
Jupstar ✪ 10/15/2023 11:45AM
yeah but you need the information of that texture in a different render call
Avatar
im using surfaces
Avatar
Jupstar ✪ 10/15/2023 11:45AM
render call = i want to draw these vertices
Avatar
yea we are not in gpu world rn
Avatar
Avatar
Ewan
im using surfaces
Jupstar ✪ 10/15/2023 11:46AM
let me read what they are in sdl2 renderer
11:46AM
sdl2 renderer is gpu
11:46AM
used with textures
11:46AM
surfaces is cpu rendering
11:46AM
texture = hardware backed surface
11:47AM
well it's more abstract
11:47AM
but using the accelerated init
11:47AM
that's what it is
Avatar
Jupstar ✪ 10/15/2023 11:47AM
ah so you have full control over all pixels?
11:47AM
i don't wanna do it myself but i could
Avatar
Jupstar ✪ 10/15/2023 11:47AM
i guess u have to do it your own then
Avatar
i just wonder why their math is weird
11:47AM
shouldn't be hard u know
Avatar
Jupstar ✪ 10/15/2023 11:48AM
so u simply want to overwrite the pixels instead of making them transparent
11:48AM
well that's one solution yes
11:48AM
it's like they're using color key internally or smthm
11:48AM
instead of mathing on the alphas
Avatar
Jupstar ✪ 10/15/2023 11:49AM
well one minus source alpha is your blend mode
11:49AM
what you want, but they don't offer, is using the dst alpha value
11:49AM
the alpha values written by texture 1
Avatar
that is so ass
11:51AM
u can do custom blending modes
11:51AM
i guess ill check that out
11:53AM
SDL_ComposeCustomBlendMode(SDL_BLENDFACTOR_ONE, SDL_BLENDFACTOR_DST_ALPHA, SDL_BLENDOPERATION_ADD, SDL_BLENDFACTOR_ONE, SDL_BLENDFACTOR_DST_ALPHA, SDL_BLENDOPERATION_ADD); ugg
Avatar
it should work as you expect with alpha blending and a properly generated mask. I bet your issue is the mask
Avatar
tried mask and it didn't help
Avatar
by mask I mean the texture2 that has the gradient
Avatar
you think that im making the gradient wrong?
Avatar
Jupstar ✪ 10/15/2023 11:55AM
i dont think this renderer has support for multiple texture sampling
11:56AM
so u cannot really mask it
11:56AM
as u imagine it
Avatar
I bet it is a gradient from rgba(0,0,0,0) to rgba(0,0,255,255) which is not what you want
11:56AM
you want rgba(0,0,255,0) to rgba(0,0,255,255)
11:56AM
which is not-premultiplied alpha
Avatar
im not doing color blending only alpha,
11:56AM
from blue to transparent
11:57AM
void RenderLinearGradient(SDL_Surface *surf, const SDL_Rect *rect, const SDL_Color *color1, const SDL_Color *color2, bool orientation) { SDL_Rect walking_rect = SDL_Rect(*rect); auto *offset = orientation ? &walking_rect.x : &walking_rect.y; auto *pos = orientation ? &walking_rect.w : &walking_rect.h; auto starting_offset = *offset; auto starting_pos = *pos; *pos = 1; for (; *offset < starting_offset + starting_pos; (*offset)++) { float fraction = (float(*offset - starting_offset) / float(starting_pos)); SDL_FillRect(surf, &walking_rect, Interpolate(surf->format, color2, color1, fraction)); } }
Avatar
define "transparent" htats the issue
Avatar
this my fn
11:57AM
0,0,0,0
Avatar
try blue with alpha 0
11:57AM
0,0,1,0 or smth
Avatar
Jupstar ✪ 10/15/2023 11:58AM
@k2d222 what you want is render text1 render text2 put gradient over text2?
Avatar
Avatar
Jupstar ✪
so u cannot really mask it
yes it's not really mask it's overlay (edited)
Avatar
Jupstar ✪ 10/15/2023 11:59AM
or text generally
11:59AM
if that's all the same text
Avatar
cal them surfs ur hurting my brain
11:59AM
im like what text and then i remember u speak of texture
11:59AM
xd
Avatar
Jupstar ✪ 10/15/2023 11:59AM
no
11:59AM
i mean text this time
Avatar
it's a bit wierd to call it surface, that generally refers to smth else (edited)
Avatar
not in 2d
Avatar
Jupstar ✪ 10/15/2023 12:00PM
@Ewan before applying the gradient do u render the text in one go?
Avatar
Jupstar ✪ 10/15/2023 12:00PM
ok
Avatar
here's it with transparent blue btw
Avatar
Jupstar ✪ 10/15/2023 12:00PM
ok
Avatar
what i expected
Avatar
Jupstar ✪ 10/15/2023 12:00PM
and then u want to put the gradient over it
Avatar
Jupstar ✪ 10/15/2023 12:01PM
ok
12:02PM
so basically what u actually want is render the text on a seperate texture, that has no background color
12:02PM
bcs one problem is that the background color is used during blending too
12:02PM
which makes everything darker not only the text
12:02PM
or
12:03PM
u want a pure alpha texture. and use blue manually
Avatar
Jupstar ✪ 10/15/2023 12:04PM
ok or let's do it differently
12:04PM
why is this black in first place?
Avatar
Avatar
Ewan
fwiw black is just for show
~
Avatar
Jupstar ✪ 10/15/2023 12:04PM
did u do that manually by hand?
12:04PM
or how should i understand that
Avatar
i replaced the transparent in my gradient fn invoc w black
12:05PM
but it looks identical when i just turn off blending
Avatar
Jupstar ✪ 10/15/2023 12:05PM
ok
12:05PM
but that sounds wrong to me already. it should be white
Avatar
when using 0,0,0,0?
Avatar
Jupstar ✪ 10/15/2023 12:06PM
ok tbf it depends on the blend mode
12:06PM
can u just post the gradient here?
12:07PM
the texture for it
Avatar
it's dynamically generated
12:07PM
i'd have to dump
Avatar
Jupstar ✪ 10/15/2023 12:07PM
i c
Avatar
Avatar
Ewan
shouldn't be hard u know
this is recreated
12:07PM
with same math
Avatar
Avatar
Ewan
shouldn't be hard u know
Jupstar ✪ 10/15/2023 12:08PM
yeah, so u don't aim to make text transparent
12:08PM
but simply overwrite it
12:08PM
oh wow sorry i didn't realize that's what u were asking
12:08PM
that's also a pretty good idea
Avatar
Jupstar ✪ 10/15/2023 12:08PM
it's ok. i was very confused here too
Avatar
then bg can be whatever and not be a color
Avatar
Avatar
Ewan
that's also a pretty good idea
Jupstar ✪ 10/15/2023 12:08PM
no, for this renderer your approach is better
Avatar
maybe faster and easier
12:09PM
but not better
12:09PM
if i want to have transparency effects in the ui like i usually do
Avatar
Jupstar ✪ 10/15/2023 12:09PM
my approach requires to sample from 2 textures at once
12:09PM
from the text-texture and the gradient-texture
12:09PM
that's the problem
12:09PM
i dunno if u can do it without shaders 😄
12:09PM
ok i mean u can do anything
12:09PM
since it's on the CPU
Avatar
SDL_ComposeCustomBlendMode lets you use source and destination
12:10PM
src color mode, src alpha mode, src blend op, dst color mode, dst alpha mode, dst blend op
Avatar
that's my understanding is it correct?
Avatar
sorta but no borders on gradient
12:10PM
just the inner
Avatar
Avatar
k2d222
that's my understanding is it correct?
Jupstar ✪ 10/15/2023 12:11PM
mh then normal blending should work indeed
12:11PM
so why black
12:11PM
>_>
Avatar
Jupstar ✪ 10/15/2023 12:11PM
but
12:11PM
to be sure, dump the gradient
Avatar
Jupstar ✪ 10/15/2023 12:11PM
that's the only way to be sure
Avatar
time to import sdl2_image
12:11PM
pepeW
Avatar
Jupstar ✪ 10/15/2023 12:11PM
all your stuff does not happen on the GPU?
Avatar
all cpu
Avatar
Jupstar ✪ 10/15/2023 12:11PM
would be much easier XD
Avatar
not really for arbitrary rendering
Avatar
Jupstar ✪ 10/15/2023 12:12PM
well at least not without shaders 😂
12:12PM
lmfao
12:13PM
oh my GOD i don't even have it
Avatar
sample a few valuess along the x axis should be sufficient
Avatar
no it's rly 2 fn calls and i already have the thing set up now
12:15PM
thanks msys
12:17PM
12:17PM
there
12:17PM
dumped
Avatar
Jupstar ✪ 10/15/2023 12:17PM
yeah ok
12:18PM
you were right from the start then i guess
Avatar
i hate it when i'm right
pepeW 1
Avatar
Avatar
Ewan
i hate it when i'm right
Jupstar ✪ 10/15/2023 12:20PM
what u could try is dumping before gradient and after
Avatar
i blit that right on top of this
Avatar
Jupstar ✪ 10/15/2023 12:20PM
i could imagine one reason why it's wrong
12:21PM
u overwriting the final alpha values with values close to 0 and at some point it uses that texture to render it to the screen
Avatar
unfortunately i don't think that's possible cuz the gradient texture gets blitted to the button + the button gets blitted directly to the window's surface
12:22PM
that's the only alpha stuff happening
12:22PM
and i'm only touching the values in the gradient fn
Avatar
Avatar
Ewan
Click to see attachment 🖼️
I insist that the img has the issue of premult alpha, and that produces the black result that you have as expected. the region with alpha = 0 must have the correct rgb values.
Avatar
where would this premultiplication be happening
12:22PM
my interpolation fn is unbiased
12:22PM
uint32_t Interpolate(SDL_PixelFormat *format, const SDL_Color *color1, const SDL_Color *color2, float fraction) { return SDL_MapRGBA(format, static_cast<uint8_t>((color1->r - color2->r) * fraction + color2->r), static_cast<uint8_t>((color1->g - color2->g) * fraction + color2->g), static_cast<uint8_t>((color1->b - color2->b) * fraction + color2->b), static_cast<uint8_t>((color1->a - color2->a) * fraction + color2->a)); }
Avatar
Avatar
k2d222
I insist that the img has the issue of premult alpha, and that produces the black result that you have as expected. the region with alpha = 0 must have the correct rgb values.
Jupstar ✪ 10/15/2023 12:22PM
i mean it would make sense, but i wonder when this multiplication should happen
12:23PM
do you have experience with sdl2 renderer?
Avatar
https://wiki.libsdl.org/SDL2/SDL_BlendMode > the described blend mode function indicates that it expects non-premult alpha
Avatar
Jupstar ✪ 10/15/2023 12:23PM
yes
12:24PM
but like, he dumped the texture
Avatar
yet the image gradiend dumped has premult alpha
Avatar
that might be png encoder
Avatar
i mean, "premult alpha" not really, it's just a normal gradient from opaque blue to black transparent
Avatar
Avatar
k2d222
yet the image gradiend dumped has premult alpha
Jupstar ✪ 10/15/2023 12:25PM
to me the color looks right
12:25PM
in gimp
12:26PM
@Ewan can u write to the pixels directly?
Avatar
how low level
Avatar
Jupstar ✪ 10/15/2023 12:26PM
like set all alpha to 1 after your whole calculation
12:26PM
of the surface
Avatar
Avatar
Jupstar ✪
to me the color looks right
12:27PM
top=ewan btm=me
Avatar
it does fade to black
Avatar
Avatar
k2d222
Click to see attachment 🖼️
Jupstar ✪ 10/15/2023 12:27PM
ah i see
Avatar
Avatar
Jupstar ✪
like set all alpha to 1 after your whole calculation
i could but that's exactly how it displays with alpha blending off
12:27PM
i will try blending opaque blue to transparent blue
Avatar
Jupstar ✪ 10/15/2023 12:27PM
@k2d222 is right actually
12:27PM
Avatar
i mean gradienting
12:27PM
u know
Avatar
Avatar
Jupstar ✪
Click to see attachment 🖼️
i mean yea that's what im doing
12:28PM
0,0,0,0 (edited)
Avatar
Jupstar ✪ 10/15/2023 12:28PM
yeah but i disabled alpha layer
12:28PM
ah yeah
Avatar
Avatar
Ewan
0,0,0,0 (edited)
Jupstar ✪ 10/15/2023 12:28PM
can u simply use the blue all the time
12:28PM
only make alpha go 0
Avatar
it does work but it's not desirable
Avatar
Jupstar ✪ 10/15/2023 12:28PM
u dont want any color gradiation
Avatar
Avatar
Ewan
it does work but it's not desirable
Jupstar ✪ 10/15/2023 12:29PM
what do you dislike about it?
Avatar
Avatar
Ewan
it does work but it's not desirable
what is that not what u want??
Avatar
i am just wondering how it is that pdn can create the exact correct gradient from scratch when i use 0,0,0,0 as the second color
12:30PM
but now that i look at my mockup gradient i see that it's the same blue and all that changes is the alpha. so pdn must be doing something 'smart' under the hood and changing my black transparent to something more appropriate
12:30PM
cool i guess
12:30PM
since that's what i was comparing it against i thought black was not the issue
Avatar
Avatar
Ewan
but now that i look at my mockup gradient i see that it's the same blue and all that changes is the alpha. so pdn must be doing something 'smart' under the hood and changing my black transparent to something more appropriate
it does exist yes
12:31PM
some programs do that
Avatar
would have been nice to know 30 mins ago
12:31PM
damn
Avatar
they un-premultiply alpha and copy neighbor alpha in pixels that have alpha=0
12:32PM
it's a bit hacky but allows correct antialiasing at opaque-alpha edges in some cases
12:32PM
quite hacky
12:32PM
definitely not expected
Avatar
unity does that iirc
12:33PM
what is pdn?
Avatar
paint.net
😮 1
Avatar
Avatar
k2d222
they un-premultiply alpha and copy neighbor alpha in pixels that have alpha=0
Jupstar ✪ 10/15/2023 12:34PM
why do they do this? do they dislike loosing color values?
12:35PM
how does that even help restore the original color if alpha = 0
Avatar
to avoid interpolation artefacts at sharp opaque->transparent edges, but I think that was in fact not what was happening for @Ewan
Avatar
it’s the gradient tool, it may just be for this exact scenario
Avatar
Avatar
Jupstar ✪
why do they do this? do they dislike loosing color values?
I read about it recently leme see if i find the article for you
Avatar
Avatar
k2d222
to avoid interpolation artefacts at sharp opaque->transparent edges, but I think that was in fact not what was happening for @Ewan
Jupstar ✪ 10/15/2023 12:37PM
ok but do we speak about pre multiplied textures, with a blend mode that is addative?
Avatar
check out my awesome hue interpolation
12:41PM
even tho my rgb interpolation does it just fine
12:41PM
i wanted to try it
12:41PM
it's not high tech enough
Avatar
Avatar
Jupstar ✪
ok but do we speak about pre multiplied textures, with a blend mode that is addative?
heh, apparently I remembered it incorrectly, still good to know about, here's the source https://youtu.be/d6tp43wZqps?si=rUkq6fjBGbiI19G6&t=627
Avatar
Avatar
k2d222
heh, apparently I remembered it incorrectly, still good to know about, here's the source https://youtu.be/d6tp43wZqps?si=rUkq6fjBGbiI19G6&t=627
good video to watch overall btw
Avatar
i like my buttons
Avatar
Avatar
k2d222
heh, apparently I remembered it incorrectly, still good to know about, here's the source https://youtu.be/d6tp43wZqps?si=rUkq6fjBGbiI19G6&t=627
Jupstar ✪ 10/15/2023 12:44PM
ah
12:44PM
ddnet has the same problem btw
12:45PM
in ddnet we call it "dialate"
12:45PM
pre multiplied textures have one obvious problem
Avatar
dilate*
Avatar
loss of precision?
Avatar
Jupstar ✪ 10/15/2023 12:45PM
they remove accuracy if u use them with u8 color components
12:45PM
yes
12:45PM
precision is better word^^
Avatar
Avatar
Ewan
dilate*
Jupstar ✪ 10/15/2023 12:45PM
ty 😄
Avatar
I never know the difference between precision and accuracy, but precision exists in french and not accuracy (edited)
Avatar
same thing
Avatar
Jupstar ✪ 10/15/2023 1:02PM
dump it again
Avatar
Avatar
Ewan
i like my buttons
Jupstar ✪ 10/15/2023 1:02PM
watcha workin on
1:02PM
looks futuristic xd
Avatar
idk im just making stuff
1:04PM
ive been helping this guy do some sdl stuff and he needed a gui
1:04PM
and i always knew a gui in sdl would be very easy to do i just never had to do it
1:04PM
so im doing it
1:04PM
but not for him just for fun
Avatar
ddnet gui system is very logical but not readable in code. It's a nightmare to come back to some gui that you made months ago and try to get what's going on
Avatar
Jupstar ✪ 10/15/2023 1:07PM
ddnet gui system is filling rects xd
Avatar
it's immediate mode nonsense
Avatar
yes. good rects
Avatar
ruthless on the cpu
Avatar
Jupstar ✪ 10/15/2023 1:08PM
egui does similar, but is still nicer to use imo
Avatar
egui sux
1:08PM
qt win
Avatar
immediate is good
Avatar
qt bloat (edited)
Avatar
for a game ui maybe
Avatar
Jupstar ✪ 10/15/2023 1:08PM
yeah
Avatar
Avatar
Teero
qt bloat (edited)
not if it's installed on your system as a shared lib lol
Avatar
Jupstar ✪ 10/15/2023 1:09PM
stuff like React is cleaner imo for GUIs
1:09PM
webb
Avatar
Jupstar ✪ 10/15/2023 1:09PM
i mean the idea
1:09PM
not javascript xd
Avatar
I've never seen a frontend in C++ that isn't a mess
Avatar
Avatar
Teero
I've never seen a frontend in C++ that isn't a mess
Jupstar ✪ 10/15/2023 1:10PM
that is probably bcs they don't give enough shit about performance xd
Avatar
Avatar
Teero
I've never seen a frontend in C++ that isn't a mess
platform native widgets
Avatar
qt is very performant
Avatar
or wxwidgets
Avatar
rly wxwidgets LMFAO
Avatar
no I'm kidding
Avatar
Jupstar ✪ 10/15/2023 1:11PM
c++ is simply no language to write simplistic code in
1:12PM
at least not with the current standard
Avatar
3000 loc for a settings menu xdd
Avatar
Jupstar ✪ 10/15/2023 1:12PM
rust for example is a bit better. bcs of auto moving stuff
Avatar
UIs are very descriptive and cpp is very imperative, xmls et.al are relatively good to describe uis
Avatar
Jupstar ✪ 10/15/2023 1:12PM
but rust is sometimes also too explicit
Avatar
Avatar
Teero
3000 loc for a settings menu xdd
more
Avatar
Jupstar ✪ 10/15/2023 1:13PM
typescript allows annoymous data types etc.
1:13PM
that simplifies code often
Avatar
Avatar
Jupstar ✪
typescript allows annoymous data types etc.
void* justatest
Avatar
Jupstar ✪ 10/15/2023 1:13PM
+ everything is shared pointer basically
Avatar
Avatar
Teero
void* justatest
Jupstar ✪ 10/15/2023 1:13PM
xd
Avatar
Avatar
Teero
void* justatest
i've seen a codebase use std::variant<string+hashmap<variant>+int+float+bool+....> and that was quite clean in fact
Avatar
qvariant
Avatar
Avatar
Ewan
qvariant
oh
Avatar
Avatar
k2d222
i've seen a codebase use std::variant<string+hashmap<variant>+int+float+bool+....> and that was quite clean in fact
Jupstar ✪ 10/15/2023 1:15PM
weren't u shader coder?
1:15PM
or do u also know cpp
Avatar
I know cpp
1:16PM
some of it 🙂
Avatar
every time i do gui in anything but qt i feel like blowing my brains out
1:16PM
nothing make sense like it does
1:16PM
this is why they can charge thousands of dollars for a commercial license
Avatar
Jupstar ✪ 10/15/2023 1:16PM
but why
1:17PM
JSX is the cleanest way to describe an UI imo
1:17PM
or TSX
Avatar
have you used qt?
Avatar
never used qt. What's so good about it?
Avatar
Avatar
Ewan
have you used qt?
Jupstar ✪ 10/15/2023 1:18PM
not for a project bigger than a few buttons
Avatar
Avatar
Teero
never used qt. What's so good about it?
Jupstar ✪ 10/15/2023 1:18PM
^ but maybe u can explain this
1:18PM
but i used stuff like java ui(whatever it was called), win32 native UI, VCL
Avatar
Avatar
Jupstar ✪
^ but maybe u can explain this
I can see the link to the wiki page incoming xdd
Avatar
u thinking of swing
1:19PM
i will explain later when my brain is not tied up
1:20PM
when i scroll through this. i have to say it's basically like most oldschool GUI libs
1:20PM
1:20PM
debatable 😂
Avatar
u dont like oxygen
Avatar
There is a thing like qteditor right?
1:21PM
Time to make a ddnet gui editor
Avatar
Jupstar ✪ 10/15/2023 1:22PM
@Ewan look this example in comparision
1:22PM
a function is a gui component
1:22PM
and u use hooks to track the state
1:22PM
that gives a clean hierarchy (edited)
1:23PM
but tbf, javascript is slow af 😂
1:23PM
that's defs an obvious problem
1:24PM
rust alternative
1:24PM
Fullstack GUI library for desktop, web, mobile, and more. - GitHub - DioxusLabs/dioxus: Fullstack GUI library for desktop, web, mobile, and more.
1:24PM
xd
1:25PM
the biggest plus for egui is that it's insanely easy to write the backend for it.. so u can easily integrate it into your own game engine
Avatar
this is the same appeal as dearimgui (edited)
Avatar
Jupstar ✪ 10/15/2023 1:26PM
yes
1:26PM
it's basically the rust version of it xd
Avatar
Jupstar ✪ 10/15/2023 1:27PM
if i could use html+css i'd prefer that tho.. even tho it's already very bloated xd
1:27PM
it simply is more powerful
1:29PM
i've used that the second most but it's not my second most favorite
1:29PM
i wish u could just figma it all
1:30PM
i did this mockup in figma lol
Avatar
Avatar
Ewan
i did this mockup in figma lol
Jupstar ✪ 10/15/2023 1:32PM
nice
1:32PM
do u become ddnet-ui dev
1:32PM
hehe
Avatar
i've done a bunch already
Avatar
Jupstar ✪ 10/15/2023 1:32PM
robyte's enemy
1:32PM
xd
Avatar
it's horrible
1:32PM
there is so much to optimize
1:32PM
makes me sweat even thinking about it
Avatar
Jupstar ✪ 10/15/2023 1:33PM
what i actually dislike most is having to use static objects for the GUI IDs
1:33PM
that basically makes it impossible to reuse any code
1:33PM
since if two objects with same ID are on screen, both are the same
1:34PM
should just use pointers
1:34PM
smh
Avatar
Jupstar ✪ 10/15/2023 1:34PM
should try to automatically guess the IDs
1:34PM
like egui xd
1:34PM
only very rarely u need to set IDs manually
1:34PM
same for react btw
1:52PM
gg ez
poggers2 1
1:58PM
1:58PM
or interpolated
1:58PM
watever
Avatar
oh yeah thats much better
Avatar
Avatar
Ewan
Click to see attachment 🖼️
this probably reserved for keyboard navigation
1:59PM
okay naptime at 8 am
1:59PM
then i wake up at the usual 2pm and prosper
1:59PM
😈
Avatar
Jupstar ✪ 10/15/2023 1:59PM
is it just me or is kog tab broken
Avatar
kog.tw is down
Avatar
lol are you trying to play kog
2:00PM
yucky
2:00PM
seems to work for me anyway
Avatar
go to sleep you before you hear smth you don't want
justatest 1
Avatar
this is usa at 8 am
Avatar
Jupstar ✪ 10/15/2023 2:01PM
kog tab xd
Avatar
yea i went there
2:01PM
and it worked
Avatar
Avatar
Jupstar ✪
kog tab xd
not me neither (edited)
Avatar
Jupstar ✪ 10/15/2023 2:01PM
kok
Avatar
Avatar
Ewan
this is usa at 8 am
u need to advertise more in us (edited)
Avatar
perhaps
Avatar
Avatar
Ewan
i did this mockup in figma lol
wait whats the scheme for again
Avatar
The player info snapshot item (CNetObj_PlayerInfo) has its own m_ClientID member variable in addition to the generic snapshot item ID. The snapshot item ID was only used to set m_Snap.m_LocalClientID but without being checked for invalid values. Now it is checked that both IDs are identical and only m_ClientID is used consistently.

Checklist

  • [X] Tested the change ingame
  • [ ] Provided screenshots if it is a visual change
  • [ ] Tested in combination with possibly related c...
Avatar
Avatar
k2d222
kog.tw is down
hehehehehehe, scalalable solutions, docker.., kubernetes.. but it still goes down
4:00PM
owo
Avatar
Avatar
Jupstar ✪
weren't u shader coder?
@Tater is the shadertoy user ^^
Avatar
Avatar
Ryozuki
hehehehehehe, scalalable solutions, docker.., kubernetes.. but it still goes down
The website is not on the K3s cluster 🙂
Avatar
Qt is just bog standard retained mode ui
Avatar
Jupstar ✪ 10/15/2023 4:33PM
queue tee
4:35PM
@Robyt3 what r ur next projects xd
Avatar
Currently just fixing various bugs and refactoring. I also want to add an external console to the client to interact with the local server
Avatar
fix c++
4:37PM
justatest
Avatar
(by using 🦀 )
Avatar
Jupstar ✪ 10/15/2023 4:37PM
@Robyt3 when do we start writing a launcher xdd
Avatar
Avatar
Jupstar ✪
@Robyt3 when do we start writing a launcher xdd
This is not the worst idea btw
Avatar
Avatar
Jupstar ✪
@Robyt3 when do we start writing a launcher xdd
Ah, true that was also an idea we had
Avatar
oh ye
Avatar
At the very least a trampoline so we can do updates properly
Avatar
one day i started with tauri but i forgot
Avatar
Avatar
Robyt3
Currently just fixing various bugs and refactoring. I also want to add an external console to the client to interact with the local server
my small request about econ in client is to support more than 1 console xd
Avatar
Avatar
Robyt3
Ah, true that was also an idea we had
Jupstar ✪ 10/15/2023 4:38PM
nice, then let's remove the main window at that point
4:38PM
and add a "skip launcher" option
4:38PM
and write in rust
Avatar
wth is launcher
Avatar
Jupstar ✪ 10/15/2023 4:38PM
a launcher
Avatar
in tee paradigma
Avatar
Grenade launcher
Avatar
like mc launcher
Avatar
and what will change
4:39PM
one launcher to launch ddnet client only xd
Avatar
Avatar
gerdoe
and what will change
Jupstar ✪ 10/15/2023 4:39PM
we can move like updater into it
Avatar
The main reason why we need it is to detect the client crashing, so the launcher can change the graphics settings
Avatar
Jupstar ✪ 10/15/2023 4:39PM
we can select graphic settings
Avatar
updater, file integrity checker, easier to do in rust because decoupled
Avatar
Jupstar ✪ 10/15/2023 4:39PM
we can have multiple client support xd
Avatar
move news there
Avatar
Jupstar ✪ 10/15/2023 4:39PM
totally not why i want this
4:39PM
download a software vulkan driver
4:39PM
😬
Avatar
driver updater
4:39PM
xdd
Avatar
Jupstar ✪ 10/15/2023 4:40PM
xDDD
Avatar
Avatar
Ryozuki
updater, file integrity checker, easier to do in rust because decoupled
All of those would be much better in a launcher, though given this community’s distaste of everything mew, I’m sure someone is getting shot for it
4:40PM
new*
Avatar
@Learath2 that would be you sir
4:40PM
justatest
Avatar
Avatar
Learath2
All of those would be much better in a launcher, though given this community’s distaste of everything mew, I’m sure someone is getting shot for it
Jupstar ✪ 10/15/2023 4:40PM
as long as it has a clear visible "skip launcher" it's ok i think
Avatar
Launchers are always disliked I guess
Avatar
@Learath2 we should invent a developer that doesnt exist
Avatar
i will launch ddnet client manually without launcher if it will be a thing in the future
Avatar
and put the blame on it
Avatar
I’ll do the commits and move to new zealand to hide from the cultists
Avatar
so no actual person is harmed
4:40PM
we just say that dev did it
4:41PM
and it doesnt exist
4:41PM
gigachad
Avatar
Avatar
Robyt3
Launchers are always disliked I guess
Jupstar ✪ 10/15/2023 4:41PM
our ugly main screen isn't really better IMO
Avatar
its good actually
4:41PM
as simple as it needs to be
Avatar
I would honestly have an invisible trampoline
4:42PM
Only visible when stuff is getting updated or a crash happened last launch/this launch or some button is held to open gfx settings
Avatar
Avatar
Ryozuki
we just say that dev did it
We should invent an entire admin actually, they could be responsible for everything
Avatar
Jupstar ✪ 10/15/2023 4:43PM
Avatar
and if someone wants to chat with it
4:43PM
we put it behind chatgpt
Avatar
Jupstar ✪ 10/15/2023 4:43PM
i want it like this
Avatar
Avatar
Jupstar ✪
Click to see attachment 🖼️
missing ddnet-rs
Avatar
Avatar
Ryozuki
we just say that dev did it
shawshank reference
Avatar
Avatar
Ryozuki
missing ddnet-rs
Jupstar ✪ 10/15/2023 4:43PM
2.0 = rust
Avatar
Avatar
Jupstar ✪
Click to see attachment 🖼️
Mhhhhhhhhh do we have to have multiple client support pepeW
Avatar
Avatar
Learath2
Mhhhhhhhhh do we have to have multiple client support pepeW
Jupstar ✪ 10/15/2023 4:44PM
yes
Avatar
Jupstar ✪ 10/15/2023 4:44PM
bcs heinrich dislikes breaking backward compability
4:44PM
and i dont see any other chance to promote a new client
Avatar
Avatar
Learath2
ahendmymiserableexistence
kermitsuicide
Avatar
Avatar
Jupstar ✪
bcs heinrich dislikes breaking backward compability
You want to make a backwards incompatible client just to spite him? 😄
4:44PM
break compat in every way, while improving obv
Avatar
Avatar
Learath2
You want to make a backwards incompatible client just to spite him? 😄
Jupstar ✪ 10/15/2023 4:44PM
no
4:45PM
i want to make it so ddnet has a chance to get better
4:45PM
but as long as half of the devs are against it
Avatar
change map format, change protocol, disregard old distros and use newer dependencies
Avatar
Jupstar ✪ 10/15/2023 4:45PM
i prefer we just support both
Avatar
Avatar
Ryozuki
break compat in every way, while improving obv
No, don’t improve anything, just remove all backwards compat, that would be hilarious
Avatar
Jupstar ✪ 10/15/2023 4:45PM
xDD
4:45PM
just to troll
Avatar
remove opengl 1 and 3.3 support
4:45PM
vulkan master race
Avatar
And 2
Avatar
1.4 is best renderer
4:46PM
old tee vibes
Avatar
Wait did we already remove gl2/3.0?
Avatar
also compile with a newer glibc just to make people update their distro
4:46PM
use trunk kernel
4:46PM
kek
Avatar
Avatar
Learath2
Wait did we already remove gl2/3.0?
Jupstar ✪ 10/15/2023 4:47PM
no, u can continue waiting
4:47PM
xd
Avatar
we should use all vulkan 1.2 and 1.3 extensions
4:47PM
justatest
Avatar
Jupstar ✪ 10/15/2023 4:48PM
yes xd
4:48PM
ALL
Avatar
Avatar
Ryozuki
also compile with a newer glibc just to make people update their distro
We should make a kernel driver that only works on the very latest kernel, than have the userland client make sure that the module is loaded
Avatar
Jupstar ✪ 10/15/2023 4:48PM
even if we dont need them
Avatar
Every game has a cool kernel driver now
Avatar
and then blame gpu drivers
Avatar
Avatar
Learath2
We should make a kernel driver that only works on the very latest kernel, than have the userland client make sure that the module is loaded
Jupstar ✪ 10/15/2023 4:48PM
xd
Avatar
bugs
Avatar
Nice, I'd love to also learn Windows driver programming monkaStop
Avatar
We can also check that gpu model matches the pattern 40xx
Avatar
Avatar
Robyt3
Nice, I'd love to also learn Windows driver programming monkaStop
the requirement is to always add the ad injector or telemetry
4:49PM
otherwise ur driver wont be accepted
4:49PM
gigachad
Avatar
The driver comes with better anticheat than VAC justatest
Avatar
Avatar
Robyt3
Nice, I'd love to also learn Windows driver programming monkaStop
I did a couple things once, mostly just experimenting
Avatar
lets add a ring 0 kernel anti cheat
Avatar
Avatar
Ryozuki
lets add a ring 0 kernel anti cheat
No one would trust us tbf
4:51PM
Including you 😄
Avatar
It would be impossible to install the driver on Windows without allowing untrusted drivers somewhere
Avatar
Extremely popular games get to shove it down peoples throats because what will you do? Not play VALORANT?
Avatar
Avatar
Robyt3
It would be impossible to install the driver on Windows without allowing untrusted drivers somewhere
We apply for and pay for a driver signing certificate ofc
Avatar
Jupstar ✪ 10/15/2023 4:52PM
so all maintainers agree we need launcher, epic awesome
4:52PM
nice
Avatar
Avatar
Learath2
We apply for and pay for a driver signing certificate ofc
Only like $200/year
Avatar
Avatar
Jupstar ✪
so all maintainers agree we need launcher, epic awesome
I bet we’ll all disagree on what it should be like 😄
Avatar
Avatar
Learath2
I bet we’ll all disagree on what it should be like 😄
Jupstar ✪ 10/15/2023 4:53PM
yeah that's why i talked about it
4:53PM
robyte now knows what i need
Avatar
And the players will hate it even if it’s completely invisible because it’s hip to hate things
Avatar
It's would a nice separate project for someone to start in rust
Avatar
Avatar
Learath2
And the players will hate it even if it’s completely invisible because it’s hip to hate things
Jupstar ✪ 10/15/2023 4:54PM
as said, fat ass "SKIP LAUNCHER BRO, NEVER SEE IT AGAIN" button
Avatar
The launcher could be invisible the entire time like @Learath2 suggested
Avatar
Avatar
Jupstar ✪
as said, fat ass "SKIP LAUNCHER BRO, NEVER SEE IT AGAIN" button
They will know that it exists and be annoyed at that
Avatar
we all agree the launcher will be written in rust
4:55PM
safety first
Avatar
Avatar
Ryozuki
we all agree the launcher will be written in rust
No, it’ll be written in electron
Avatar
Jupstar ✪ 10/15/2023 4:55PM
xd
Avatar
JSX 💪
Avatar
Jupstar ✪ 10/15/2023 4:55PM
400 MB for the launcher
4:55PM
2mb for game
Avatar
Avatar
Jupstar ✪
400 MB for the launcher
1GB atleast
4:56PM
Also let’s make it 32bit
Avatar
Avatar
Learath2
Also let’s make it 32bit
Jupstar ✪ 10/15/2023 4:56PM
lmao
4:56PM
lets use SDL2 renderer
Avatar
if we dont need to render web, a launcher with rust and iced
4:56PM
the average memory usage would be like 5mb i think
Avatar
Jupstar ✪ 10/15/2023 4:57PM
the launcher just needs a fancy background image tbh
4:57PM
then u almost can't fail
4:57PM
look at any game launcher
Avatar
Iced is a cross-platform GUI library focused on simplicity and type-safety. Inspired by Elm.
Avatar
Jupstar ✪ 10/15/2023 4:57PM
they pretty simplistic
Avatar
If we want to support news then we need HTML I guess
Avatar
not rly
Avatar
Unless it's really simple like in the client
Avatar
we just parse the html
4:58PM
and display it ourselves
4:58PM
a rly simple html renderer
Avatar
The launcher should just be invisible
Avatar
aka just parse bold tags
4:58PM
and links
Avatar
Avatar
Ryozuki
we just parse the html
PepeCross
Avatar
Avatar
Ryozuki
we just parse the html
With regex
4:58PM
insert SO question here
4:58PM
gigachad
Avatar
Avatar
Learath2
The launcher should just be invisible
Jupstar ✪ 10/15/2023 4:58PM
first time should be visible to show discord links etc. similar to current main page inside client
4:58PM
or home page
4:58PM
it's there to replace that page
Avatar
@Learath2 we could also add feature votes in launcher
Avatar
Jupstar ✪ 10/15/2023 4:59PM
Avatar
It shouldn't be extra work for deen, so it should either parse the news directly from the website or directly from the info json
Avatar
Avatar
Jupstar ✪
first time should be visible to show discord links etc. similar to current main page inside client
I meant as in no gui should ever exist for it, except for an emergency gfx settings editor and crash reporter
Avatar
Jupstar ✪ 10/15/2023 4:59PM
run server goes into LAN tab
4:59PM
rest is also in server browser
Avatar
Avatar
Robyt3
It shouldn't be extra work for deen, so it should either parse the news directly from the website or directly from the info json
ye info json
Avatar
Avatar
Robyt3
If we want to support news then we need HTML I guess
rss less goo
Avatar
Avatar
Learath2
I meant as in no gui should ever exist for it, except for an emergency gfx settings editor and crash reporter
Jupstar ✪ 10/15/2023 5:00PM
bruh we need 4k raytracing
Avatar
Avatar
Jupstar ✪
bruh we need 4k raytracing
Yes, ddnet but with god rays
Avatar
Avatar
Jupstar ✪
Click to see attachment 🖼️
Next to "Run server" I'd want a Settings-icon button to configure the local server
Avatar
Jupstar ✪ 10/15/2023 5:00PM
Avatar
Avatar
Jupstar ✪
Click to see attachment 🖼️
On widescreen I really would want a side panel with the news in it instead of hidden away in a corner
Avatar
Avatar
Robyt3
Next to "Run server" I'd want a Settings-icon button to configure the local server
Jupstar ✪ 10/15/2023 5:01PM
fine, but imo we don't need it there. could also be in LAN tab.. but yeah
5:01PM
dunno
Avatar
yeah, would also be useful to have the "Run server" button in the LAN tab
5:02PM
Otherwise I always start the server, go the LAN tab, and need to refresh again
Avatar
Avatar
Learath2
All of those would be much better in a launcher, though given this community’s distaste of everything mew, I’m sure someone is getting shot for it
heinrich5991 10/15/2023 5:02PM
I wouldn't exactly like a separate window before launching the client. I'd be fine with one showing up if the ddnet client doesn't show up itself. otherwise it's just a distraction. firefox doesn't open a launcher either
Avatar
See, there is no way all of us ever agree on anything 😄
Avatar
Jupstar ✪ 10/15/2023 5:03PM
?
5:04PM
he said he doesnt like a seperate window
5:04PM
that also applies to the current main page
Avatar
Avatar
Robyt3
If we want to support news then we need HTML I guess
heinrich5991 10/15/2023 5:04PM
just open it in the browser at that point IMO
Avatar
Avatar
Jupstar ✪
that also applies to the current main page
I highly doubt that’s what he meant. I’d bet money on it
Avatar
Avatar
Learath2
See, there is no way all of us ever agree on anything 😄
I agree ;)
Avatar
Avatar
Learath2
I highly doubt that’s what he meant. I’d bet money on it
Jupstar ✪ 10/15/2023 5:05PM
does firefox have that screen?
Avatar
Yes, it’s the home screen
5:06PM
This thing
👀 1
Avatar
Jupstar ✪ 10/15/2023 5:06PM
anyway, not everyone has to agree
5:06PM
there is a skip button
Avatar
Someone should just make the bare minimum invisible launcher and push it through quickly at night before all the devs wake up
5:07PM
Maybe no one will even notice
Avatar
heinrich5991 10/15/2023 5:07PM
invisible launcher seems fine
5:07PM
if it doesn't delay the start too much
Avatar
Avatar
heinrich5991
if it doesn't delay the start too much
Ideally it should just do a couple stat calls, a handful of read calls, and an exec
Avatar
heinrich5991 10/15/2023 5:08PM
probably fork and exec?
Avatar
I think a launcher would be meaningful if you could set different mods or smt like mc. But in the case of ddnet we have no mods :O. (I'm talking about the client btw).
Avatar
Jupstar ✪ 10/15/2023 5:09PM
here, finished the launcher
poggers 4
Avatar
Avatar
heinrich5991
invisible launcher seems fine
Jupstar ✪ 10/15/2023 5:11PM
well it should open first time
5:11PM
to emulate the home page
5:11PM
which will be gone
5:11PM
discord link etc.
Avatar
Avatar
Jupstar ✪
Click to see attachment 🖼️
Jupstar ✪ 10/15/2023 5:12PM
this one
Avatar
Avatar
Jupstar ✪
which will be gone
See no way we all ever agree on this 😄
Avatar
Avatar
Learath2
See no way we all ever agree on this 😄
Jupstar ✪ 10/15/2023 5:21PM
we don't have to
Avatar
I don't think the main menu should be going anywhere. You already decided it's gone
Avatar
Jupstar ✪ 10/15/2023 5:21PM
heinrich says he wants backward compability bcs he doesnt want to drop support for 1% of players so we can effort to have a launcher for another 1%
Avatar
Avatar
Learath2
I don't think the main menu should be going anywhere. You already decided it's gone
Jupstar ✪ 10/15/2023 5:22PM
it's useless after seeing it once and has no "don't show again"
5:22PM
so yes
5:22PM
decided
Avatar
Very team player, much wow
Avatar
Jupstar ✪ 10/15/2023 5:23PM
yeah
5:23PM
team player
5:23PM
#7258
Avatar
Remove warning popup when loading images which are not compatible with pnglite. The number of users of client versions older than 16.3, which is the version in which pnglite was replace with libpng...
Avatar
Jupstar ✪ 10/15/2023 5:23PM
everyone pro
5:23PM
1 person against
5:23PM
very team play
Avatar
Avatar
Learath2
Very team player, much wow
Jupstar ✪ 10/15/2023 5:28PM
so then tell me your reason against it, if u dislike it so much
Avatar
Avatar
Jupstar ✪
so then tell me your reason against it, if u dislike it so much
I don't dislike a launcher. I dislike that we are removing the main menu. I like the main menu
Avatar
Avatar
Learath2
I don't dislike a launcher. I dislike that we are removing the main menu. I like the main menu
Jupstar ✪ 10/15/2023 5:29PM
do you feel like the main menu looks good?
5:30PM
visually
Avatar
It's lacking a news section imo, it can use more density. But overall yes, it looks decent imho
5:31PM
Maybe moving some stuff around, sure. But removing it completely isn't something I'd be for
Avatar
Jupstar ✪ 10/15/2023 5:31PM
i don't want to lie, i find it rather ugly. Imagine you start a game and this is the first thing you see...
Avatar
add a twinbop
5:32PM
some fanservice
Avatar
Avatar
Jupstar ✪
i don't want to lie, i find it rather ugly. Imagine you start a game and this is the first thing you see...
What do you think is wrong with it?
5:32PM
It has our logo, it has buttons for all the things you might want to do. The browser interface is far more overwhelming to someone that just opened the game evr
5:33PM
Ever*
Avatar
Avatar
Learath2
What do you think is wrong with it?
Jupstar ✪ 10/15/2023 5:34PM
similar to what you said, i dislike it being so open the icons look weirdly placed (behind the button) the logo should be wider (go over the buttons) "Quit" just looks shit bottom right fits nothing like bottom left
5:34PM
so the symmetry is missing here
5:34PM
we could e.g. in the right bottom show the current tee, and put a customize button
5:34PM
to give it more personality
Avatar
It's only so empty in widescreen btw, it looks better composed in 4:3
Avatar
was about to say that xD
Avatar
Jupstar ✪ 10/15/2023 5:35PM
ok but i guess most ppl start it in 16:9
5:35PM
at least frist time
Avatar
Yeah, I would love to maybe add news or maybe the tee as you say to it in widescreen where we have the space
Avatar
Jupstar ✪ 10/15/2023 5:36PM
and our theme maps are also rather boring
5:36PM
maybe bit more grass etc.
5:36PM
not just a sun with wrongly animated clouds xD
Avatar
But removing it, I honestly haven't ever thought about. I think some sort of hub page like this is necessary for people starting the game for the first time
Avatar
Avatar
Learath2
But removing it, I honestly haven't ever thought about. I think some sort of hub page like this is necessary for people starting the game for the first time
Jupstar ✪ 10/15/2023 5:36PM
well launcher does that 😂
Avatar
Mh, maybe if we add launch flags to the game and launch into a certain page, but even then that's meh UX, we don't want people closing the client and going back to the launcher for the hub page
Avatar
Avatar
Learath2
Mh, maybe if we add launch flags to the game and launch into a certain page, but even then that's meh UX, we don't want people closing the client and going back to the launcher for the hub page
Jupstar ✪ 10/15/2023 5:38PM
well the main page can stay
5:38PM
it should just not be default
5:39PM
once u seen it, u probably never care again about it
Avatar
It should be the default. People that don't want it should disable it themselves
Avatar
Jupstar ✪ 10/15/2023 5:39PM
at least all ppl i know asked me how to disable it
Avatar
Avatar
Learath2
It should be the default. People that don't want it should disable it themselves
Jupstar ✪ 10/15/2023 5:39PM
hidden in the settings
5:39PM
not very user friendly imo
Avatar
It's mostly for new people. 1337 haxors and cool gamers that have no time for menus can disable it
Avatar
Avatar
Learath2
It's mostly for new people. 1337 haxors and cool gamers that have no time for menus can disable it
Jupstar ✪ 10/15/2023 5:39PM
5:40PM
and he is like top notch client dev
Avatar
isn't it a new thing though?
Avatar
Jupstar ✪ 10/15/2023 5:40PM
no
Avatar
Not very new
Avatar
Jupstar ✪ 10/15/2023 5:40PM
it was there since the main page exist
Avatar
:O I too didn't know it. Just recently saw a conversation about it and I thought it was added recently
Avatar
Honestly never once felt like that one extra click to get into the game was an inconvenience but I have a feeling that I'm not allowed to make that comment since my playtime last year was too low to have any opinion
Avatar
Jupstar ✪ 10/15/2023 5:42PM
yeah
5:42PM
i open client 5-10 times per day
5:42PM
sucks
5:42PM
i die internally
Avatar
But dw, I started playing with murpi again. I'll be allowed opinions soon
Avatar
Jupstar ✪ 10/15/2023 5:42PM
nice
5:42PM
wb
5:42PM
xd
Avatar
I open client around 10-20 times too but never felt it to be a problem.
5:43PM
I just tap doulbe enter ;)
Avatar
I actually open and close the client a lot too. I play fng between games of league
Avatar
Avatar
Mr.Gh0s7
I open client around 10-20 times too but never felt it to be a problem.
Jupstar ✪ 10/15/2023 5:43PM
but was it also no problem when it got introduced?
5:43PM
now it's in your muscle memory
Avatar
The main screen was introduced? Wasn't it always there? xD
Avatar
Avatar
Jupstar ✪
but was it also no problem when it got introduced?
Honestly? No I never even thought about it. I was playing a lot back then too
Avatar
Avatar
Mr.Gh0s7
The main screen was introduced? Wasn't it always there? xD
Jupstar ✪ 10/15/2023 5:44PM
lmao
5:44PM
it was introduced in like ddnet 14 or smth
5:44PM
around steam release
Avatar
The first time I thought about the extra click was a couple weeks ago when people were talking about it in here
Avatar
Avatar
Jupstar ✪
it was introduced in like ddnet 14 or smth
ah yeah
Avatar
I use the demo viewer from launch enough that I don't mind the main menu (edited)
Avatar
Jupstar ✪ 10/15/2023 5:49PM
but the button also exist in the server browser
Avatar
So small
5:49PM
Idk 90% of the launch time is the client loading not clicking the menu
Avatar
Jupstar ✪ 10/15/2023 5:49PM
for me client starts instant
5:49PM
hardware issue 😂
Avatar
Bruh how
5:50PM
Does skins make it slower
Avatar
Jupstar ✪ 10/15/2023 5:50PM
100%
5:50PM
we load everything single threaded
5:50PM
one after each other
5:50PM
so u have the storage access delay every time
5:51PM
I still think it's nice to have it, makes it feel like a real game (edited)
Avatar
Someone needs to add lazy loading of skins 😄
5:51PM
Or just load them on a separate thread
Avatar
Avatar
Tater
I still think it's nice to have it, makes it feel like a real game (edited)
Jupstar ✪ 10/15/2023 5:51PM
before we need a main menu, we need better music
5:51PM
😂
Avatar
Optimally, someone needs to write a better job system first 😄
Avatar
Avatar
Robyt3
Optimally, someone needs to write a better job system first 😄
Honestly, doing it PROPERLY is very hard. Technically io bound jobs can be scheduled much differently than cpu bound ones
5:53PM
Folly and similar future/promise solutions have 2 separate pools for those
5:53PM
Then you get into stuff like chaining where you need to think about what gets executed in which pool when.
Avatar
Jupstar ✪ 10/15/2023 5:54PM
see
5:54PM
that's why we need ddnet 2.0
Avatar
Sometimes you want the chained job to go back in the queue, sometimes you want it executed inline
Avatar
Jupstar ✪ 10/15/2023 5:54PM
it starts instant
Avatar
In Rust one just ignores all that complexity and hopes tokio devs have it all right, maybe we should use a library for it too?
Avatar
That's why we need ddOS, so you can preload DDNet into memory immediately and your OS is the launcher (edited)
Avatar
Jupstar ✪ 10/15/2023 5:56PM
short flex
Avatar
Avatar
Robyt3
That's why we need ddOS, so you can preload DDNet into memory immediately and your OS is the launcher (edited)
No OS, only ddnet. We can put the launcher into MBR
Avatar
Avatar
Jupstar ✪
short flex
Loads too fast. I don't like it
Avatar
btw what happened to Chiller? It's been a while since I saw him
Avatar
Avatar
Mr.Gh0s7
btw what happened to Chiller? It's been a while since I saw him
He overdosed on 0.7
Avatar
Jupstar ✪ 10/15/2023 5:57PM
xd
5:57PM
after robyte said he dislikes 0.7
Avatar
Ah it all makes sense now
Avatar
Jupstar ✪ 10/15/2023 5:57PM
direct rq
Avatar
He was so close to getting his 0.7 support into the client
5:57PM
But then chaos
Avatar
I don't dislike 0.7, but adding 45 TODOs was a bit too much
Avatar
Avatar
Robyt3
I don't dislike 0.7, but adding 45 TODOs was a bit too much
Jupstar ✪ 10/15/2023 5:58PM
it's ok, come to the jupstar side
5:58PM
newer is better
5:58PM
quality > quanitity
5:58PM
performance is everything
5:59PM
when a user starts ddnet he must feel "I deserved that"
Avatar
Avatar
Jupstar ✪
quality > quanitity
Except when it comes to frame count? 😄
Avatar
Remove all backwards compatibility for next April 1st
Avatar
Avatar
Learath2
Except when it comes to frame count? 😄
Jupstar ✪ 10/15/2023 5:59PM
if the quality clearly overweights the fps argument i can live with that
5:59PM
but everything should feel instant
5:59PM
and smooth
Avatar
You need to get to 5.391 * 10^44 frames per second ASAP
6:00PM
We can render directly into spacetime
Avatar
Jupstar ✪ 10/15/2023 6:01PM
Avatar
Avatar
Jupstar ✪
but everything should feel instant
Jupstar ✪ 10/15/2023 6:01PM
instant server joining
6:01PM
another short flex
Avatar
Avatar
Jupstar ✪
Click to see attachment 🖼️
If just looks wrong, you need to add a couple sleeps
Avatar
Jupstar ✪ 10/15/2023 6:01PM
i need to hook into javascript
6:02PM
call sleep
6:02PM
and then go back
6:02PM
full js runtime deps
Avatar
Start a 68030 emulator, sleep on there in a nop loop, then go on
Avatar
ddnet 2.0 should have split screen support
Avatar
Jupstar ✪ 10/15/2023 6:05PM
kek
Avatar
and mutli mouse support
Avatar
Jupstar ✪ 10/15/2023 6:05PM
u want another flex?
Avatar
Avatar
Mr.Gh0s7
and mutli mouse support
Jupstar ✪ 10/15/2023 6:05PM
that's actually hard xd
Avatar
ye ik xD
Avatar
x11 multiple mouse support is hilarous
f3 2
Avatar
I tried implemented smt like that with libinput but it's so hard that I didn't get anywhere
Avatar
Avatar
Jupstar ✪
u want another flex?
ye
Avatar
Ah yeah I remember that xD
Avatar
Jupstar ✪ 10/15/2023 6:07PM
but tbf that's more the power of using no global variables
6:07PM
than anything else
6:08PM
i archieved similar stuff with cpp version
Avatar
But I meant split-screen support as being able to plug another keyboard and mouse and play with those too. So it goes hand in hand with multi-mouse support :/
Avatar
Avatar
Mr.Gh0s7
But I meant split-screen support as being able to plug another keyboard and mouse and play with those too. So it goes hand in hand with multi-mouse support :/
Jupstar ✪ 10/15/2023 6:09PM
yes, the problem here is really just winit support for it
6:09PM
else i'd say it's ez
6:09PM
if only x11 supports it, then it probably untested af xd
Avatar
Avatar
Jupstar ✪
but tbf that's more the power of using no global variables
I thought about a demo player preview in the browser but that would be equivalent to creating an entire new client inside the client due to the global variables
Avatar
Avatar
Robyt3
I thought about a demo player preview in the browser but that would be equivalent to creating an entire new client inside the client due to the global variables
Jupstar ✪ 10/15/2023 6:10PM
my client is constructed so, that u can view demos ingame even
Avatar
hmm as k2d2 said x11 mutli pointer support isn't good. I think the only viable solution would be to use libinput for linux and equivalents for win/mac/bsd
Avatar
Jupstar ✪ 10/15/2023 6:10PM
but tbf i don't have demo support yet xD
6:10PM
just thought about the hierarchy
Avatar
If it's structured well it shouldn't matter if the snapshots and messages are from a server or from a demo file
Avatar
Jupstar ✪ 10/15/2023 6:11PM
yes
6:12PM
well i hope i can hurry a bit until like end of the year
6:12PM
then i can maybe show some stuff
6:12PM
currently i worked on DPI aware UI
6:12PM
with zooming support
Avatar
Avoid using a global variable for last mouse position on Android.

Checklist

  • [X] 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 ...
Avatar
Why is our jobpool only using two threads anyway?
6:51PM
I'd probably go for 2 * std::thread::hardware_concurrency() + 2 many threads for now (edited)
Avatar
Jupstar ✪ 10/15/2023 6:52PM
why the 2*?
Avatar
std::thread::hardware_concurrency() + 1
Avatar
So more threads can wait on I/O
6:52PM
We don't assume the jobs are all doing useful work, no?
Avatar
will be funny to have a job pool with 34 threads
Avatar
Avatar
Robyt3
So more threads can wait on I/O
Jupstar ✪ 10/15/2023 6:53PM
ah right we dont use green threads
Avatar
Avatar
Robyt3
I'd probably go for 2 * std::thread::hardware_concurrency() + 2 many threads for now (edited)
The idle threads would be waiting on a semaphore so that's fine. Though their stacks would be allocated, but I think our stack footprint is tiny on job pool runners so it just might be doable
Avatar
Avatar
GitHub
Click to see attachment 🖼️
on android? is mobile client coming back after all?
Avatar
Avatar
Voxel
on android? is mobile client coming back after all?
It improve the code quality even if Android is unused right now
7:11PM
We could probably compile an Android version, but then people would complain because there is no input method unless you connect mouse/keyboard/controller
Avatar
No joystick buttons like the other mobile client?
Avatar
We'd have to add something like that, I don't know other mobile clients or even the old version we have
Avatar
Avatar
Robyt3
Launchers are always disliked I guess
especially for small games like ddnet
Avatar
Avatar
Learath2
They will know that it exists and be annoyed at that
it will eat the last MB of memory on potato PC 😄
Avatar
Avatar
Chairn
it will eat the last MB of memory on potato PC 😄
The game will truly be ruined forever
Avatar
Avatar
Chairn
it will eat the last MB of memory on potato PC 😄
Jupstar ✪ 10/15/2023 7:26PM
what kind of launchers do u use lmao
Avatar
Powered by electron
Avatar
Jupstar ✪ 10/15/2023 7:27PM
but srsly, a simple launcher shouldn't be a problem xd
Avatar
Avatar
Jupstar ✪
but srsly, a simple launcher shouldn't be a problem xd
Yeah, we are just joking around
7:28PM
An invisible one or a simple one is not even a resource consideration
7:28PM
An electron one I would just leave the team over
Avatar
Avatar
Learath2
Yeah, we are just joking around
Jupstar ✪ 10/15/2023 7:29PM
i dunno, chairn is serious af xd
Avatar
He is a phd afterall
Avatar
Jupstar ✪ 10/15/2023 7:30PM
well then, i take it back
7:30PM
he is allowed to use win7
brownbear 1
7:30PM
xd
Avatar
He is serious about the earlier comment though probably. People do dislike launchers
Avatar
Launchers are often done completely wrong, just add extra clicks and spyware
Avatar
Waaaay back in 2004 when I first started gaming people didn't like launchers 😄
Avatar
Avatar
Robyt3
Launchers are often done completely wrong, just add extra clicks and spyware
Yes, this was soo common, cluttered weird apps full of ads
Avatar
Avatar
Learath2
He is serious about the earlier comment though probably. People do dislike launchers
first comment is kinda serious, second is joke
7:34PM
invisible one is probably fine, i think users shouldn't need one more click to start the game
7:34PM
psychological barriers are powerful repellents
Avatar
Avatar
Learath2
He is serious about the earlier comment though probably. People do dislike launchers
Jupstar ✪ 10/15/2023 7:35PM
i dunno, which ppl u mean?
7:35PM
minecraft launcher is quite liked i think
7:35PM
they like launchers like origin
7:35PM
bcs they arent just launchers
7:35PM
they are whole OS
Avatar
back in 2008- i remember launchers from MMOs
Avatar
Avatar
Jupstar ✪
i dunno, which ppl u mean?
I'm not talking about any specific person. I'm just thinking back to my time playing shitty mmorpgs and gunz
Avatar
looking forward to download the game
Avatar
now that i think about it, we could have separate map editor and skin manager, stuff like that
7:36PM
though mappers will probably dont like not being able to map and chat at the same time
7:37PM
good memories
Avatar
Avatar
Learath2
I'm not talking about any specific person. I'm just thinking back to my time playing shitty mmorpgs and gunz
The private servers that ditched the launcher were always appreciated
Avatar
Jupstar ✪ 10/15/2023 7:37PM
classic mmo launcher
Avatar
Avatar
Ryozuki
Click to see attachment 🖼️
Grandchase was such a vibe. I hosted a private server for a couple months
Avatar
i played grand chase back then
7:37PM
also another one about golfing
7:37PM
weeb ofc
7:38PM
hmm and more stuff
7:38PM
7:39PM
i was an advanced weeb already kek
7:39PM
justatest
7:39PM
this game was on wii too iirc
Avatar
I used to play grandchase, florensia, metin 2, knight online. Some very meh games
Avatar
this is a golf mmo
7:39PM
xddd
7:40PM
PangYa (Korean: 팡야, "Bang!", known as PangYa Exhilarating Golf in Japan) was an online multiplayer casual golf simulation game designed by Korean development company Ntreev Soft and NCSoft. From 2005 until March 2009, the game was known as Albatross18 in North America. On March 8, 2009, control of the game was passed from OGPlanet to SG Interact...
Avatar
Funnily enough I think the first anime I ever watched was like when I was finishing up highschool. I resisted the weeb for very long
Avatar
Avatar
Learath2
Funnily enough I think the first anime I ever watched was like when I was finishing up highschool. I resisted the weeb for very long
they put dragon ball (bola de drac in catalan) on tv
7:40PM
so i got anime from tv
7:41PM
also one piece
7:41PM
dragon ball dub in catalan is iconic
7:41PM
(im talking about when goku is a kid)
7:41PM
7:41PM
this
7:41PM
the catalan dub itself has fans, it was that good
Avatar
When I was a wee youngling, we had anime on tv aswell, but I got unlucky. Erdogan got elected and decided anime was degeneracy, so I never got to watch any
Avatar
big f
Avatar
We had dubbed one piece and dubbed dragon ballz
Avatar
here now they even put modern anime
7:42PM
i was demon slayer on tv
7:42PM
saw*
Avatar
Avatar
Ryozuki
i was demon slayer on tv
If demon slayer was aired on tv in turkey, they would shoot up the channel nowadays
Avatar
Waaay too much fanservice in that one
Avatar
cyberFighter 10/15/2023 7:43PM
Ware is ddnet fan service?
Avatar
well not that much but i guess
7:44PM
7:44PM
we need to make a oldschool ddnet launcher
7:44PM
3d buttons
Avatar
veloren also has a launcher
Avatar
Set a thread name in native code during multithreaded app debugging in Visual Studio. Thread naming is used to keep track of threads in the Threads window.
7:55PM
pepeW How to set a thread name on Windows
Avatar
Avatar
Ryozuki
they put dragon ball (bola de drac in catalan) on tv
Jupstar ✪ 10/15/2023 8:01PM
speaking of dragon ball, that was the dragonball mmo launcher:
8:01PM
Avatar
oh ye xd
Avatar
Jupstar ✪ 10/15/2023 8:01PM
do u know that game?
Avatar
AssassinTee 10/15/2023 8:01PM
please don't
Avatar
i think itried it
Avatar
Jupstar ✪ 10/15/2023 8:02PM
i played it xd
8:02PM
to max lvl xd
8:02PM
the launcher was cool, bcs everything that is white in the pic above was transparent so shenlong went over the edges
Avatar
Avatar
Jupstar ✪
the launcher was cool, bcs everything that is white in the pic above was transparent so shenlong went over the edges
This gui was cool for a while. Lot's of transparent irregular guis came out for a moment
Avatar
AssassinTee 10/15/2023 8:34PM
just make the swap bigger /s
Avatar
Avatar
Learath2
Click to see attachment 🖼️
Jupstar ✪ 10/15/2023 8:35PM
pokemon in like 300KB xd
8:35PM
good old days
Avatar
Avatar
Jupstar ✪
pokemon in like 300KB xd
I have this hunch that you watched that video on that one dude training an ML algo to finish pokemon red
Avatar
Avatar
Learath2
I have this hunch that you watched that video on that one dude training an ML algo to finish pokemon red
Jupstar ✪ 10/15/2023 8:36PM
KEK
8:36PM
it got recommended to me
8:36PM
probs bcs google knows we talking here
Avatar
Avatar
Learath2
Click to see attachment 🖼️
Developers now: Let's just add DLSS/FSR as an excuse to not optimize
Avatar
See commit messages.

Checklist

  • [X] 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
  • [X] 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...
Avatar
Jupstar ✪ 10/15/2023 8:45PM
@Robyt3 does windows do lazy allocations for thread stacks?
Avatar
I don't know, but I wouldn't really expect it for Windows. You can specify the stack size when creating the thread (one of the 0's means default)
Avatar
Jupstar ✪ 10/15/2023 8:46PM
what even is the current default stack size on modern windows?
8:46PM
i remember it was like 16 KBytes
8:46PM
some day xd
8:48PM
"The default size for the reserved and initially committed stack memory is specified in the executable file header"
8:48PM
Whatever is specified in our file header then ...
Avatar
Jupstar ✪ 10/15/2023 8:48PM
k
Avatar
On linux we could madvise away the threads stacks after a while
8:55PM
We very rarely have more than one job usually
Avatar
Jupstar ✪ 10/15/2023 8:56PM
on linux stack is lazy allocated anyway
Avatar
That could change quickly if we load every image in another job
Avatar
Avatar
Jupstar ✪
on linux stack is lazy allocated anyway
But as soon as we use it it'll be forever allocated
Avatar
Jupstar ✪ 10/15/2023 8:56PM
8MB or whatever ur limit is, is really just the limit
Avatar
9baeae9 Add 79 € funding by Insanity - def-
Avatar
9cbbc0a Replace static variables in MouseRelative with member variable - Robyt3 97c1046 Add assertions to ensure that thread_init is successful - Robyt3 2dcec64 Use std::vector for jobpool threads - Robyt3 ba5a974 Increase jobpool thread count based on hardware concurrency - Robyt3 2235231 Give jobpool worker threads different names based on index - Robyt3 0666646 Merge pull request #7352 from Robyt3/Engine-Input-Antistatic - def- 042a04d Merge pull request #7353 from Robyt3/Engine-Jobpool-Refactoring - def-
Avatar
Avatar
Voxel
wait whats the scheme for again
something which will never be merged
Avatar
1a83a17 Fix client crash on player info snapshot item with invalid ID - Robyt3 a60eb31 Merge pull request #7351 from Robyt3/Client-Snap-PlayerInfo-Crash-Fix - def-
Avatar
Avatar
Robyt3
pepeW How to set a thread name on Windows
heinrich5991 10/15/2023 11:17PM
check how rust does it ^^
Exported 933 message(s)
Timezone: UTC+0