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-04-22 00:00:00Z and 2022-04-23 00:00:00Z
Avatar
Avatar
Learath2
Ngl it might be a good idea to do ui with sth like react native
I have no idea how react native works.
03:34
The frontend guy messed up his fetch and show pattern, and everything is queried on the spot and can't retain after a window is closed.
03:34
justatest
03:34
So I thought it might be easier for him if there's a straight up web framework to use
03:35
Since we had TypeScript in unity already. I just dragged mithril.js in and wrote some fake DOM that creates, reorder and delete unity objects.
Avatar
Avatar
lynn
@⭐♥ST-Chara♥⭐ hi
⭐♥ST-Chara♥⭐ 2022-04-22 04:28:35Z
Yes (edited)
06:20
lol
06:21
oldschool cool
Avatar
i hate
08:12
c++ dep management
08:12
cmake sux
08:13
30 mins trying to find libsodium
08:13
with rust i just do cargo add sodium
08:13
feelsbadman
08:13
trying to port xpanic to ddnet-skeleton
08:13
so its modern
08:14
btw current xpanic stores password in clear text in files
08:14
xd
Avatar
[quakenet] ChillerDragon BOT 2022-04-22 08:19:09Z
I could swear it used to work to connect to servers using ./DDNet "password foo" but if i understand the code correctly that does not work anymore since 4 years
08:19
super weird
08:19
DDraceNetwork, a cooperative racing mod of Teeworlds - ddnet/client.cpp at 5c98d9227fec63a7617704a35858bb51b695b5e1 · ddnet/ddnet
08:20
So headless clients wont be able to join passworded servers. But i have done that already -.-
Avatar
Avatar
Ryozuki
btw current xpanic stores password in clear text in files
it warns about that very loudly before you register. ddnet saves are also plaintext codes, just in a sql db
08:39
ChillerDragon: You have to connect a second time, then it gets sent
Avatar
well ill try to do it correctly
08:44
even if the password is still sent cleartext over udp xd
08:44
i figured the cmake thing finally
08:44
btw the database interface is p nice
08:44
i have sqlite and mysql support now xd
Avatar
程序员延寿指南 | A programmer's guide to live longer. Contribute to geekan/HowToLiveLonger development by creating an account on GitHub.
09:15
How to live longer. Step 1: Learn chinese
Avatar
Damn, I'm dying early then 😦
Avatar
looks like a ACM meme more than anything
09:17
oh shit
09:17
looks like you have to sleep exactly 7 hours.
Avatar
I frequently sleep 9 or more hours, fuck
Avatar
one of the tips are to eat less egg yolk
Avatar
and eat more nuts
Avatar
I love egg yolks :/ I seem to be doing everything wrong
Avatar
I'm actually wondering
09:22
Is there a way to redirect sunlight into my workplace but not onto my monitor during the whole day
09:22
kek
Avatar
I can imagine an elaborate setup with mirrors
Avatar
Sounds like a product I'd like to have
09:23
the tricky part is that the sun moves
Avatar
i think the data may be biased, for example, older ppl tend to sleep less
09:23
but older ppl may die too
09:23
xd
Avatar
👀 older ppl die faster as well
Avatar
and the cause of mortality in the charts is "all-cause"
09:24
which means ppl dieying of old age
Avatar
based
Avatar
iirc if u sleep 8 hours ur good
Avatar
that's what i've heard
Avatar
i dont think 7-9 matters much
09:25
ppl kill themselves
09:25
e.g drinking
09:25
and nobody cares
09:25
xd
Avatar
dID yOu JuSt SaY dRiNkInG?
09:26
PES3_Sus
Avatar
i'm offended
Avatar
and I don't drink
Avatar
i do sometimes
09:26
xd
Avatar
Avatar
Ryozuki
i think the data may be biased, for example, older ppl tend to sleep less
And chronic depression sufferers sleep more and they also die more, I hope they accounted for those, otherwise worthless research
Avatar
well then I do sometimes as well
09:26
usually not willingly tho
Avatar
@Learath2 did u know most research ends up being useless
09:26
also
09:26
academic is plagued with filler research
09:26
just to get numbers
09:26
the more cited u are
09:26
the more "good"
09:26
but thats plain wrong
09:27
u need to find a needle in a haystack to find good research
Avatar
the page is deliberately being funny than accurate i think (edited)
Avatar
also that u have to pay to read a paper is plain wrong
09:27
humanity deserves to die
Avatar
since ACM literally means that ICPC thing which a lot of CS students does.
09:28
do*
09:28
I think my english got worse and worse ever since I came back to china
09:28
kek
09:29
luckily heinrich isn't here tho
Avatar
Avatar
TsFreddie
luckily heinrich isn't here tho
heinrich is back Celebrate
09:35
I mean he isn't online
09:35
its 11:35
09:35
maybe he is working
09:35
without discord
09:35
monkalaugh
Avatar
I should be working rn
09:35
wht timee is it there
Avatar
5:35pm
Avatar
Avatar
TsFreddie
since ACM literally means that ICPC thing which a lot of CS students does.
This competitive programming thing is one of the most senseless attempts at "ranking" programmers. It's just one of those things that should never be used as a metric
Avatar
I did it for like 5 years in middle school and high school
09:37
my college invited me but I didn't go
09:38
btw https://mithril.js.org/ is pretty lit
Avatar
I mean it's fun surely, but it's not really useful. Should be done like a leasure sport
Avatar
Avatar
Learath2
This competitive programming thing is one of the most senseless attempts at "ranking" programmers. It's just one of those things that should never be used as a metric
competitive programming tests is just algorithm solving
09:39
imagine if the tests where about figuring a data race in a 200k line code base or smth
09:39
xd
Avatar
Avatar
Ryozuki
competitive programming tests is just algorithm solving
more like "problem" solving with a algorithm database baked into your head.
09:40
which you spent three years remembering.
09:40
but there is undeniably smart ppl there
Avatar
like me
Avatar
Avatar
TsFreddie
btw https://mithril.js.org/ is pretty lit
I'd seen this on lichess' stack but hadn't checked it out yet. If you could describe it in one sentence, what would that sentence be?
Avatar
Gennady Korotkevich (Belarusian: Генадзь Караткевіч, Hienadź Karatkievič, Russian: Геннадий Короткевич; born 25 September 1994) is a Belarusian competitive programmer who has won major international competitions since the age of 11, as well as numerous national competitions. His top accomplishments include six consecutive gold medals in the I...
09:40
this guy is good
09:41
"tourist"
09:41
his setup screams he is a mathematician tho
09:41
he uses windows
09:41
its actually a weird setup
09:42
09:42
xd
09:42
imagine having this blue screaming screen
Avatar
Has he made anything that's not just golfing code?
Avatar
Avatar
Learath2
I'd seen this on lichess' stack but hadn't checked it out yet. If you could describe it in one sentence, what would that sentence be?
small, simple and easy to get into without reading five pages of getting started and can't get it started.
Avatar
Avatar
Learath2
Has he made anything that's not just golfing code?
Gennady is the highest-rated programmer on Codeforces,[2] CodeChef,[3] Topcoder,[4] AtCoder [jp][5] and HackerRank.[6] In January 2022, he achieved an historic rating of 3979 on Codeforces, becoming the first to break the 3900 barrier.
09:42
xd
09:42
idk
09:43
Known for Programming prodigy; highly ranked sport programmer from an early age
09:43
lmao
Avatar
mainly small tho
Avatar
Avatar
TsFreddie
small, simple and easy to get into without reading five pages of getting started and can't get it started.
Sounds nice, maybe I'll make something with it to see how it feels compared to vue
Avatar
the true prodigy ppl imho is ppl like the one i sent a article yesterday
09:43
about sorting algos
09:43
those are the real smart ppl
Avatar
I've used vue twice
09:44
I think mithril might be better. But I did setup my own webpack config
Avatar
[quakenet] ChillerDragon BOT 2022-04-22 09:44:26Z
@deen but ./DDNet "connect localhost;connect localhost" does not connect twice. So for a headless client its non trivial
Avatar
Avatar
Ryozuki
those are the real smart ppl
Exactly, imo the amount of time it takes someone to produce work of that quality is not very important
Avatar
I think vue takes care of boilerplates
Avatar
Guild Wars 2 uses Mithril (yes, inside the game!)
Huh, someone already took my game ui idea and ran with it
09:46
i'm doing it too
Avatar
wats Mithril
Avatar
never tried to get vue or react into unity yet. but mithril only needs a handful of dom implementation to work
Avatar
ii only know it from final fantasy
09:46
greenthing
Avatar
I just wrapped some unity code inside a js class with appendChild insertBefore and removeChild and it just works
09:47
to a certain degree
09:48
kek
09:49
a blog from the microsoft guy
09:49
Raymond C
09:49
i think someone mentioned him one day
Avatar
heinrich
Avatar
I posted a couple of his blogposts before aswell
Avatar
@heinrich5991 hehe
Avatar
Avatar
Ryozuki
which means ppl dieying of old age
dieying
Avatar
i don't see a problem
Avatar
how can I make the client send a chat message as the player ? (edited)
Avatar
CChat::Say
Avatar
Avatar
Learath2
CChat::Say
from menu settings if i want send Test message in global chat ((CChat *)pUserData)->Say(0, ("Test"))
14:00
but pUserData what is
14:00
void CChat::ConSay(IConsole::IResult *pResult, void **pUserData) { ((CChat *)pUserData)->Say(0, pResult->GetString(0)); } (edited)
Avatar
I smell someone doing pattern match coding 😄
Avatar
Avatar
Learath2
I smell someone doing pattern match coding 😄
idk what u mean xd
Avatar
I have a feeling you don't actually know C++ but you are just imitating the code we have by form
Avatar
Avatar
Learath2
I have a feeling you don't actually know C++ but you are just imitating the code we have by form
exactly xd
14:03
and i have to say it's not very easy haha
Avatar
Anyway, from CMenus you want to go through the gameclient GameClient(), to get to CGameClient::m_Chat, on which you can just use CChat::Say. So something like GameClient()->m_Chat.Say(0, "Test"));
Avatar
Avatar
kio
and i have to say it's not very easy haha
You will have a much better time if you just take some time to learn C++
Avatar
actually I'm already having fun haha ​​but you are right. however I think I have understood many things thanks to your message above
Avatar
https://bellard.org, about prodigys (edited)
Avatar
is this a guy? is this a collection of random projects?
14:17
no about so cant know
Avatar
if that's one guy that's insane
14:18
qemu alone
14:18
is insane
14:18
xd
Avatar
Fabrice Bellard yes it is
14:18
Known for "FFmpeg, QEMU, and the Tiny C Compiler." Now that is talent
Avatar
Fabrice Bellard is a French computer programmer known for writing FFmpeg, QEMU, and the Tiny C Compiler. He developed Bellard's formula for calculating single digits of pi. In 2012
14:18
ye
14:18
both 3 projects are insanely famous
14:19
i see that tiny c compiler mentioned everywhere
Avatar
Insanely famous and massive in scale
Avatar
i know another prodigy
14:20
@Learath2
Avatar
Thank god Bellard's 50yo and not some 17yo with all those accomplishments
14:20
Makes me feel way better
14:21
lets be real
14:21
most here probs wont achieve even a single project like that
14:21
and thats fine
14:21
accept urself
14:21
BASED
14:21
altho i always feel like programming is relatively young field
14:21
there is shitload more devs now
14:21
and in 40 years they will all be seniors
14:22
who knows what will be done
Avatar
Avatar
Ryozuki
most here probs wont achieve even a single project like that
We all contributed to ddnet, the pinnacle of open source multiplayer gaming TOOBASED
14:22
i cant wait to be 50y old and preach about the good old rust
14:22
and how todays lang suck
14:23
greenthing
14:23
actually that cant wait
14:23
ii dont wanna be 50y old
14:23
monkalaugh
14:23
can*
14:23
fck i cant type
Avatar
We are also too late to make simpler ideas like these work. Back when this guy started on ffmpeg there was like 2 video codecs on earth 😛
Avatar
true but im sure there is a lot to be done
Avatar
Nowadays your best bet at making influential software is to foray into weird niche fields that require so much damn knowledge
14:25
Back in the day people used to make innovations like "mail but over the internet instead of over human carriers"
Avatar
Avatar
Learath2
I smell someone doing pattern match coding 😄
Isn't all human creation pattern matching? 😄 With experience the patterns just get better
gigachad 2
Avatar
well i think there needs to be some understanding
Avatar
Avatar
deen
Isn't all human creation pattern matching? 😄 With experience the patterns just get better
I guess at some degree it is, but what I was trying to point out there is that pattern matching without knowledge about the patterns is really prone to breaking
Avatar
Humans have long pondered the nature of their mind/brain and, particularly why its capacities for reasoning, communication and abstract thought are far superior to other species, including closely related anthropoids. This article considers superior pattern ...
14:27
pog
14:28
@Learath2 the new sorting algorithms
14:28
from that article
14:28
xd
Avatar
i bet learath opens a restaurant in his life
Avatar
i always thought a restaurant is a nice place to problem solve
14:30
specially with technology
14:30
xd
Avatar
we always did brainstorming in restuarants with friends back in the school days 😄
14:30
we even did a lan party once xD
Avatar
they were ok wiht it
Avatar
as long as u bring lot of ppl who pay
14:31
they are fine with it usually (edited)
14:31
xd
Avatar
Avatar
Ryozuki
@Learath2 the new sorting algorithms
Yeah look at those, back in Shell's day he could propose things like "sort by swapping BUT with gaps"
14:31
Now you want to improve sorting you need to do regression learning to drop a single instruction and vector dark magic to utilize cache better
14:32
the same thing happens with math physics etc
Avatar
Yep, the fields are getting so complicated :/
Avatar
well i think u have to specialize
14:32
u cant know everything
Avatar
Unless you are into entrepreneurship you won't achieve shit in your lifetime
Avatar
if we so advanced why not all games run at million fps
Avatar
(I won't either, the "you" there was general)
Avatar
i always thought that
14:33
i want to reach that age
14:33
xd
14:34
the point where u dont even need to thing about how much memory u use
Avatar
Avatar
Ryozuki
the point where u dont even need to thing about how much memory u use
We are here 😄
Avatar
lets build a Matrioshka brain
14:34
A matrioshka brain is a hypothetical megastructure of immense computational capacity powered by a Dyson sphere. It was proposed in 1997 by Robert J. Bradbury (1956–2011). It is an example of a class-B stellar engine, employing the entire energy output of a star to drive computer systems. This concept derives its name from the nesting Russian ma...
Avatar
Avatar
Learath2
We are here 😄
well im talking to levels like where u accidentally make a program that overflows the stack but u have to wait days till it actually does
14:36
BASED
Avatar
The world if chromium developers cared about memory usage
14:37
the computer needed to open 20 tabs in chrome
Avatar
Avatar
Learath2
The world if chromium developers cared about memory usage
does chromium use lot of mem cuz they leak a lot?
14:38
maybe its just the js engine uses shitload of ram
Avatar
bcs every chrome tab is a full OS xd
Avatar
idk the inner workins of that
14:38
xd
Avatar
Avatar
Ryozuki
idk the inner workins of that
No one does probably, if there is one thing browser devs care about less than memory usage, it's code line count
14:40
ye isnt chromium larger than linux
Avatar
most likely
Avatar
with the drivers included
Avatar
ouch really?
14:40
over 26mio lines
14:40
sounds horribl
14:40
e
14:41
soon we need 1gb L3 cache or just run smoething smooth
Avatar
35mil in chromium, 28mil in the linux kernel
14:42
openrc has about 15k LoC, systemd has about 1.3mil
Avatar
Google claims their internal repo is 2 billion lines of code btw 😄
Avatar
do they use a monorepo?
Avatar
ez
Avatar
ᶰ°Konͧsti 2022-04-22 14:45:54Z
how comes that my cl_dummy_hammer is so fast after running 8 days straight? MonkaS
Avatar
Avatar
deen
Google claims their internal repo is 2 billion lines of code btw 😄
oh god
Avatar
Avatar
ᶰ°Konͧsti
how comes that my cl_dummy_hammer is so fast after running 8 days straight? MonkaS
probs some weird floating point stuff
14:46
is the client running 8 days?
Avatar
monorepo is really nice when you can just update a lib and all usages at once instead of needing backwards compat
Avatar
Avatar
Jupstar ✪
probs some weird floating point stuff
ᶰ°Konͧsti 2022-04-22 14:46:38Z
but when i turned off and on it worked normal
Avatar
Avatar
ᶰ°Konͧsti
but when i turned off and on it worked normal
ah maybe it has some start time or smth
14:46
for the internal interval
14:47
open an issue on github
14:47
so we dont forget
Avatar
ᶰ°Konͧsti 2022-04-22 14:47:43Z
nah i dont think its worth an issue
14:47
nobody uses normal dummy hammer anyway
Avatar
then we should still remove it or fix it
Avatar
ᶰ°Konͧsti 2022-04-22 14:49:04Z
i were just afk on that map with dummy hammer on for 8 days
Avatar
Easy to reproduce then
Avatar
Truly a bug only konsti could find
afk 4
Avatar
ᶰ°Konͧsti 2022-04-22 14:49:32Z
afk
Avatar
Avatar
ᶰ°Konͧsti
i were just afk on that map with dummy hammer on for 8 days
could also be a visual bug like I posted in #bugs
Avatar
every non finite time calculation should be changed to either use double if not other wise fixable, or fix otherwise xd
14:51
or no floating point even better xd
Avatar
I don't think there is any time calculation for dummy hammer
Avatar
some interval
Avatar
it just increments on each OnSnapInput call
Avatar
mh when turning off and on again fixes it, it kinda must be something related to weird math
Avatar
I think this could be the cause: if(NewPredTick > m_PredTick[g_Config.m_ClDummy]) { m_PredTick[g_Config.m_ClDummy] = NewPredTick; Repredict = true; // send input SendInput(); } Maybe the tick flows over or something?
Avatar
possible too yeah
Avatar
I could say we could wait 8 more days to test it again with debug mode on, but, 8 days is 8 days.
justatest 1
Avatar
if the tick overflows it should actually be unrelated to the days
14:56
can even happen after 1 second
Avatar
it's only an int, so max 2147483647, but 8 days would only be 34560000 ticks, so not nearly enough
Avatar
isnt it server time tho
Avatar
my guess would be that m_DummyFire flows over into negativ , the result of the calculation here: https://github.com/C0D3D3V/ddnet/blob/9dc2141ded307f013402e7d84c66bc793b45cc6c/src/game/client/gameclient.cpp#L422 would always be negativ, so every tick a hammer would be made
DDraceNetwork, a cooperative racing mod of Teeworlds - ddnet/gameclient.cpp at 9dc2141ded307f013402e7d84c66bc793b45cc6c · C0D3D3V/ddnet
Avatar
Server time would be 497 days to overflow I guess
Avatar
is there a benefit from using int to int64
Avatar
Avatar
c0d3d3v
my guess would be that m_DummyFire flows over into negativ , the result of the calculation here: https://github.com/C0D3D3V/ddnet/blob/9dc2141ded307f013402e7d84c66bc793b45cc6c/src/game/client/gameclient.cpp#L422 would always be negativ, so every tick a hammer would be made
yes
14:57
sounds reasonable
14:57
bcs it uses floats xd
Avatar
Avatar
Ryozuki
is there a benefit from using int to int64
saves u 4 bytes, but i'd say a modern tw could also upper some limits
14:58
server time should not overflow not even after 1 year
14:59
@Jupstar ✪ actually
14:59
using int i dont think it guarantees its 32
14:59
it may be 64
Avatar
it doesnt but our target platforms use 32bit
14:59
in the code we also rely on it sometimes
15:00
remember its teeworlds
15:00
it hates standard
Avatar
xD we could use mpz_int instead of int 😄 these can get as big as you have memory, or just use rings for ticks and time related stuff
Avatar
so int32 and stuff like that wasnt used
Avatar
do 128bit floats exist?
Avatar
yes
15:01
long double
15:01
but only linux i think
Avatar
Avatar
c0d3d3v
my guess would be that m_DummyFire flows over into negativ , the result of the calculation here: https://github.com/C0D3D3V/ddnet/blob/9dc2141ded307f013402e7d84c66bc793b45cc6c/src/game/client/gameclient.cpp#L422 would always be negativ, so every tick a hammer would be made
but that would also require 497 days to overflow I think
Avatar
Avatar
deen
but that would also require 497 days to overflow I think
but floats
15:01
floats hate u
Avatar
m_DummyFire is an int
Avatar
if((m_DummyFire / 12.5f) - (int)(m_DummyFire / 12.5f) > 0.01f)
15:02
but it gets converted
Avatar
Avatar
deen
but that would also require 497 days to overflow I think
mh true
Avatar
Sure, could be this float calculation getting more imprecise (but not an overflow)
Avatar
yeah ;D
15:03
we have bugs like these quite often
15:03
i also dont understand why float calculation here is even used
15:03
can just use integer math
15:04
int64 to be safe
Avatar
Avatar
Jupstar ✪
if((m_DummyFire / 12.5f) - (int)(m_DummyFire / 12.5f) > 0.01f)
I well just run some test code... to see if it overflows after 8 days ... one moment xD
Avatar
its not about overflowing
15:04
the calculation will evaluate to true too often
15:04
and then the ticks get updated all the time or smth like that
15:05
or to false
Avatar
I will check it ...
Avatar
makes more sense
Avatar
Avatar
Jupstar ✪
i also dont understand why float calculation here is even used
I think because 12.5 felt good to me for flying, and that's not an integer 😄
Avatar
xd
15:07
many games in the past used floats to store current game time(added every time the game loop runs).. after like 20 minutes they are around 50ms off
Avatar
jupstar is right xD
Avatar
the condition is not true way before the int overfloats
15:18
it gets already imprecise at m_DummyFire = 13107213, then it hammers 3 times in a row, at some value it hammers constantly
15:20
10 times in a row at 67108869
15:20
50 at 104857646
15:21
100 at 104857696 1000000 at 105857596 (edited)
15:21
I used this code: int m_DummyFire = 0; int hammerd = 0; int debug = 0; while(m_DummyFire != -4000) { if((m_DummyFire / 12.5f) - (int)(m_DummyFire / 12.5f) > 0.01f) { m_DummyFire++; hammerd = 0; continue; } if(hammerd == 1) { debug = 0; } if(hammerd == 10) { debug = 0; } if(hammerd == 50) { debug = 0; } if(hammerd == 100) { debug = 0; } m_DummyFire++; hammerd++; } (edited)
15:25
so after 2.14 days it is imprecise
15:25
after 11 days it hammers 10 times in a row
15:27
by changing 12.5f to 12.5 and 0.01f to 0.01, it does not get inpercise before the int oveflows to -2147483647
Avatar
just change it to ints if you want to fix the "problem" 😛
Avatar
you mean unsinged int
15:29
with int we will always have the wrong calculation after 497days
15:29
xD
15:29
who ever plays that long
Avatar
after 497 days, something else probably had a bug first
Avatar
we could just use m_DummyFire % 25 == 0 and reset m_DummyFire to 0 every hammer
15:33
I make the patch
Avatar
nice
Avatar
Why not just make m_DummyFire unsigned and do % 25?
15:37
Don't ever need to reset to 0 that way
Avatar
But it will be inaccurate for one time after 497 days 😄
😄 1
Avatar
Avatar
Learath2
Why not just make m_DummyFire unsigned and do % 25?
Yes you are right... I will do that... I also wanted to do that first, but thought, why not reset it every time, we do not need the value anyway. We could also just use a byte to save memory xD lol
Avatar
Avatar
deen
But it will be inaccurate for one time after 497 days 😄
If we use an exact power of two it won't be, let's check if % 32 feels good for dummy fly 😛
Avatar
heathen
Avatar
Avatar
c0d3d3v
Yes you are right... I will do that... I also wanted to do that first, but thought, why not reset it every time, we do not need the value anyway. We could also just use a byte to save memory xD lol
but a byte would be inaccurate more often
15:42
instead of once every 497day teeworlds session
Avatar
(they were saying "by resetting it to 0 each time, you don't even need 32 bit, you can fit it into 8 bit")
Avatar
Hm, I may have misinterpreted, but anyway in all reality both are performant enough that this discussion is just for fun 😄
Avatar
yes
Avatar
I guess no reset to 0 every 25 snaps is very technically better assuming the cpu is completely inept and can't pipeline it 😄
👍 1
15:46
s/technically/slightly/
15:46
If we ever hope to run ddnet on an 8086 we should be careful of these
Avatar
or use just floats std::stack<float> push 25 times and then clear them again
16:08
also nice solution use some unsorted array use a sorting algotihm that sorts this array in 25 steps do one step per tick and check if sorted
16:08
then reset
16:09
open 25 chrome tabs
16:09
xd
Avatar
I like the chrome tabs idea. A friend of me usually has ~1k tabs in firefox open. The tabs get to sleep at some point and are no longer in memory, thats why it works (edited)
Avatar
The standalone 16.0 rc1 build doesn't have the update button to the newest version in the main menu thonk
16:42
do we not update the client on beta builds?
Avatar
probs not
Avatar
beta and rc builds have no update functionality
16:58
most convenient way to use them is through Steam
16:58
If we wanted to have updates for them, we'd need two additional update streams through the website
17:04
I didn't think that's worth the additional complexity
Avatar
Avatar
Learath2
I have a feeling you don't actually know C++ but you are just imitating the code we have by form
isn't that how you're supposed to do with a code base you don't know?
Avatar
Avatar
Ryozuki
also that u have to pay to read a paper is plain wrong
use sci-hub
Avatar
Avatar
ᶰ°Konͧsti
nobody uses normal dummy hammer anyway
i do, but i suck at dummy
Avatar
i have to do that when someone join in your server and check if he is in your friend list
18:07
someone know?^
Avatar
Avatar
Chairn
isn't that how you're supposed to do with a code base you don't know?
You are talking about a higher level of pattern matching, if you can break down the patterns you see into fundamental language constructs there is no problem
Avatar
Avatar
kio
someone know?^
I think the client has no way of knowing who joined the server besides those " *** x joined the server" chat messages Someone pls tell me if I'm wrong xd
Avatar
So just use that string to extract the name of whoever joined
Avatar
xD you could make a diff of the user list xD
18:18
but the join message should be easier
Avatar
Avatar
Cipy29
I think the client has no way of knowing who joined the server besides those " *** x joined the server" chat messages Someone pls tell me if I'm wrong xd
You can keep track of the clients in the snap
Avatar
that is also what I mean by making a diff*
Avatar
Ah yes ofc
Avatar
someone has an Idea what settings causes this, because I'm mostly sure I have never seen this, but I tried it before to hold left click
18:28
and I always played with cl_predict and antiping
18:29
it is the same in latest master, the video is on the version from the commit I tracked down (https://github.com/ddnet/ddnet/commit/eb1bacb969b3edc121934991380d1d03718cd718) (edited)
Avatar
Previously, this was only doable with frame-perfect input if you were going to get frozen again the next tick. Now, you only have to hold your hammer to immediately hammer once you get unfrozen. T...
DDraceNetwork, a cooperative racing mod of Teeworlds - ddnet/character.cpp at 8c6a7ef38a89d123cf4b9c5e495e2c25971efe92 · C0D3D3V/ddnet
18:46
ah it is broken if cl_m_Predict_DDRace is off 😄 thats why I have never saw this, because then m_FrozenLastTick is not set to false (edited)
18:47
Why do we even need so much settings for predict and antiping 😦 can we not get rid of them
Avatar
Avatar
Cipy29
I think the client has no way of knowing who joined the server besides those " *** x joined the server" chat messages Someone pls tell me if I'm wrong xd
I think there is a render in the chat to see when a line appears, and if you match it you look among the online ones put in an array and you see who is new, but I was hoping there was a way more ez
Avatar
Avatar
Cipy29
I think the client has no way of knowing who joined the server besides those " *** x joined the server" chat messages Someone pls tell me if I'm wrong xd
0.7 client does
19:20
not 0.6 one
Avatar
Avatar
gerdoe
0.7 client does
explain
Avatar
Avatar
kio
explain
explain what
Avatar
how know who jin
19:23
join
Avatar
You already know who's new from the *** x has entered and joined the game
19:27
Right?
19:28
Then you see if they're your friend
Avatar
Avatar
Cipy29
You already know who's new from the *** x has entered and joined the game
not all servers have exactly same join message
Avatar
Avatar
kio
join
afair 0.7 clients accept info about joined player as clientid
19:32
and then localize join message
Avatar
I assumed he would be using it on ddnet servers
Avatar
Avatar
c0d3d3v
Why do we even need so much settings for predict and antiping 😦 can we not get rid of them
@c0d3d3v yes, let's decrease the number of settings!
Avatar
@Learath2 may I change the type of MACRO_CONFIG_INT config variables to std::atomic_int so we can actually access it from multiple threads? ^^
21:43
or do you have an idea on how to access stuff like g_Config.m_ConsoleLogLevel from multiple threads?
Avatar
Avatar
heinrich5991
@Learath2 may I change the type of MACRO_CONFIG_INT config variables to std::atomic_int so we can actually access it from multiple threads? ^^
An atomic really sounds like the least impacting of all the available options
22:30
The other options I can think of are far worse like locking
Avatar
https://www.cl.cam.ac.uk/~pes20/cpp/cpp0xmappings.html it compiles down to the same instructions even, just a source complexity
22:31
at least on x86 or if we used relaxed memory order
Avatar
Don't think relaxed would be what we want here
Avatar
it's basically the current behavior, just without the UB
22:33
for console_log_level, it'd probably be okay, at least I can't think of any weird stuff
Avatar
Ah yep
Avatar
Avatar
heinrich5991
@Learath2 may I change the type of MACRO_CONFIG_INT config variables to std::atomic_int so we can actually access it from multiple threads? ^^
is there any risk of conflict? I don't think people change config that often, otherwise, just declare it volatile?
Avatar
volatile is wrong there
22:36
volatile is not a thread synchronization primitive
Avatar
oh this discussion again haha
22:37
@Learath2 i remember ur rant
Avatar
Volatile is definitely wrong here :D
22:37
It won't even emit a fence
Avatar
relaxed won't emit a fence either
Avatar
Avatar
heinrich5991
relaxed won't emit a fence either
Hence I said I don't think relaxed is the best idea here
22:38
But it will definitely fix the UB
Avatar
i do believe volatile is enough for this use case
22:40
it forces to reload the value from memory
22:40
let hardware coherency do its job (edited)
Avatar
bad bad bad
Avatar
It doesn't actually fix the UB as far as the standard is concerned
22:42
Volatile doesnt provide a synchronization point, so the two threads will be accessing memory out of sync
Avatar
config variable change once every 36 of the month, not a big deal
Avatar
@Chairn you get the same behavior with relaxed atomics, except it's without the UB
Avatar
Seems like it got introduced by means of the false friend "actual" ≠ "aktuell" = "current".
Avatar
Why would you want to invoke nasal demons when you can avoid them?
22:47
Even compiler people can't agree on what the hell volatile can guarantee, I doubt the standards people are sure either. Relaxed atomics on the other hand have very well defined semantics
22:48
if you have one hour of free time (edited)
Avatar
This makes the "black console window" less important on Windows (or anywhere else, for that matter), lets you see logs from other threads in the f1 console, and removes the distinction between IConsole::Print and dbg_msg.
Avatar
anyone think it would be fixable to patch "Please balance teams!" for more than just race modes?
23:08
heinrich suggested MACRO_CONFIG_INT for it
Avatar
no MACRO_CONFIG_INT pls
Avatar
wait what should we use
Avatar
I suggested making it a flag the server can send
Avatar
i guess i assumed you meant sv_
23:08
but maybe you mean just in snap
Avatar
just in snap, I meant
Avatar
ye makes sense
23:09
i guess so
23:09
what netobj
Avatar
103b663 Rename ActCur, some "actual" → "current" - heinrich5991 b14c916 Merge #5012 - bors[bot]
Avatar
Hey what do you guys think of this pr? I think deen wants some more opinions before merging https://github.com/ddnet/ddnet/pull/4997
Avatar
we have some game info object
Avatar
wow so nice but margins in a more square ratio look kinda small
23:19
like with feet and above
Avatar
OT: maybe some of u can help saved a game and cant remember save name... where i can find it?
Avatar
#questions and it's in ddnet-saves.txt
Avatar
Yeah that could be bigger
Avatar
ty
Avatar
hard to work with existing space already. i suggest making them a lot smaller
23:21
and adding a label "Default eyes"
23:21
unclear maybe at first what it does
Avatar
Hm I'm actually a little intrigued whether a better answer exists to this kind of synchronization problem where writes are much less frequent than reads
Avatar
I mean on x86, it works perfectly fine with AcqRel semantics of atomics
23:23
@Learath2 https://github.com/ddnet/ddnet/pull/5013#pullrequestreview-950687001 asked some questions if you're interested
Avatar
I can answer some tomorrow, I really need to sleep asap but I have atomics on my mind
Avatar
https://www.ctan.org/pkg/minted best package to include some code in your latex
Avatar
ngl it was so weird to come here and see "emit a fence" without context
23:35
i was like wtf is that
Avatar
this a fence
f3 1
23:38
now imagine your computer throwing this at your face because you didn't synchronize your threads (edited)
Exported 511 message(s)