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 2024-12-05 00:00 and 2024-12-06 00:00
Avatar
Avatar
Palestinian
iH lla.. woh era uoy gniod sved؟
Avolicious 2024-12-05 00:01
good, you?
Avatar
making the hurt sounds right now should they have the impact or is it better without it?
00:15
(ngl i wish there was a dd-pg server)
Avatar
cant u host it yourself
Avatar
Avatar
louis
cant u host it yourself
i hate managing and moderating discord servers
Avatar
oh u mean discord server
Avatar
chillerdragon BOT 2024-12-05 02:01
That was not your console change. My underscores were cut off before already.
Replying to @Robyt3 I guess caused by my console design change because this moved the text a…
02:02
Yea finding authors is hard
Replying to @Souly i verified a lot of licences and authors thanks to it
02:03
Nice to hear it helped
02:05
Yea it felt wrong to abandon the strongest pc I ever owned for a year instantly after buying it. I’m back at it end of December
Replying to @Jupstar ✪ 4090 went up in price instead of losing it xDDD
02:05
Yes next time you can come and pick it up at my house
Avatar
Avatar
Evelyn
ChillerDragon please write
Pls
Avatar
Avatar
Voxel
is it too early to try and sorta, make sounds for 🤖 skin?
this is fucking awesome i can see myself making a ton of shit for this
Avatar
hacker man
Avatar
Dammit, I am busy
06:48
Ain't got any time to do my side project, let alone update the translation (edited)
Avatar
Avatar
EGYT
Ain't got any time to do my side project, let alone update the translation (edited)
It's okay egyt no rush owoWeary
Avatar
GitHub BOT 2024-12-05 07:37
1cb72e5 Support building Android version on Windows with MSYS2 - Robyt3 9d3725e Merge pull request #9345 from Robyt3/Android-Build-On-Windows - def-
Avatar
hory shiet
07:54
took me almost 3 hours for part one of today's AoC Why am I torturing myself so?
07:54
I guess I know a number of new tricks now
Avatar
it's only day 5..
07:55
are they that hard already?
Avatar
Haven't followed I wanna do other stuff instead
Avatar
Idk I don't really want to spend my time on them but I find it interesting
Avatar
Avatar
Tater
Idk I don't really want to spend my time on them but I find it interesting
same
Avatar
Avatar
Tater
are they that hard already?
no I'm just doing it with wacky restrictions
Avatar
oh ok
Avatar
Avatar
Tater
oh ok
he's doing only mov
Avatar
It's fun to click the github profiles of the top ranked people
07:58
that meme is actually surprisngly accurate lol
Avatar
How do you get ranked?
07:59
Can you get ranked based on performance?
Avatar
based on how fast you submit after the question becomes public
Avatar
/execution time?
Avatar
you speedrun the solution
Avatar
Avatar
Tater
based on how fast you submit after the question becomes public
meh then it's not that cool
Avatar
otherwise you can cheat
08:00
this is the only way to avoid cheating
Avatar
wdym?
Avatar
all other metrics can be cheated
Avatar
Like, here's my code for today You probably won't get much from it at a glance so it's not a big spoiler
SPOILER
Avatar
Avatar
Tater
all other metrics can be cheated
execution time?
Avatar
absolute gobbledygook
Avatar
you could copy someone else
Avatar
I literally went fmap uncurry
Avatar
Avatar
Tater
you could copy someone else
Can't you also copy the first solution that gets submitted?
Avatar
Avatar
Teero
Can't you also copy the first solution that gets submitted?
they are private
Avatar
I mean you get second place then
Avatar
Avatar
Tater
they are private
So how are you gonna copy them ?
Avatar
Avatar
Teero
I mean you get second place then
The first place would have to share the code with you
Avatar
once the fastest solution is known everyone just copies each other
Avatar
Avatar
Tater
once the fastest solution is known everyone just copies each other
How
08:01
How do they copy
Avatar
wdym how
08:01
you join a discord with your 40 developer friends and micro optimize your C solution until it's fast and all of you get 1st place (edited)
Avatar
Avatar
Tater
you join a discord with your 40 developer friends and micro optimize your C solution until it's fast and all of you get 1st place (edited)
yea sure (edited)
Avatar
or someone posts it online
Avatar
That would deserve r1
Avatar
but everyone has the same speed
Avatar
Avatar
Tater
but everyone has the same speed
hmm okay....
08:02
Annoying
Avatar
Well, there's fastest and there's fastest the real fastest times would be some ring of wizards in their tower, hand rolling assembly based on their best guess of the target system's processor
Avatar
Would be fun
Avatar
anyway people started cheating this year already with AI, someone solved the first day in 9 seconds
Avatar
and of course to rank execution time you'd have to execute everyone's solutions, which would be expensive
Avatar
Avatar
Tater
anyway people started cheating this year already with AI, someone solved the first day in 9 seconds
XD
Avatar
the later questions are probably too hard
08:03
it might already be too hard
08:03
for full chatgpt automation
Avatar
I don't think it's too hard for AI as it is
Avatar
without help tho?
Avatar
Avatar
risu
and of course to rank execution time you'd have to execute everyone's solutions, which would be expensive
Don't you have to do that anyway to find out if the solution is correct? x
Avatar
maybe for full 100% automation but def not too hard for partial automation
Avatar
to do it in 9 seconds you can't even read the prompt
08:04
everything has to be automated
Avatar
The first one was only few loc
Avatar
Avatar
Teero
Don't you have to do that anyway to find out if the solution is correct? x
You only send the solution calculated by your program
Avatar
Avatar
Tater
to do it in 9 seconds you can't even read the prompt
The complete question was at the bottom
Avatar
Reading it takes like 5 seconds. Doing the task maybe 30-60s
08:05
I only looked at day 1 tho
Avatar
ai can read in 0 seconds and do the task in 4 seconds, then you spam the submit button for 5 seconds xd
Avatar
Avatar
Tater
ai can read in 0 seconds and do the task in 4 seconds, then you spam the submit button for 5 seconds xd
xddd
08:05
Well I guess so
08:05
It has to be automated as a browser plugin I guess?
Avatar
anyway I don't really care about how they measure who is winning
Avatar
and I guess the crazy people also have automation for retrieving the input and submitting the output
Avatar
just copy the html
08:06
well
08:06
yeah I guess it's hard
08:06
9 seconds is pretty impressive
Avatar
the input is just plain text retrieved from a separate endpoint, so that's easy, it's just the auth tokens that you need to deal with
Avatar
Avatar
Tater
anyway I don't really care about how they measure who is winning
the top leaderboard positions are always one of these people:
  • I have 3 degrees at prestigious university
  • Software engineer at FAANG company
  • My passion is doing AoC, and sometimes other programming
  • open source person with a ton of random projects
  • empty profile
08:12
also ai developer
Avatar
cyberfighter 2 2024-12-05 08:14
ai developer
08:14
pick up a keyboard bro...
Avatar
I mean people who do machine learning code
08:16
like actually making the ai
Avatar
cyberfighter 2 2024-12-05 08:16
ohh
Avatar
"ai researcher"
Avatar
cyberfighter 2 2024-12-05 08:16
i thought some nub just using ai for everything
08:16
those probably also exist
Avatar
cyberfighter 2 2024-12-05 08:16
yea
08:16
cringe ngl
Avatar
Avatar
Tater
like actually making the ai
I was thinking about basically the same thing as an llm but instead of predicting the next word it will predict the next input of a player
08:25
based on demos I guess
08:25
I think it might result in a relatively okayish AI
Avatar
yeah but the inputs don't allow you to see the map
Avatar
Avatar
Tater
yeah but the inputs don't allow you to see the map
Additional info works
08:26
idk if a transformer is the best for that (edited)
Avatar
It might just work but I am not quite sure
Avatar
teeworlds is not really a language, knowing the previous inputs doesn't affect what your future inputs will be. Only your current position, velocity and other gamestate matters.
08:28
it's not like english where taking 2 paths to reach the word "Hello" is completely different. If you reach the same gamestate with 2 ways in teeworlds they are equivilent.
Avatar
Hi! I have a request to add a check mark on the finished maps in KoG, when I suggested it in the channel of KoG itself, I was told that this was a client-side change, and they are not doing this, I would really like to see this convenient feature in the game, thx
08:31
I hope now I've written where I need to
Avatar
KoG doesn't have any api available to retrieve your finishes so it's not possible until they add one
Avatar
Avatar
Talloran
Hi! I have a request to add a check mark on the finished maps in KoG, when I suggested it in the channel of KoG itself, I was told that this was a client-side change, and they are not doing this, I would really like to see this convenient feature in the game, thx
currently that status is pulled from ddnet.org afaik. Kog would need to set up an API point so that the client can get the finishes from it. Of course adding custom endpoints in the client would need to come first (edited)
Avatar
Thanks for the information, I'll pass it on
Avatar
oh I am SO glad the ordering info in the input is complete
08:38
so you can just pass it to sortBy
Avatar
@risu I wanna check out your gh profile
08:39
Who are u
Avatar
Avatar
Teero
@risu I wanna check out your gh profile
my gh is empty and depressing
08:40
I need portfolio-worthy stuff
08:40
:(
Avatar
I just put all my garbage there
Avatar
This is a travesty main is a single line 279 characters long
SPOILER
Avatar
I like how you put the spoiler, incase someone might learn the solution from this code
Avatar
Yeah idk why I'm doing that atp
08:42
it's funny
Avatar
I'm in actual pain and my brain is constantly telling me that there MUST be a cleaner way to do this
Avatar
Just in case someone accidentally downloads it and spoils the Haskell code lmao
08:42
I bet there is not a single person currently doing ddnet dev that does Haskell actively
Avatar
I think it would take me >72 hours to understand this (edited)
Avatar
but then again while Haskell is made by functional programming nuts it's not made by people quite that nuts
08:43
holy shit it's almost 4 hours since I started
08:44
Figuring out compose2 and compose3 helped tremendously
08:45
I unironically typed out the words fmap curry $ traverse $ fmap uncurry $ uncurry
08:46
This would be SO MUCH EASIER to write in a stack based language
Avatar
Avatar
Tater
KoG doesn't have any api available to retrieve your finishes so it's not possible until they add one
Avolicious 2024-12-05 08:48
Avatar
ok that seems like a bad solution
08:50
we should just have a standard schema for the finishes and let the endpoint be defined with the community info
Avatar
Avolicious 2024-12-05 08:50
DDNet doesnt want to expose the clients to untrusted servers
Avatar
Avatar
Avolicious
DDNet doesnt want to expose the clients to untrusted servers
It would be only for communities
Avatar
Avatar
Teero
It would be only for communities
Avolicious 2024-12-05 08:50
But we are untrusted
08:50
The communities are not part of DDNet
Avatar
GitHub BOT 2024-12-05 08:51

Checklist

  • [ ] Tested the change ingame
  • [ ] Provided screenshots if it is a visual change
  • [ ] Tested in combination with possibly related configuration options
  • [ ] Written a unit test (especially base/) or added coverage to integration test
  • [ ] Considered possible null pointers and out of bounds array indexing
  • [ ] Changed no physics that affect existing maps
  • [ ] Tested the change with [ASan+UBSan or valgrind's memcheck](https://github.com/ddnet/ddnet/#using-addresssan...
Avatar
then let the ddnet server act as a proxy for the kog endpoint, it will just pass the json through the ddnet. That way no IPs are leaked
Avatar
Avolicious 2024-12-05 08:52
Something like that was also planned
Avatar
seems much better than PUT solution
08:52
PUT solution is unworkable
Avatar
Avolicious 2024-12-05 08:53
It will generate some traffic, yes
Avatar
idk the main issue is data consistency, if anything needs to change for some reason it gets hard
Avatar
Avolicious 2024-12-05 08:54
What do you mean?
Avatar
how can kog track the state of the data that ddnet keeps on the finishes?
Avatar
Avolicious 2024-12-05 08:55
We cant
Avatar
right
Avatar
Avolicious 2024-12-05 08:55
They store a tuple with community, name, finish
08:56
There were some endpoints to either bulk delete or delete everything within
08:56
Something like that
Avatar
I think you should just make the endpoint and convince them to add support on their backend later
Avatar
You know, now that I think of it, a programming language without variables wouldn't be that bad Like, if you actually intended for the programmer to write in this style and made the tools for it I could see it being reasonably productive
Avatar
Avatar
risu
You know, now that I think of it, a programming language without variables wouldn't be that bad Like, if you actually intended for the programmer to write in this style and made the tools for it I could see it being reasonably productive
Avolicious 2024-12-05 08:57
??? But how to store temporary data?
Avatar
Avatar
Avolicious
??? But how to store temporary data?
Check the AoC solutions I've posted in this channel, none of them contain any named variables
Avatar
but variables are used internally by the language
08:59
you cannot code without registers
Avatar
Avolicious 2024-12-05 08:59
True that, but variables help you to maintain your references 😄
Avatar
yes yes, I just mean that the language itself would enforce a point-free style
Avatar
Avatar
Tater
I think you should just make the endpoint and convince them to add support on their backend later
Avolicious 2024-12-05 09:00
We have an API endpoint for that already
Avatar
is it the same as the ddnet one or some custom format?
09:01
I don't expect them to care enough to reparse your data
Avatar
Avatar
Tater
is it the same as the ddnet one or some custom format?
Avolicious 2024-12-05 09:01
Its just an array of maps you've finished 😄
09:01
So you could add it to the info endpoint maps
Avatar
You see, I like composing functions very much
Avatar
yeah that seems reasonable
Avatar
Thanks!
09:02
:3
09:09
I wonder how much of this I'll have to do before I get to spend more time solving the problem than I do arranging my unnamed variables
09:10
so much effort goes simply into keeping track of when I want to pass the function itself instead of the output of that function
09:12
flip13 = flip . (fmap flip) . flip exists simply to swap the 1st and 3rd arguments of a function
Avatar
Avatar
Voxel
this is fucking awesome i can see myself making a ton of shit for this
Jupstar ✪ 2024-12-05 09:12
i like, i like how the fk did you kill your dummy like that tho xD
09:12
I wouldn't know how to do that xDD
Avatar
Avatar
Tater
yeah that seems reasonable
Avolicious 2024-12-05 09:17
The only problem I see would be map name conflicts 😄
09:17
There are a few maps hosted on DDNet and KoG, they are the same
09:17
so if they finish it on ddnet, they have the finish on kog too
Avatar
it should be a separate array right?
Avatar
Avolicious 2024-12-05 09:17
Right now it isnt
09:17
And the client is only aware of one array
Avatar
Avatar
Evelyn
Pls
pls
pepeW 1
Avatar
Avatar
Evelyn
pls
just fyi asking for something with "pls" doesn't sound very respectful or like you're taking your request seriously
Avatar
Chiller is usually at beach around that time
Avatar
Avatar
Evelyn
pls
go prompt gpt or smth
Avatar
chillerdragon BOT 2024-12-05 10:57
Oof I am too predictable
Replying to @meloƞ Chiller is usually at beach around that time
Avatar
ChillerDragon BOT 2024-12-05 11:00
echo say hi >> server.fifo
11:00
@Evelyn here u go
Avatar
Avatar
ChillerDragon
@Evelyn here u go
But I will specify the time when this will happen, I also want automation
Avatar
Avatar
Teero
go prompt gpt or smth
It gives out incorrectly
Avatar
chillerdragon: how do i get your lifestyle
Avatar
Avatar
Evelyn
It gives out incorrectly
smh can't even proompt properly
Avatar
Then learn to code or prompt it more specifically
Avatar
You can talk to it in Russian too if that helps
Avatar
It will take me at least half a year to learn C++
Avatar
Avatar
Evelyn
It will take me at least half a year to learn C++
This is a bash script what you want to do
11:08
Or a python script
Avatar
Avatar
risu
You can talk to it in Russian too if that helps
I'm doing it anyway.
Avatar
Avatar
Teero
Or a python script
Python
11:08
Sorry
Avatar
you can learn basic python in a day
11:10
You don't need a degree for writing a simple script
Avatar
#!/bin/env python3 from random import random from time import sleep MSGCOUNTDOWN = "%ss untill randomize" MSGRANDOMIZE = "tunes randomized" DELTA = 5 # seconds between each random FIFOPATH = "./fifo.fifo" TUNES = { ("ground_control_speed", 4.00, 14.00), # Maximum running speed on the ground. (Higher values make the character move faster). ("ground_control_accel", 0.50, 4.00), # Acceleration on the ground. (Higher values make the character speed up faster). ("ground_friction", 0.30, 1.00), # Ground friction. (Higher values make the character stop faster). ("ground_jump_impulse", 8.00, 18.00), # Jump force from the ground. (Higher values make the character jump higher). ("air_jump_impulse", 6.00, 16.00), # Jump force in the air. (Applies to double jumps; higher values allow higher jumps). ("air_control_speed", 2.00, 9.00), # Maximum speed when moving in the air. (Higher values allow faster air movement). ("air_control_accel", 0.50, 3.00), # Acceleration in the air. (Higher values allow quicker changes in air movement). ("air_friction", 0.70, 1.10), # Air friction. (Higher values reduce the character's air speed more quickly). ("gravity", 0.30, 0.80), # Gravity strength. (Lower values make the character float longer; higher values make them fall faster). } def write(s): with open(FIFOPATH, "w") as fifo: fifo.write(s) print(s) sleep(1) while True: out = "broadcast %s\n" % MSGRANDOMIZE for name, min, max in TUNES: value = min + random() * (max - min) value = round(value, 2) out += "tune %s %s\n" % (name, value) write(out) if DELTA > 3: sleep(DELTA - 3) for i in range(3): write("broadcast " + MSGCOUNTDOWN % (3 - i)) sleep(1) else: sleep(DELTA) Can you just redo this script to send a certain command over time?
Avatar
No. I won't.
Avatar
Avatar
chillerdragon
Oof I am too predictable
Yes
Avatar
Okay
Avatar
If you don't learn to do it yourself you are going to be dependent on other people for eternity
Avatar
Avatar
Teero
If you don't learn to do it yourself you are going to be dependent on other people for eternity
Now I only need this script, and then I think I can implement what I want through the neural network
Avatar
..neural network? You're currently struggling writing a while loop / using the time library in the time of AI Why are you overcomplicating this stuff so much while True: Function template 1 Function template 2 Function template 3 sleep(time) (edited)
Avatar
#!/bin/env python3 from time import sleep MSGRANDOMIZE = "Подпишись на наш Telegram @serv! На 500 подписчиков будет крупный розыгрыш на слоунет. Также у нас дешевыйслоунет и слоунет!" DELTA = 3600 # интервал между сообщениями в секундах FIFOPATH = "./fifo.fifo" def write(s): with open(FIFOPATH, "w") as fifo: fifo.write(s) print(s) sleep(1) while True: write(f"broadcast {MSGRANDOMIZE}") sleep(DELTA) (edited)
11:17
Work?
Avatar
How am I supposed to know the script YOU want to use works, it looks okay ish
Avatar
Avatar
Evelyn
Work?
That's for you to figure out!
11:19
If I want to know whether a program I wrote works I don't go ask someone else, I just run it and see!
Avatar
Okay, just tell me what to register on the server
11:19
sv_input_fifo?
Avatar
MilkeeyCat 2024-12-05 11:21
oh no, I have transparent cursor and top left icons
Avatar
Wait Evelyn you're in windows or Linux ?
Avatar
Linux Ubuntu
11:22
I use host
Avatar
ah good, create a fifo file and specify it with sv_input_fifo
Avatar
Avatar
Evelyn
#!/bin/env python3 from time import sleep MSGRANDOMIZE = "Подпишись на наш Telegram @serv! На 500 подписчиков будет крупный розыгрыш на слоунет. Также у нас дешевыйслоунет и слоунет!" DELTA = 3600 # интервал между сообщениями в секундах FIFOPATH = "./fifo.fifo" def write(s): with open(FIFOPATH, "w") as fifo: fifo.write(s) print(s) sleep(1) while True: write(f"broadcast {MSGRANDOMIZE}") sleep(DELTA) (edited)
You then use that fifo file in here as well, same file same path
11:24
Fifo is basically client and server communicating with each other either with a file (.fifo) or a named pipe on windows, one sends to fifo, the other reads (edited)
Avatar
Avatar
Evelyn
Okay, just tell me what to register on the server
?
11:26
What to enter into the RCON
Avatar
you said it yourself already
Avatar
I registered sv_input_fifo, ran the script on the host in the build directory of the server , but the script just doesn't give out anything , there is no error and no action
Avatar
Avatar
MilkeeyCat
oh no, I have transparent cursor and top left icons
Jupstar ✪ 2024-12-05 11:29
why does it always only happen to u xd
Avatar
ws-client BOT 2024-12-05 11:30
<ChillerDragon> @TsFreddie my lifestyle is being broke, working little and spending little. Being able to allocate on hour of free time daily to go to the beach should fit in every healthy lifestyle (at least in europe :p)
Avatar
Avatar
ws-client
<ChillerDragon> @TsFreddie my lifestyle is being broke, working little and spending little. Being able to allocate on hour of free time daily to go to the beach should fit in every healthy lifestyle (at least in europe :p)
Ah ok mf, come back to Germany and say that again peperage
Avatar
Avatar
Evelyn
I registered sv_input_fifo, ran the script on the host in the build directory of the server , but the script just doesn't give out anything , there is no error and no action
What to do
Avatar
Avatar
Evelyn
I registered sv_input_fifo, ran the script on the host in the build directory of the server , but the script just doesn't give out anything , there is no error and no action
It should at least be printing something to the shell where you ran it
11:32
If the issue is that nothing seems to be showing up on the server then you probably haven't made the fifo file right
Avatar
No action
Avatar
Avatar
Jupstar ✪
why does it always only happen to u xd
MilkeeyCat 2024-12-05 11:32
Can I do something to narrow the code where the bug can be?
Avatar
Avatar
ws-client
<ChillerDragon> @TsFreddie my lifestyle is being broke, working little and spending little. Being able to allocate on hour of free time daily to go to the beach should fit in every healthy lifestyle (at least in europe :p)
Jupstar ✪ 2024-12-05 11:32
you mean that beach where the sand is concrete of the skycrapers?
Avatar
I assume you have to create the fifo file by hand then, mknod <filename> p
Avatar
Avatar
MilkeeyCat
Can I do something to narrow the code where the bug can be?
Jupstar ✪ 2024-12-05 11:33
if you can reproduce it, start renderdoc and take a snapshot
11:33
then you can see if it's really part of the rendercall
Avatar
Well
11:33
fifo.I created the fifo using mkfifo fifo.fifo
Avatar
MilkeeyCat 2024-12-05 11:34
I tried joining different servers, changing different settings and nothing changed xd
Avatar
huh, didn't even know mkfifo existed
Avatar
Avatar
MilkeeyCat
I tried joining different servers, changing different settings and nothing changed xd
Jupstar ✪ 2024-12-05 11:34
yeah but still renderdoc will tell us the truth
11:34
it's a doc after all
Avatar
python3: can't open file '/root/DDNetPP/build/broadcast': [Errno 2] No such file or directory root@GoodServers:~/DDNetPP/build# python3 broadcast.py Traceback (most recent call last): File "/root/DDNetPP/build/broadcast.py", line 17, in <module> write(f"broadcast {MSGRANDOMIZE}") File "/root/DDNetPP/build/broadcast.py", line 10, in write with open(FIFOPATH, "w") as fifo: KeyboardInterrupt
Avatar
Jupstar ✪ 2024-12-05 11:35
doctor render
Avatar
ws-client BOT 2024-12-05 11:35
<ChillerDragon> well yea the beach part is depending on being close to a beach fair. But dude bali is so cheap its crazy.
Avatar
Jupstar ✪ 2024-12-05 11:35
so cheap that you could invite us
11:35
for a year
Avatar
ws-client BOT 2024-12-05 11:36
<ChillerDragon> uhm ._.
11:36
<ChillerDragon> you can crash my place for sure
Avatar
Avatar
Jupstar ✪
doctor render
MilkeeyCat 2024-12-05 11:36
where to click justatest
Avatar
Avatar
MilkeeyCat
where to click justatest
Jupstar ✪ 2024-12-05 11:37
select ddnet in exec path
Avatar
Avatar
Evelyn
python3: can't open file '/root/DDNetPP/build/broadcast': [Errno 2] No such file or directory root@GoodServers:~/DDNetPP/build# python3 broadcast.py Traceback (most recent call last): File "/root/DDNetPP/build/broadcast.py", line 17, in <module> write(f"broadcast {MSGRANDOMIZE}") File "/root/DDNetPP/build/broadcast.py", line 10, in write with open(FIFOPATH, "w") as fifo: KeyboardInterrupt
This seems like FIFOPATH is set to "broadcast"?
Avatar
ws-client BOT 2024-12-05 11:37
<ChillerDragon> jupstar imagine being room mates
Avatar
Jupstar ✪ 2024-12-05 11:37
then fire that mf up
11:37
and then press f12 when u see the cursed cursor
11:37
and then u can fancy stuff
Avatar
Avatar
ws-client
<ChillerDragon> jupstar imagine being room mates
Jupstar ✪ 2024-12-05 11:38
we'd discuss the whole day how awesome 0.7 is
11:38
i can't imagine better
Avatar
MilkeeyCat 2024-12-05 11:38
sadly I can't reproduce it, it just happens "sometimes" :\
Avatar
ws-client BOT 2024-12-05 11:38
<ChillerDragon> sounds good
Avatar
Avatar
MilkeeyCat
sadly I can't reproduce it, it just happens "sometimes" :\
Jupstar ✪ 2024-12-05 11:38
tja
11:38
then you play with renderdoc from now on
Avatar
ws-client BOT 2024-12-05 11:39
<ChillerDragon> im sure you are good at cooking healthy stuff jupstar
Avatar
MilkeeyCat 2024-12-05 11:39
yup
Avatar
Jupstar ✪ 2024-12-05 11:39
chiller: i am ok, but defs not good
11:39
i eat like 500-600g vegs every day, but often frozen one
11:39
bcs i am too lazy to cut it myself xd
Avatar
ws-client BOT 2024-12-05 11:40
<ChillerDragon> nice
Avatar
How do you even get "No such file or directory" when opening a file in write mode? It should just create a file if one doesn't exist!
Avatar
ws-client BOT 2024-12-05 11:40
<ChillerDragon> unless it is in a folder that does not exist
Avatar
I just didn't enter the file permission then
11:41
broadcast≠broadcast.py
Avatar
ws-client BOT 2024-12-05 11:41
<ChillerDragon> he is writing to the file "broadcast .." should probably be fifo.write not just write
Avatar
Oh, are you running the script as a user that doesn't have access to /root? I mean that would make sense...
Avatar
ws-client BOT 2024-12-05 11:42
<ChillerDragon> he runs everything as root
11:42
<ChillerDragon> change line 17 from write(f"broadcast {MSGRANDOMIZE}") to fifo.write(f"broadcast {MSGRANDOMIZE}")
Avatar
окей
Avatar
write is a function defined in the script, not a built-in
Avatar
ws-client BOT 2024-12-05 11:42
<ChillerDragon> a
11:43
<ChillerDragon> ok yea never mind then i did not read the full code
Avatar
I am being way too helpful right now
Avatar
i change
11:44
Start script?
11:45
File "/root/DDNetPP/build/broadcast.py", line 17, in <module> fifo.write(f"broadcast {MSGRANDOMIZE}") NameError: name 'fifo' is not defined root@GoodServers:~/DDNetPP/build#
Avatar
Avatar
Tater
PUT solution is unworkable
Unworkable why? It should work just fine
Avatar
Avatar
ws-client
<ChillerDragon> @TsFreddie my lifestyle is being broke, working little and spending little. Being able to allocate on hour of free time daily to go to the beach should fit in every healthy lifestyle (at least in europe :p)
too bad we need to pay to go to the beach
Avatar
Avatar
Tater
I think you should just make the endpoint and convince them to add support on their backend later
Us polling communities exposes everyone that is online at a given time to communities
Avatar
Avatar
Evelyn
File "/root/DDNetPP/build/broadcast.py", line 17, in <module> fifo.write(f"broadcast {MSGRANDOMIZE}") NameError: name 'fifo' is not defined root@GoodServers:~/DDNetPP/build#
Yeah the change broke it, ChillerDragon just made a mistake
Avatar
But even with the usual change, it doesn't work for me
Avatar
Avatar
Learath2
Us polling communities exposes everyone that is online at a given time to communities
Avolicious 2024-12-05 13:03
But they are exposed anyways no?
13:03
If they are on any server, the master catches their name & you can find them
Avatar
You get some extra info, like when they turned on their client in general, and you get to know they are on the client even if they play on unregistered servers
13:04
Does it matter, idk
Avatar
Avolicious 2024-12-05 13:04
How do we get this information if you pull the info from us? 😄
13:05
You just add the playername to the request & we give you the maps in return
Avatar
Player opens client We send a request to you You know player online now
Avatar
Avolicious 2024-12-05 13:05
But what should I do with this information?
Avatar
Idk, I'm just telling you what extra information you get
Avatar
Avolicious 2024-12-05 13:06
We have 13k players. I dont care if someone just opens a client xd
Avatar
I guess you can go rob them because you know they are now immersed in the game
Avatar
Avolicious 2024-12-05 13:06
🤣
Avatar
Ask @heinrich5991 he is more creative with these sorts of things
Avatar
Avolicious 2024-12-05 13:07
I would also accept something like: "No we dont want to add this feature for 3rd party providers"
13:07
Then atleast its a clear path & statement
Avatar
To be honest nothing is really "unclear". Idk why this conversation got dug back up
Avatar
Avolicious 2024-12-05 13:07
I dont know either
13:07
I just got pinged
Avatar
We want this feature for 3rd party providers. We determined the put endpoint was a decent way to implement it without exposing anything extra. Nothing changed there, I just had a sudden burst of real life stuff to do that didn't allow me to complete that
Avatar
Avolicious 2024-12-05 13:09
I would personally prefer if there is a put/patch/delete endpoint for community servers 😄
Avatar
Avatar
Avolicious
I would personally prefer if there is a put/patch/delete endpoint for community servers 😄
You mean the ips? That would be nice, but updates are infrequent enough that I never really thought it would be enough added value for it to be worth someones time
Avatar
Avatar
Learath2
You mean the ips? That would be nice, but updates are infrequent enough that I never really thought it would be enough added value for it to be worth someones time
Avolicious 2024-12-05 13:11
For the community server ips, yeah
13:12
So its more event based & you just keep a state for a community
Avatar
This is so pretty to me, makes me want to learn Idris app : Vect n a -> Vect m a -> Vect (n + m) a app Nil ys = ys app (x :: xs) ys = x :: app xs ys but hot damn my brain is so fried from writing cursed Haskell that it feels like it's refusing to think about types more complicated than int
Avatar
Palestinian 2024-12-05 13:30
Syug woh ot eb a ved؟ tahw i deen ot nrael؟ tahw si eht tsrif pets ot pets؟ 🤔
greenthing 1
Avatar
Koll Potato 2024-12-05 13:35
yeehaw
Avatar
Avatar
Palestinian
Syug woh ot eb a ved؟ tahw i deen ot nrael؟ tahw si eht tsrif pets ot pets؟ 🤔
learn cpp in first
Avatar
Avatar
zhn
learn cpp in first
learn c first
Avatar
Avatar
Teero
learn c first
I woudln't consider this really necessary, what's your reasoning? (I learned C first)
13:46
Because IMO the basics of C++ are the same for C (e.g. pointer arithmetic, C-style-casting, structs, formatting ...)
13:46
except maybe for free and (m)alloc (edited)
Avatar
Avatar
Teero
learn c first
learn x86 Assembly first
Avatar
learn how to make ur own processor first
13:49
learn physics first
Avatar
Avatar
Assa
Because IMO the basics of C++ are the same for C (e.g. pointer arithmetic, C-style-casting, structs, formatting ...)
Palestinian 2024-12-05 13:53
I already learnd c++ and python basics.. so what is the best step now? Also what IMO means
Avatar
"in my opinion"
Avatar
Palestinian 2024-12-05 13:54
"in your opinion"
❓ 1
kek 1
Avatar
in his opinion
Avatar
Avatar
Palestinian
I already learnd c++ and python basics.. so what is the best step now? Also what IMO means
Palestinian 2024-12-05 13:55
... @Assa ❓⁉️❔
Avatar
I guess he has the const char* already down
Avatar
Avatar
oxyzo
in his opinion
in our opinion
Avatar
Avatar
Assa
Because IMO the basics of C++ are the same for C (e.g. pointer arithmetic, C-style-casting, structs, formatting ...)
many things tend to get easier in c++ such as handling lists, hashmaps or the whole stream arithmetic also error handling with trycatch also c++ has object oriented structures. (edited)
Avatar
Avatar
Teero
many things tend to get easier in c++ such as handling lists, hashmaps or the whole stream arithmetic also error handling with trycatch also c++ has object oriented structures. (edited)
OO is a curse
👍 2
Avatar
Avatar
Assa
Because IMO the basics of C++ are the same for C (e.g. pointer arithmetic, C-style-casting, structs, formatting ...)
actually its better to hop c to cpp because if you start learning cpp just like this you will end up writing c code in cpp
Avatar
i like how you handle that kind of stuff in C it is just really funny to me
Avatar
and if you know c already you will try to use an actual cpp benefits instead
Avatar
i like it
Avatar
Avatar
risu
OO is a curse
in c you will literally remake OO :P
Avatar
Avatar
zhn
actually its better to hop c to cpp because if you start learning cpp just like this you will end up writing c code in cpp
actually me
Avatar
Avatar
risu
OO is a curse
do you know a solution for doing what #embed does in C99?.... i would love to hear it
Avatar
Avatar
Teero
do you know a solution for doing what #embed does in C99?.... i would love to hear it
is there embed in c99?
14:01
thats the problem xd
14:01
use codegen
14:01
and why u stick to c99
14:02
ur not old fart
Avatar
Avatar
zhn
and why u stick to c99
challenge
14:02
have already made renderer with opengl and now using gtk for ui (edited)
Avatar
Avatar
Teero
challenge
write in pure asm xd
Avatar
I stick to C++17, because I don't need a challenge, I want to get stuff done
❤️ 1
Avatar
Avatar
Assa
I stick to C++17, because I don't need a challenge, I want to get stuff done
im getting stuff done
14:02
thats a stupid argument xd
Avatar
Avatar
zhn
in c you will literally remake OO :P
but no inheritance no virtual functions data and code beautifully separate, like they were meant to be
Avatar
depends if you need more or less stuff done in a unit of time. My time is limited, I don't want to overthink every single detail
Avatar
Avatar
risu
but no inheritance no virtual functions data and code beautifully separate, like they were meant to be
nah, you can reimplement inheritance, composition, virtual tables
Avatar
Avatar
zhn
nah, you can reimplement inheritance, composition, virtual tables
I can but I won't
Avatar
Avatar
zhn
nah, you can reimplement inheritance, composition, virtual tables
hmm depends.
Avatar
if you don't make anything bigger than a simple cli thing you will end up with this
Avatar
Avatar
Teero
thats a stupid argument xd
yes, I am missing the time aspect, or do you think you'll be faster with c99?
14:04
faster in programming, not in terms of program runtime
Avatar
Avatar
Assa
yes, I am missing the time aspect, or do you think you'll be faster with c99?
depends on the problem
Avatar
Every sufficiently complex software will eventually implement a slow buggy lisp
Avatar
bros lowkey machine code programmer
Avatar
Greenspun's tenth rule of programming is an aphorism in computer programming and especially programming language circles that states: Any sufficiently complicated C or Fortran program contains an ad hoc, informally-specified, bug-ridden, slow implementation of half of Common Lisp.
😂 1
14:05
my paraphrasing doesn't sound nearly as good as the original
Avatar
why the fuck wikipedia asks me to donate
14:06
they even have commercial branch company why the fuck they are begging to donate
Avatar
Avatar
zhn
they even have commercial branch company why the fuck they are begging to donate
because there is no money in actually good software or online services
Avatar
wikipedias donation campaign is somewhat shady, they don't need your money to keep the website alive, they are redirecting the money to sub-projects
f3 1
Avatar
Avatar
Assa
wikipedias donation campaign is somewhat shady, they don't need your money to keep the website alive, they are redirecting the money to sub-projects
Jupstar ✪ 2024-12-05 15:20
Even if, considering how huge and important Wikipedia is, it's not really lot of money actually. But every project of decent size attracts ppl that can't have enough money xd
Avatar
MilkeeyCat 2024-12-05 15:29
@Jupstar ✪ I got the bug with attached renderdoc :DD
Avatar
Jupstar ✪ 2024-12-05 15:30
epyc
15:30
press f12
Avatar
MilkeeyCat 2024-12-05 15:31
wat now
Avatar
Jupstar ✪ 2024-12-05 15:31
on the left press color pass
15:31
open it
15:31
then find where the cursor is drawn
15:32
on "Texture Viewer" you can see how the frame builds up
Avatar
MilkeeyCat 2024-12-05 15:34
ok, found
Avatar
Jupstar ✪ 2024-12-05 15:35
great, next is to go into the pipeline state
15:35
first click on "Vertex Mesh" or smth like that
15:35
that should show all vertices
15:35
Mesh View it is
Avatar
Jupstar ✪ 2024-12-05 15:36
15:36
these are the interesting fields
Avatar
Jupstar ✪ 2024-12-05 15:37
ok
15:38
so they actually are transparent for you
15:38
lol
Avatar
Avatar
MilkeeyCat
Click to see attachment 🖼️
Jupstar ✪ 2024-12-05 15:38
which ddnet version are you on?
Avatar
MilkeeyCat 2024-12-05 15:38
git revision hash: 2fad40204c14560b
Avatar
Jupstar ✪ 2024-12-05 15:40
how the hell can that even happen lol
15:40
something has to literally rewrite the buffer object
15:40
but not only that
15:40
it must perfectly only overwrite the alpha values
15:41
xd
Avatar
@Jupstar ✪ Are numbers in skin names fine or should I disallow that too
Avatar
Avatar
murpi
@Jupstar ✪ Are numbers in skin names fine or should I disallow that too
Jupstar ✪ 2024-12-05 15:41
idc, ig it can't hurt if the skin name does not start with a digit
15:41
but generally numbers can be typed by the international community ig
Avatar
What about whitespaces?
Avatar
MilkeeyCat 2024-12-05 15:43
@Jupstar ✪ is there anything else I can do?
Avatar
People seem to use underscores instead of whitespaces right now
Avatar
Avatar
murpi
What about whitespaces?
Jupstar ✪ 2024-12-05 15:43
i think we already have so many skins with them that it is kinda too late 😄
Avatar
Avatar
murpi
People seem to use underscores instead of whitespaces right now
Jupstar ✪ 2024-12-05 15:43
i think they often just look what the person above did xD
Avatar
Avatar
MilkeeyCat
@Jupstar ✪ is there anything else I can do?
Jupstar ✪ 2024-12-05 15:45
mhh dunno, i am honestly shocked xd
Avatar
Avatar
Jupstar ✪
i think they often just look what the person above did xD
I'd just use a regex to check the name, ^[a-zA-Z0-9\s_-]+$
Avatar
Jupstar ✪ 2024-12-05 15:46
@MilkeeyCat it happens while the client is open right? like it's not directly when you have the client open
Avatar
That'd allow latin letters, numbers, whitespaces, _ and -
Avatar
Avatar
Jupstar ✪
@MilkeeyCat it happens while the client is open right? like it's not directly when you have the client open
MilkeeyCat 2024-12-05 15:47
It happens sometimes when I open the client but not during the time when it's open (edited)
Avatar
Jupstar ✪ 2024-12-05 15:47
ok, i'm fine with that, we have very few skins with a dot, but i've nothing against not doing it
Avatar
Avatar
MilkeeyCat
It happens sometimes when I open the client but not during the time when it's open (edited)
Jupstar ✪ 2024-12-05 15:48
ah so it's not a runtime bug
15:48
but a setup bug
Avatar
MilkeeyCat 2024-12-05 15:48
ye
Avatar
Jupstar ✪ 2024-12-05 15:48
ok that helps a lot already
15:49
@Robyt3 if you have an idea why sometimes the color is not reset during client setup, you can go ahead and tell me xD The sometimes is what makes me a bit nervous. Just resetting the color probably fixes it
15:50
But do we even have conditional code in the setup?
15:50
Maybe RenderLoading ?
Avatar
Avatar
Jupstar ✪
i like, i like how the fk did you kill your dummy like that tho xD
hidden kill tiles
Avatar
Avatar
Jupstar ✪
@Robyt3 if you have an idea why sometimes the color is not reset during client setup, you can go ahead and tell me xD The sometimes is what makes me a bit nervous. Just resetting the color probably fixes it
Do we also save the current color during initialization of quad containers? I've also looked at this function and thought it should be impossible for the color to be anything except white. (edited)
15:54
Looks like the color could be 0.5 alpha after RenderLoading if we don't reset it before initializing the quad container
Avatar
Avatar
murpi
I'd just use a regex to check the name, ^[a-zA-Z0-9\s_-]+$
\s would also match other space characters, I guess we only want and not tabs/newline/zero-width spaces etc.
👍 1
Avatar
GitHub BOT 2024-12-05 15:58
Trying to fix a color bug during initialization for MilkeeyCat

Checklist

  • [ ] Tested the change ingame
  • [ ] Provided screenshots if it is a visual change
  • [ ] Tested in combination with possibly related configuration options
  • [ ] Written a unit test (especially base/) or added coverage to integration test
  • [ ] Considered possible null pointers and out of bounds array indexing
  • [ ] Changed no physics that affect existing maps
  • [ ] Tested the change with [ASan+UBSan or val...
Avatar
Avatar
zhn
in c you will literally remake OO :P
You don't have to. The OO lobby has poisoned your mind. Polymorphism isn't the only way to write code
Avatar
Today I'm integrating with an API that has a string field, that can only be "true" or "false"
Avatar
Avatar
Learath2
Today I'm integrating with an API that has a string field, that can only be "true" or "false"
Jupstar ✪ 2024-12-05 16:34
is it inside a json, or literally a parameter that takes "true" as string?
Avatar
Avatar
Jupstar ✪
is it inside a json, or literally a parameter that takes "true" as string?
It's a json payload, that has bools elsewhere and the parameter is called "reverseFlag". Absolutely zero reason that couldn't be a bool aswell 😄
16:39
Another funny thing is that items in the item array have a float price field, the overall payload has a string total price field
Avatar
Avatar
Learath2
It's a json payload, that has bools elsewhere and the parameter is called "reverseFlag". Absolutely zero reason that couldn't be a bool aswell 😄
Jupstar ✪ 2024-12-05 16:40
Then I've seen worse. Some delphi app that returns the boolean as string as "Wahr" which is german for true xDDDD
Avatar
float for money should be a crime (edited)
Avatar
Avatar
Jupstar ✪
Then I've seen worse. Some delphi app that returns the boolean as string as "Wahr" which is german for true xDDDD
LOL that's great i8n
Avatar
Avatar
Ryozuki
float for money should be a crime (edited)
Well it's accurate enough for pretty much any amount of money, when does a float32 even lose 2 digit precision?
Avatar
Jupstar ✪ 2024-12-05 16:42
f64 already looses it with 0.6 But only if you absolutely don't round
16:43
RR UU SS TT brownbear
Avatar
(fwiw internally I use fixed point numbers for money everywhere)
Avatar
Jupstar ✪ 2024-12-05 16:43
Sadly rust doesn't implement fixed points properly either
Avatar
There is a colleague I have that keeps making a PR trying to convert my nice fixed point numbers into doubles though
Avatar
Jupstar ✪ 2024-12-05 16:43
Seems like most ppl except us simply don't care
Avatar
Avatar
Learath2
Well it's accurate enough for pretty much any amount of money, when does a float32 even lose 2 digit precision?
u simply shouldnt use floats, store it as cents with integers
Avatar
Jupstar ✪ 2024-12-05 16:43
f64 is accurate enough for most xd
Avatar
Avatar
Ryozuki
u simply shouldnt use floats, store it as cents with integers
Jupstar ✪ 2024-12-05 16:44
that sadly doesn't work either
16:44
many apps want decimal cents
Avatar
Jupstar ✪ 2024-12-05 16:44
epyc
Avatar
Avatar
Jupstar ✪
that sadly doesn't work either
???
Avatar
Jupstar ✪ 2024-12-05 16:44
convinced me
Avatar
its how the industry standard works
16:45
depending on the money type its different quantity of cents
Avatar
Avatar
Jupstar ✪
many apps want decimal cents
You can cheat, internally do everything in cents, externally just put a fake dot
Avatar
u just need to save if its jpy or €
16:45
when displaying u just display it as float
16:46
losless arithmetic
Avatar
Working at this job has made me notice how godawful people are at designing APIs, it's almost like most of the time there is no design at all
Avatar
Jupstar ✪ 2024-12-05 16:46
i am not rich enough that f64 is inaccurate enough 😏
Avatar
Avatar
Learath2
Working at this job has made me notice how godawful people are at designing APIs, it's almost like most of the time there is no design at all
this makes me think being a "software architect" isnt as hard as it might be given the level on the field
Avatar
Bigger companies like Stripe/Paypal are great, they have very well documented very flexible apis, but these small vendors create the most attrocious horseshit I've ever seen
Avatar
Avatar
Learath2
Working at this job has made me notice how godawful people are at designing APIs, it's almost like most of the time there is no design at all
Jupstar ✪ 2024-12-05 16:47
tbf, it is hard. Either an API is super fast and sucks to use. Or it's super easy and doesn't scale xd
Avatar
stripe looks rly good
16:47
but lately high fees for small players
Avatar
Jupstar ✪ 2024-12-05 16:47
So they end up using the worst from both worlds
16:47
Super hard to use, and still shit
Avatar
Avatar
Jupstar ✪
tbf, it is hard. Either an API is super fast and sucks to use. Or it's super easy and doesn't scale xd
just use mongodb for web scale
Avatar
Avatar
Jupstar ✪
tbf, it is hard. Either an API is super fast and sucks to use. Or it's super easy and doesn't scale xd
This integration I'm working on is worst of both worlds. It's slow, sucks to use and doesn't scale
16:48
They really managed to capture something special here
Avatar
have u considered piping it to dev null
Avatar
Avatar
Ryozuki
have u considered piping it to dev null
It would be very fast
16:49
Just breaks a couple ACID promises
16:49
I guess it's still atomic, you never observe the change so you can't observe half changes
16:50
It's also still consistent, nothing is always consistent with nothing, and the database state never changes so it can't become inconsistent
16:50
Actually /dev/null might be a better db than mongo
Avatar
It just needs to work a little on the Durability
Avatar
whoever added the words emotes is a genius
UU 1
Avatar
Avatar
Learath2
Today I'm integrating with an API that has a string field, that can only be "true" or "false"
This reminds me, today I noticed that in Rust lto = false does not disable LTO, you have to do lto = "off" instead: https://doc.rust-lang.org/cargo/reference/profiles.html
17:11
false: Performs “thin local LTO” which performs “thin” LTO on the local crate only across its codegen units. No LTO is performed if codegen units is 1 or opt-level is 0.
17:33
@heinrich5991 @Jupstar ✪ did u know this trick?
Avatar
GitHub BOT 2024-12-05 17:33
9075631 Reset color in RenderLoading & HUD - Jupeyy 1498534 Merge pull request #9347 from Jupeyy/pr_reset_color - def-
Avatar
shows results for converting from a type to another in docs
Avatar
Avatar
Ryozuki
shows results for converting from a type to another in docs
Jupstar ✪ 2024-12-05 17:34
Lol interesting
17:34
but you have to know the name of the generic attribute xd
17:36
not at all
17:36
17:36
xd
Avatar
Avatar
Ryozuki
not at all
Jupstar ✪ 2024-12-05 17:38
for me it at least rejects wrong ones
17:39
for some entries
17:39
replaced T with B
Avatar
MilkeeyCat 2024-12-05 18:19
@Jupstar ✪ thx for fixing the bug heartw
Avatar
does anyone know how to capture wine output? It starts to get ... weird: wine cmd /c start ${BUILD_DIR}/tests.exe ^> output.txt
18:45
this doesn't work btw, but this works on windows (ofc without wine)
18:47
nevermind this doesn't work because of the directory, lol fck mcrsft
Avatar
Jupstar ✪ 2024-12-05 18:48
do you want to capture output inside wine or simply the linux terminal output? (edited)
Avatar
I figured it out, it's build\\tests.exe instead of build/tests.exe fck me I guess
18:49
annoyingly the output doesn't get captured by wine at all, I want to capture the output of the windows binary
Avatar
Koll Potato 2024-12-05 19:08
19:08
feelsbadman
Avatar
Jupstar ✪ 2024-12-05 19:08
time to fill up a pr
Avatar
ddnet (or teeworlds for that matter) is quantizing the positions and velocities, I always wondered why? What's the benefit of doing this, is this for lower bandwidth?
Avatar
Avatar
Assa
ddnet (or teeworlds for that matter) is quantizing the positions and velocities, I always wondered why? What's the benefit of doing this, is this for lower bandwidth?
You'd have to ask matricks, I'm guessing it's a combination of many things, it's better for determinism, it's better for network efficiency
19:25
I think the only reason it's not straight up fixed point is because he didn't want to have a max map size
Avatar
@matricks if you ever end up checking discord again this 🙃
Avatar
oh yea i forgot matricks was here
Avatar
I also hate floats with a passion, so I would have probably gone entirely with fixed point numbers only converting to float at the very very end because gpus can't do fixed point
19:42
With fixed point everywhere we'd have even better determinism, stuff like moving parts around the map would work perfectly
Avatar
GPUs can do fixed point, just not in a single operation but two
Avatar
Avatar
Chairn
GPUs can do fixed point, just not in a single operation but two
They can do operations but you still need to get to a float to display stuff, no? The coordinate system doesn't understand fixed point
Avatar
what coordinate system ?
19:57
most libs to draw things in 3D uses floating points, so i'd guess the underlying hardware is probably using floating point as well
Avatar
Jupstar ✪ 2024-12-05 19:59
opengl and vulkan have support for fixed points ranging from 0-1.. so basically no integer part. ddnet even uses that. If however this means the GPU makes use of it, is another topic xd
Avatar
in embedded cpu, i often see hardware support for 1.7 fixed point format
20:02
don't know why specifically this format though
Avatar
time to remember the terms I used back when I was actively translating
Avatar
Avatar
Chairn
what coordinate system ?
hm, aren't all coordinates expected to be in normalized floating point? Is there support for integer texel coordinates e.g.?
Avatar
i don't really know what's inside gpu
20:05
weirdly enough, it's not taught in any hardware design class i know of (edited)
Avatar
Avatar
Chairn
weirdly enough, it's not taught in any hardware design class i know of (edited)
it's probably all proprietary anyway 🙃
Avatar
well, we now have open hardware for cpu, soon gpus will follow as well
20:07
im sure i've seen opengpu somewhere already
20:07
but it's more gpus used for computing rather than for drawing i think
Avatar
Avatar
Learath2
hm, aren't all coordinates expected to be in normalized floating point? Is there support for integer texel coordinates e.g.?
Jupstar ✪ 2024-12-05 20:07
do you mean theoretically or practically? you can fetch texels above 1.0, it depends on your texture wrap what the result is then. repeating texture or clamp to edge etc.
Avatar
Is there any capability in vk or gl to address a specific pixel on a texture e.g.?
Avatar
Avatar
Learath2
Is there any capability in vk or gl to address a specific pixel on a texture e.g.?
Jupstar ✪ 2024-12-05 20:07
u can fetch a texel
Avatar
Avatar
Jupstar ✪
do you mean theoretically or practically? you can fetch texels above 1.0, it depends on your texture wrap what the result is then. repeating texture or clamp to edge etc.
I mean 1.0 is a float, and I know going above it wraps. I'm curious if there is support for proper integer coordinates, or say a fixed point coordinate
Avatar
Avatar
Jupstar ✪
u can fetch a texel
By it's exact integer coordinates without ever having to convert to float?
Avatar
Avatar
Learath2
By it's exact integer coordinates without ever having to convert to float?
Jupstar ✪ 2024-12-05 20:09
yes
Avatar
Oh, that's cool, I did not know this
Avatar
The RayV Lite will make it hundreds of times cheaper for anyone to carry out physics-bending feats of hardware hacking.
Avatar
Jupstar ✪ 2024-12-05 20:12
the biggest problem of fixed points is simply the value range. if you are not currently working with [0-1] numbers only, then you directly need a 64bit fixed point to have a decent value range
Avatar
16.16 would be well enough for ddnet
Avatar
Avatar
Jupstar ✪
the biggest problem of fixed points is simply the value range. if you are not currently working with [0-1] numbers only, then you directly need a 64bit fixed point to have a decent value range
Yeah, range is the well known issue. I thought hardware support on gpus were also an issue but I guess not
Avatar
largest maps are not 64K blocks large, so it would work quite well
Avatar
Avatar
Chairn
16.16 would be well enough for ddnet
Jupstar ✪ 2024-12-05 20:13
and do you also perform your math operations on the size?
Avatar
Avatar
Chairn
largest maps are not 64K blocks large, so it would work quite well
You probably don't need 16 bits after the dot even, so you can maybe have larger maps too
Avatar
«Close»? Where this one appears?
Replying to EGYT time to remember the terms I used back when I was actively translating
Avatar
Avatar
Learath2
You probably don't need 16 bits after the dot even, so you can maybe have larger maps too
Jupstar ✪ 2024-12-05 20:14
i dont think we can handle more than u16xu16 maps ever xd
20:14
i even made it a hard limit
Avatar
Avatar
Jupstar ✪
and do you also perform your math operations on the size?
wdym ?
Avatar
Avatar
Jupstar ✪
i dont think we can handle more than u16xu16 maps ever xd
so technically a 16.16 fixed point integer would be sufficient for teeworlds in your opinion?
20:15
It has enough range and has 0% error across the range
Avatar
Avatar
Learath2
so technically a 16.16 fixed point integer would be sufficient for teeworlds in your opinion?
Jupstar ✪ 2024-12-05 20:16
hard to say, i'd need to see how common math functions would be implemented, like tan, sqrt etc.
Avatar
Avatar
Chairn
wdym ?
Jupstar ✪ 2024-12-05 20:16
like always stay 16.16
20:16
never use higher resolution
Avatar
Avatar
Jupstar ✪
hard to say, i'd need to see how common math functions would be implemented, like tan, sqrt etc.
I didn't mean performance wise. This is another big issue with fixed point math, they just don't have the great hardware support floats get
Avatar
Avatar
Learath2
I didn't mean performance wise. This is another big issue with fixed point math, they just don't have the great hardware support floats get
Jupstar ✪ 2024-12-05 20:17
i also don't mean performance wise
Avatar
Well if you don't care about performance you can get as accurate as you want with your tan sqrt etc
Avatar
multiplication would need 64b (32.32) integer then rescaling to 16.16
Avatar
Jupstar ✪ 2024-12-05 20:17
let's reformulate. if zwelf would try out fixed points and all his tests would still work. why not xd
Avatar
sqrt on int is pretty easy
Avatar
Both can be implemented as a power series expansion
Avatar
for trigonometric, either table based or cordic could work
Avatar
Jupstar ✪ 2024-12-05 20:18
ah @Learath2 btw 16 is not enough, bcs we can go -200 into the map
20:18
forgot about that
20:18
so for coordinates it's not enough
Avatar
also note that these functions are not that performant on float either
Avatar
Jupstar ✪ 2024-12-05 20:18
only for rendering xdd
Avatar
Avatar
Jupstar ✪
ah @Learath2 btw 16 is not enough, bcs we can go -200 into the map
wym -200 into the map?
Avatar
Avatar
Jupstar ✪
ah @Learath2 btw 16 is not enough, bcs we can go -200 into the map
16.16 is signed
Avatar
Jupstar ✪ 2024-12-05 20:19
like outside the map
Avatar
Avatar
Chairn
16.16 is signed
Jupstar ✪ 2024-12-05 20:19
yes but then i16 is really small
Avatar
still leaves you 32K block maps
Avatar
Jupstar ✪ 2024-12-05 20:19
except we only want 32k max size
20:19
but that already halves it
20:20
i mean 32.32 would be that bad tbh, not like 99% of all modern cpus that could start ddnet don't have 64bit instruction set anyway. but yeah would still cost bit perf probs (edited)
Avatar
Avatar
Jupstar ✪
let's reformulate. if zwelf would try out fixed points and all his tests would still work. why not xd
This is impossible I guess. Maps rely on floating point inaccuracy now. Drop parts break at different distances to the origin
Avatar
Avatar
Learath2
This is impossible I guess. Maps rely on floating point inaccuracy now. Drop parts break at different distances to the origin
Jupstar ✪ 2024-12-05 20:21
yeah ofc without the edge cases
20:22
if we end up re-releasing 5 maps
20:22
that doesn't sound too bad lmao
Avatar
I would most definitely experiment with it, but I don't think performance requirements can be satisfied easily without some hw support
Avatar
Avatar
Learath2
I would most definitely experiment with it, but I don't think performance requirements can be satisfied easily without some hw support
Jupstar ✪ 2024-12-05 20:22
i mean modern cpus have insane integer performance
20:24
my personal serious concern with fixed points is really language support
Avatar
int performances is alwyas better than float performances because there are more int functional units than floats ones
Avatar
Avatar
Jupstar ✪
my personal serious concern with fixed points is really language support
basic cpp class should do it
Avatar
Jupstar ✪ 2024-12-05 20:24
i use fixed crate a bit in rust for some binary layouts. and working with it is really not nice xD
Avatar
with inlining operators, it would be quite efficient
Avatar
Maybe that's what I should try as my teeworlds project. Just rewrite the whole thing in fixed point integers
🫡 1
Avatar
rewrite the entire thing in Go
Avatar
Avatar
Chairn
basic cpp class should do it
Jupstar ✪ 2024-12-05 20:25
not that easy, u also need sqrt, tan, sin etc.
20:25
without that it's not usable
Avatar
@Jupstar ✪ so wait, can I really just upload fixed point ints into the gpu as coordinates?
Avatar
Avatar
Learath2
@Jupstar ✪ so wait, can I really just upload fixed point ints into the gpu as coordinates?
Jupstar ✪ 2024-12-05 20:26
as said only normalized ones
20:26
so [0-1] range
Avatar
Avatar
Jupstar ✪
not that easy, u also need sqrt, tan, sin etc.
These are mostly solved problems, idk if the performance is up to par nowadays, but it's all either tables or series or iterative numeric methods
Avatar
Avatar
Learath2
These are mostly solved problems, idk if the performance is up to par nowadays, but it's all either tables or series or iterative numeric methods
Jupstar ✪ 2024-12-05 20:27
maybe rust lacks behind in that matter
20:27
i don't know any fixed point lib that feels like a drop in replacement (edited)
Avatar
Avatar
Jupstar ✪
not that easy, u also need sqrt, tan, sin etc.
well, just implement the functions as well, i don't see any issue with that, except maybe performance
Avatar
GitHub BOT 2024-12-05 20:34
853b641 CI: Add Android - def- 04c39ba Merge pull request #9346 from def-/pr-android-ci - Robyt3
Avatar
GitHub BOT 2024-12-05 20:47

Checklist

  • [ ] Tested the change ingame
  • [ ] Provided screenshots if it is a visual change
  • [ ] Tested in combination with possibly related configuration options
  • [ ] Written a unit test (especially base/) or added coverage to integration test
  • [ ] Considered possible null pointers and out of bounds array indexing
  • [ ] Changed no physics that affect existing maps
  • [ ] Tested the change with [ASan+UBSan or valgrind's memcheck](https://github.com/ddnet/ddnet/#using-ad...
Avatar
Here you are (edited)
20:48
Waiting for the F-Droid build xD
Avatar
Avatar
EGYT
Waiting for the F-Droid build xD
Jupstar ✪ 2024-12-05 20:51
good luck waiting, bcs f-droid really is annoying xD
20:51
it takes like one week before your build is done
20:53
fdroid also has pretty strict requirements on the build tools. dunno how exactly that process works xd
Avatar
GitHub BOT 2024-12-05 21:15
6f3c4fe pr#9329 supplement - ASKLL-STAR 7d500bf Merge pull request #9330 from ASKLL-STAR/patch-1 - def-
Exported 628 message(s)
Timezone: UTC+0