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-11-14 00:00 and 2024-11-15 00:00
Avatar
ws-client BOT 2024-11-14 00:03
<ChillerDragon> @Anime.pdf lmao
00:03
<ChillerDragon> @Koll Potato pro
Avatar
Avatar
meloƞ
Afair you can change the tick rate of your local server without client changes
it causes everything to be confused
00:18
it thinks u have connection problems
00:18
and u can barely move
00:18
and u ping back and forth
00:18
like packet loss
00:18
but constantly more than uve ever fealt
Avatar
Avatar
meloƞ
Afair you can change the tick rate of your local server without client changes
This is just bandwidth it doesn't change the speed of the game.
Avatar
ChillerDragon
02:35
A wonderful man risu made a script in python, which allows you to output the necessary commands in tune to slow down / speed up the game, everything works great, but there is one drawback. At a deceleration of 4x or more , when reaching the peak height during a normal jump, the player stops falling for 0.5 seconds or more with each deceleration
Avatar
Is it possible to fix it
Avatar
ws-client BOT 2024-11-14 03:02
<ChillerDragon> ddnet has more open pull requests than sdl
03:03
<ChillerDragon> @Evelyn i am not going to mess with tunes
Avatar
Who should I contact?
Avatar
I think it's due to the game rounding very small velocities to 0, I could try to figure out where specifically that happens but obviously can't be fixed without changing the code
Avatar
Well, try it?
Avatar
chillerdragon BOT 2024-11-14 06:23
You could ask the owners of the server you are trying to copy -.-
Replying to @Evelyn Who should I contact?
Avatar
whips his coding slaves
Avatar
Avatar
chillerdragon
You could ask the owners of the server you are trying to copy -.-
He sells a SlowNet device for $4, I'm sorry, but it's not that clowning, it's moronism. This is implemented in a couple of commands in tune, and he evaluates them for $ 4. I want to implement it for free
Avatar
MilkeeyCat 2024-11-14 07:44
My neovim broke without a reason, wtf pepeW (edited)
Avatar
Avatar
MilkeeyCat
My neovim broke without a reason, wtf pepeW (edited)
nouis
07:44
what broke
Avatar
MilkeeyCat 2024-11-14 07:44
It just closes with exit code 0 when I try to open a directory
Avatar
Avatar
MilkeeyCat
My neovim broke without a reason, wtf pepeW (edited)
emacs when?
Avatar
Avatar
Teero
emacs when?
you make me sick
07:45
use helix
Avatar
The only thing I'm annoyed at in neovim is that opening huge files isn't optimized. (edited)
Avatar
idk i like helix
Avatar
Is it good?
07:53
I've never tried it
Avatar
some things are different, but i just like that i dont need to tinker anything for it to be a functional code editor
07:56
now ofc i did set this up with nix and not their toml format, but the only settings i changed were some keybinds like <leader>f for file picker in cwd $ for gotoline_end `` for goto_line_start etc, because i was used to those from vim
Avatar
アリヂン 2024-11-14 08:03
helix is cool until you need to customize it 👍
08:04
also... helix has a lot of kickass colorschemes
Avatar
MilkeeyCat 2024-11-14 08:04
I had some sus values in .local/share/nvim/.netrwhist, I removed them and now nvim works
Avatar
アリヂン 2024-11-14 08:05
netrw nouis
Avatar
MilkeeyCat 2024-11-14 08:47
I thought it didn't work because it was pointing to non existing directories but I put one myself and it just deleted it, but worked as expected, weird :\
Avatar
Who knows where in the code gravity is rounded to 0 if the value is very small
Avatar
@Evelyn choose a channel to ask these questions, dont ask the same in multiple please
Avatar
Avatar
furo
@ывпаовпраропавропрао The general idea is that you have one variable to track which tick the "delay" was last executed, and then check if that tick was more than 7 seconds ago. You can get the current tick from the client using the CGameWorld::GameTick() function. You can convert ticks to seconds by dividing the value by SERVER_TICK_SPEED (50).
ывпаовпраропавропрао 2024-11-14 08:52
thx
Avatar
Avatar
Evelyn
Who knows where in the code gravity is rounded to 0 if the value is very small
Search for quantize
Avatar
Avatar
Teero
Search for quantize
What is this?
Avatar
Avatar
Evelyn
He sells a SlowNet device for $4, I'm sorry, but it's not that clowning, it's moronism. This is implemented in a couple of commands in tune, and he evaluates them for $ 4. I want to implement it for free
montikboom 2024-11-14 11:23
BRO LOL IT'S NOT, IM OWNER OF IT, WE ARE SELLING THE PROJECT WHICH WE TRYING TO GET TASNET LEVEL, WE NOW GOING TO USE THE CODE, NOT TUNES
Avatar
WE ARE SELLING THE PROJECT WHICH WE TRYING TO GET TASNET LEVEL
what?
(edited)
Avatar
Avatar
meloƞ
WE ARE SELLING THE PROJECT WHICH WE TRYING TO GET TASNET LEVEL
what?
(edited)
nankudo ᵃᵗᵗᵃᶜᵏ 2024-11-14 11:30
he is trying to say that code is being written and they are trying to do something similar to TASNET
Avatar
ITS COPYRIGHTED
Avatar
Avatar
montikboom
BRO LOL IT'S NOT, IM OWNER OF IT, WE ARE SELLING THE PROJECT WHICH WE TRYING TO GET TASNET LEVEL, WE NOW GOING TO USE THE CODE, NOT TUNES
Bro, and I leaked tune for free
12:13
And moreover, what potential does slownet have, it's either slowing down or accelerating, it can't cost $4
12:13
What are you going to bring to the tasnet level? slowing down?
Avatar
i rly enjoy slowmo servers in 2012 tbh
Avatar
Avatar
Evelyn
Bro, and I leaked tune for free
u both are trying to copy something that got popular, you can cooperate instead
KEKW 1
Avatar
I personally saw his idea, and saw that it sells it. I wanted to implement a completely free
Avatar
Official Code for ECCV 2024 paper — One-Shot Diffusion Mimicker for Handwritten Text Generation - dailenson/One-DM
13:26
handwriting is dead
13:26
catSmash
Avatar
can we stop trying to make money out of FOSS software please pepeW
Avatar
i just got here, did someone sell ddnet
Avatar
let it be implemented for free*
13:29
whips his coding slaves again
justatest 2
13:29
kek
13:30
coding slaves cry in binary
Avatar
i thought we don't use the s-word anymore
Avatar
you don't :0
Avatar
Avatar
Evelyn
What are you going to bring to the tasnet level? slowing down?
montikboom 2024-11-14 13:33
Stoping time, better slowing, time reverse etc.
Avatar
Avatar
meloƞ
can we stop trying to make money out of FOSS software please pepeW
I mean, it's perfectly legal as long as you provide source :)
Avatar
GitHub BOT 2024-11-14 13:47
After launching the game, about 30 minutes or so, the game lag when moving the mouse. Using Steam release. !test
Avatar
Avatar
Learath2
ITS COPYRIGHTED
Avolicious 2024-11-14 13:52
*copyright* doesnt prevent people from doing it 😄 (edited)
Avatar
maybe copyleft does
13:54
to some degree
Avatar
Koll Potato 2024-11-14 13:54
copyfly
Avatar
copyleft is real
Avatar
Avatar
jxsl13
copyleft is real
Avolicious 2024-11-14 13:57
just words ¯\_(ツ)_/¯
Avatar
Avatar
zhn
u both are trying to copy something that got popular, you can cooperate instead
montikboom 2024-11-14 14:04
Slownet is popular?😨 (edited)
Avatar
Avatar
meloƞ
can we stop trying to make money out of FOSS software please pepeW
NO. We live in a capitalism. Must make money
Avatar
Avatar
Learath2
NO. We live in a capitalism. Must make money
damn, tell deen to sell ddnet on steam for 10€
14:13
but keep it free on website harold
14:13
time tracking costs 10€ now
Avatar
Avatar
meloƞ
but keep it free on website harold
Avolicious 2024-11-14 14:14
Thats what some MacOS apps do ^^
KEKW 1
14:14
Pay if you want it from Apple Store, download it for free on homebrew
14:14
Actually smart
14:14
Because rich people use apple store anyways
14:15
And please dont bring the argument that apple is too expensive. Compare Lenovo or any other business crap-ware against M1/M2/M3 owo (edited)
Avatar
in capitalism: wage slave in socialism: slave
Avatar
your guys's fault for not going all into crypto before trump became president EssexLemonEat
Avatar
still got time until january/february
Avatar
Avatar
risu
I mean, it's perfectly legal as long as you provide source :)
Dart Monkey 2024-11-14 14:17
It depends on the license 🤓
Avatar
Avatar
meloƞ
your guys's fault for not going all into crypto before trump became president EssexLemonEat
Avolicious 2024-11-14 14:17
Yeah, bought Solana a few years back. Was a nice hype (edited)
Avatar
sell your family and friends for crypto
Avatar
Avatar
jxsl13
sell your family and friends for crypto
damn i sold them back then for doge.. what to do now
Avatar
well
14:18
start gambling with shitcoins, I guess
Avatar
Avolicious 2024-11-14 14:18
Invest in Shiba Inu pepeH (edited)
Avatar
Avatar
jxsl13
start gambling with shitcoins, I guess
i tried because @Brokecdx- forced me to - i lost all gg
😂 1
Avatar
hold your doge
14:20
until Elongates Tusk joins Trump in office.
Avatar
Avolicious 2024-11-14 14:20
So january?
Avatar
yep around that time
Avatar
Avatar
meloƞ
i tried because @Brokecdx- forced me to - i lost all gg
Koll Potato 2024-11-14 14:22
thats why he is brokecdx and not richcdx
kek 1
Avatar
Avatar
jxsl13
yep around that time
Avolicious 2024-11-14 14:22
Whats your prediction? Can we base a teeworlds coin on it?
Avatar
Koll Potato 2024-11-14 14:22
gamble ddnet donations
14:22
brownbear
Avatar
Avatar
Avolicious
Whats your prediction? Can we base a teeworlds coin on it?
doubt it. you need to be a rich internet troll with a big following
Avatar
Avatar
jxsl13
doubt it. you need to be a rich internet troll with a big following
Avolicious 2024-11-14 14:23
We have reddit
Avatar
"rich" not necessarily bad
Avatar
Avolicious 2024-11-14 14:23
and X
Avatar
Avatar
Avolicious
Whats your prediction? Can we base a teeworlds coin on it?
twinbop NFT's when
14:24
make nfts from the skin database
Avatar
Avatar
meloƞ
twinbop NFT's when
Avolicious 2024-11-14 14:24
First I wanted to add microtransactions to use a skin on gores servers
HUH 1
Avatar
Melon, you genius
Avatar
my wealth doesnt come from working hard, but hardly working
14:24
harold
Avatar
but from 0.7 skins
Avatar
Avolicious 2024-11-14 14:24
Then I will add microstransaction to actually play the game
justatest 1
Avatar
easier to generate
Avatar
Avolicious 2024-11-14 14:25
After that has been implemented, we can start our NFT stuff
14:25
passive income
Avatar
Avatar
Avolicious
Then I will add microstransaction to actually play the game
"this server is licensed, please enter a valid 10$ paysafecard code in to access it (one time use) - for permanent use, please go to thriftshop.kog.org and buy an unlimited license for 500$" (edited)
Avatar
Avolicious 2024-11-14 14:26
unlimited is too long - lifetime is better term 😄
kek 2
14:26
unlimited is bound to time, lifetime bound to a person
justatest 1
Avatar
nah imagine my child playing on my account and i die, and she feels all sad and stuff and the first thing that happens is the license running out
14:27
"your lifetime ended"
Avatar
Avolicious 2024-11-14 14:27
Damn
14:27
But I would prefer a season pass
14:27
recurring passive income every 6 months
14:27
After all upgrading like FIFA does.. Just change the title from 2024 to 2025 and start from zero
Avatar
a battle pass with seasonal rewards (every 10th level is a single cosmetic for 1 week) - and it doesnt pay itself back so you have to spend money on it every month
Avatar
Avatar
meloƞ
a battle pass with seasonal rewards (every 10th level is a single cosmetic for 1 week) - and it doesnt pay itself back so you have to spend money on it every month
Avolicious 2024-11-14 14:28
more ideas, yes sir
14:28
wanna be Senior Global Key Account Manager?
Avatar
absolutely
Avatar
Avatar
Avolicious
more ideas, yes sir
Paying for physics changes please!! I want a realllly long hook for 5€
Avatar
Avatar
Teero
Paying for physics changes please!! I want a realllly long hook for 5€
Avolicious 2024-11-14 14:40
Talk to @meloƞ he is senior global key account manager
14:40
he will set up the deal
14:41
discussing the details like pricing, discounts, duration
Avatar
Hi @meloƞ hi hi hi change euro to long hook 🥺🥺🥺🪝
Avatar
hey there @Teero, thanks for your request! i sadly have to inform you that our company is thriving to rise, and 5€ is nothing we can agree on at the time of writing. i can however offer you a great deal of an extended Hook range (+50%) or even the limitless Hook range (u64)! the prices are attached, thank you in advance and i hope to see you in game! extended hook: 49,99$ - tax limitless hook: 449,95$ - tax every cosmetic comes with a 3$ recovery fee, as well as a 10$ cleanup fee. thanks! (edited)
Avatar
Avatar
montikboom
Slownet is popular?😨 (edited)
tasnet is
Avatar
Avatar
meloƞ
hey there @Teero, thanks for your request! i sadly have to inform you that our company is thriving to rise, and 5€ is nothing we can agree on at the time of writing. i can however offer you a great deal of an extended Hook range (+50%) or even the limitless Hook range (u64)! the prices are attached, thank you in advance and i hope to see you in game! extended hook: 49,99$ - tax limitless hook: 449,95$ - tax every cosmetic comes with a 3$ recovery fee, as well as a 10$ cleanup fee. thanks! (edited)
I want to pay -499$ for negative hook range pls
14:44
ez exploit
Avatar
teero tell me the truth
14:44
u were the real racer justatest
Avatar
hi, i'm trying to write a command that will change SERVER_TICK_SPEED (I made it from an enum to a regular variable), but there is a problem when I use this command - if I was in flight, for example, I will start to fall VERY laggy, and if I'm standing, I can't do anything do and the message about connection problems flashes. and only after 5 minutes of this the speed finally changes (and during the change you cannot log into the server, although the ping is displayed and the number of players is also displayed)
Avatar
Avatar
zhn
u were the real racer justatest
Some rando redacted client user
Avatar
Avatar
idk
hi, i'm trying to write a command that will change SERVER_TICK_SPEED (I made it from an enum to a regular variable), but there is a problem when I use this command - if I was in flight, for example, I will start to fall VERY laggy, and if I'm standing, I can't do anything do and the message about connection problems flashes. and only after 5 minutes of this the speed finally changes (and during the change you cannot log into the server, although the ping is displayed and the number of players is also displayed)
yahoo, ee have another one, guys kek
KEKW 2
Avatar
whats up with slow motion servers man
Avatar
Avatar
idk
hi, i'm trying to write a command that will change SERVER_TICK_SPEED (I made it from an enum to a regular variable), but there is a problem when I use this command - if I was in flight, for example, I will start to fall VERY laggy, and if I'm standing, I can't do anything do and the message about connection problems flashes. and only after 5 minutes of this the speed finally changes (and during the change you cannot log into the server, although the ping is displayed and the number of players is also displayed)
the game is hardcoded at 50tps for a reason. the dev set the value, and made the game without ever changing that. it is currently practically imposible to change the tickrate.
Avatar
Avatar
meloƞ
whats up with slow motion servers man
kids love em
Avatar
Avolicious 2024-11-14 14:45
Whats up with people changing SERVER_TICK_SPEED?
Avatar
Avatar
Avolicious
Whats up with people changing SERVER_TICK_SPEED?
server side TAS being popular ig
Avatar
Avatar
idk
hi, i'm trying to write a command that will change SERVER_TICK_SPEED (I made it from an enum to a regular variable), but there is a problem when I use this command - if I was in flight, for example, I will start to fall VERY laggy, and if I'm standing, I can't do anything do and the message about connection problems flashes. and only after 5 minutes of this the speed finally changes (and during the change you cannot log into the server, although the ping is displayed and the number of players is also displayed)
The client does not know that the physics are different. Try doing cl_predict to 0
Avatar
I would never expect it to be this popular ngl. Same game, but slomo
Avatar
gm devs what’s on the agenda
14:46
why is everyone changing tick speed??
Avatar
gm Ewan, i have no idea kek
😃 1
Avatar
oh LOL
14:46
avo said the same thing
14:46
kek
Avatar
Avatar
idk
hi, i'm trying to write a command that will change SERVER_TICK_SPEED (I made it from an enum to a regular variable), but there is a problem when I use this command - if I was in flight, for example, I will start to fall VERY laggy, and if I'm standing, I can't do anything do and the message about connection problems flashes. and only after 5 minutes of this the speed finally changes (and during the change you cannot log into the server, although the ping is displayed and the number of players is also displayed)
also the client does not support any tick speed other than 50, you'll just get desync if you change that.
Avatar
To lower the tickspeed properly, I think you'd have to fill in the gaps with doubled up or interpolated snaps
Avatar
i mean, there is a thing where people swears 120tps is better than 60tps in CSGO
KEKW 1
Avatar
Avatar
TsFreddie
i mean, there is a thing where people swears 120tps is better than 60tps in CSGO
It's much easier to bhop with 120 ticks
Avatar
same concept behind refresh rate
14:48
i believe it
Avatar
Avatar
TsFreddie
also the client does not support any tick speed other than 50, you'll just get desync if you change that.
im just changing this enum and in client
Avatar
Avatar
Learath2
I would never expect it to be this popular ngl. Same game, but slomo
it allows people to pretend they're good personally I find it quite fun to be able to shitfly with dummy
Avatar
the simple thing is that if I change the server_tick_speed variable in the code not with a command and build again everything is ok
Avatar
not with a command?
Avatar
Avatar
Learath2
It's much easier to bhop with 120 ticks
i mean, it might be true, but i would pull a teeworlds here and say bhop shouldn't even be a thing
Avatar
Avatar
Ewan
not with a command?
im codded command which changing server tick speed
Avatar
Avatar
Ewan
i believe it
less aliasing is generally more better
Avatar
Avatar
idk
im codded command which changing server tick speed
this wouldn’t work without a refactor to that variable
14:49
it’s a preprocessor constant right?
Avatar
Avatar
Ewan
this wouldn’t work without a refactor to that variable
like the thing is that if I do it with a command, then it lags for 5 minutes and after that it changes the game speed
Avatar
i think i dont know what im talking about then
Avatar
Avatar
idk
the simple thing is that if I change the server_tick_speed variable in the code not with a command and build again everything is ok
it is possible that you've messed up the tick info in the packet in some way. maybe something is calculated with tick = tickspeed * constant and other things are implemented with next_tick = next_tick + constant * tickspeed. again the code does not have changing tickspeed in mind in the first place. you will need to huntdown every tickspeed related calculation and adjust the implementation to make them sync
Avatar
Avatar
TsFreddie
i mean, it might be true, but i would pull a teeworlds here and say bhop shouldn't even be a thing
Just say you are 2bad
Avatar
Avatar
Ewan
this wouldn’t work without a refactor to that variable
replacing #define with int isn't exactly hard...
Avatar
Avatar
Learath2
Just say you are 2bad
i don't play CS tbh
Avatar
okay I know there's more to it than that but you know
Avatar
Avatar
risu
replacing #define with int isn't exactly hard...
sort of is when you consider runtime implications
14:51
i dont think it would be complicated necessarily but it’s non trivial
Avatar
yeah I think it's pretty obvious that making it not break the game isn't super simple
Avatar
but it'll compile just fine :)
Avatar
they obviously didn't consider that and thought it would be a simple change and we are just telling them it isn't that simple i think
14:52
ithink
Avatar
yeah you could do it but you need to be on top of that variable’s state
14:52
and make sure it’s not copied anywhere i guess
14:52
tickrate() W
Avatar
Avatar
Ewan
and make sure it’s not copied anywhere i guess
oh right, and that
Avatar
Avatar
idk
like the thing is that if I do it with a command, then it lags for 5 minutes and after that it changes the game speed
There is a pr open for variable tick rate that mostly works, maybe look at that? Idk no one really messed around with this in a decade because no one really made slowmo servers
Avatar
Ngl I could be funny to make a new tile that slows you down or speeds you up
Avatar
Avatar
TsFreddie
i mean, there is a thing where people swears 120tps is better than 60tps in CSGO
but it actually is?
Avatar
either way i would say it is practically impossible if it is a hobby project
Avatar
If you want to try it locally then you could merge #7555, but it doesn't support lower tickrates than 50
Avatar
I want to make it clear that my intent is not for offical DDRace servers to change with this pr. Without recompiling with a different tickrate nothing in the gameplay will change. DDNet is the clie...
poggers2 1
Avatar
Avatar
Teero
Ngl I could be funny to make a new tile that slows you down or speeds you up
A tune zone??
Avatar
i still hear rumors from old cs16 players that they cant flick with awp like back in the days on high tps servers
Avatar
oh you mean multiplies your existing velocity
14:53
I'm dum (edited)
Avatar
Avatar
risu
A tune zone??
? useless comment you know exactly why that does not work
14:54
be nice
Avatar
I just realized why it didn’t work, and indeed, due to the fact that the current tick is calculated using multiplication by tick speed, accordingly it lags due to the fact that the tick did not coincide with the last one (or something like that) and it suffered while the tick didn’t become necessary (or again something like that)
Avatar
Avatar
Ewan
be nice
grrrr
Avatar
Avatar
risu
oh you mean multiplies your existing velocity
no
Avatar
Avatar
zhn
i still hear rumors from old cs16 players that they cant flick with awp like back in the days on high tps servers
That's curious, with subtick input in cs2 it should be even better than before
Avatar
Avatar
zhn
but it actually is?
i mean it definitely is, i can see that being the case. but i feel like focusing on the tickrate alone and doesn't care about anything else (like hit reg is just a unsolved problem in every game imo) is unproductive
Avatar
two options: 1. there's some weird aliasing even with subtick input 2. people are used to quantized input and are now complaining because proper input feels different
Avatar
i dont think the input was ever quantized
Avatar
Avatar
risu
two options: 1. there's some weird aliasing even with subtick input 2. people are used to quantized input and are now complaining because proper input feels different
There is a 3rd option. Both
Avatar
Avatar
Robyt3
If you want to try it locally then you could merge #7555, but it doesn't support lower tickrates than 50
This does not slow down the game. rex adjusted all the physics to take the tick speed into account
Avatar
Avatar
Learath2
There is a 3rd option. Both
probably yeah
Avatar
Avatar
Learath2
That's curious, with subtick input in cs2 it should be even better than before
cs2 is just broken troll
Avatar
Avatar
Teero
This does not slow down the game. rex adjusted all the physics to take the tick speed into account
but this would allow for more aggressive tunes
Avatar
so many clips of ppls bad aim just cuz cs2 makes any shot more random than before
Avatar
Avatar
zhn
cs2 is just broken troll
i can see it being better overtime. time traveling in code is just weird, i think they'll figure it out
Avatar
though changing tunes is obviously incompatible with certain maps
Avatar
Avatar
TsFreddie
i can see it being better overtime. time traveling in code is just weird, i think they'll figure it out
they should™
Avatar
cuz in concept subtick is kinda brilliant i would say.
Avatar
Avatar
TsFreddie
cuz in concept subtick is kinda brilliant i would say.
is there any paper to read on that? :P
Avatar
Avatar
Teero
This does not slow down the game. rex adjusted all the physics to take the tick speed into account
is there a physics testing framework
Avatar
Avatar
Ewan
is there a physics testing framework
@Zwelf
troll 1
Avatar
Avatar
zhn
is there any paper to read on that? :P
i don't think valve is fancy about papers
Avatar
Avatar
Ewan
is there a physics testing framework
rust twgame has many tests afaik
Avatar
hell yeah
14:58
i love rust unit tests
Avatar
but the idea is pretty simple and you probably already know what it should does i imagine?
Avatar
Clearly the most reasonable way to get a slomo server is just run the game at a lower tickrate, interpolate it for networking with client, and lie to the client about tunes to kinda smooth it out hax
♿ 1
Avatar
Avatar
TsFreddie
i don't think valve is fancy about papers
this concept is not popular?
Avatar
Avatar
zhn
so many clips of ppls bad aim just cuz cs2 makes any shot more random than before
arch1t3cht 2024-11-14 14:59
many of the issues attributed to subtick are not actually due to subtick
14:59
but due to bad hitboxes etc
Avatar
Avatar
zhn
this concept is not popular?
not that i know of. none of the netease game has similar system i can tell you that lol
Avatar
Avatar
arch1t3cht
but due to bad hitboxes etc
nah its not about hitboxes only, rng is more cruel than before id say
Avatar
ye, like i said, they just need to sort out the bugs and make it right. there will always be points of improvements to make.
Avatar
Avatar
zhn
nah its not about hitboxes only, rng is more cruel than before id say
Just train rng duh
Avatar
Avatar
TsFreddie
not that i know of. none of the netease game has similar system i can tell you that lol
eh, id just read article about it, that's why im asking
Avatar
Avatar
zhn
eh, id just read article about it, that's why im asking
article about subtick?
Avatar
Avatar
TsFreddie
article about subtick?
ye
Avatar
cs2 was fun when i played it but i only played csgo 5 or so times
15:01
i bought it right before they made it f2p
kek 1
15:01
$13 i will never get back
Avatar
This command was not found.
Avatar
i mean it is pretty simple in concept, you just record a event timestamp between input ticks and send them, and server just need to calculate everything with that timestamp in mind
Avatar
Avatar
Ewan
$13 i will never get back
prime status worths it ngl
Avatar
I don't know about CS2 subtick but isn't getting accurate input as simple as timestamping your events?
Avatar
there are a lot of places that info needed to be considered, and i really mean a lot (edited)
Avatar
Avatar
TsFreddie
i mean it is pretty simple in concept, you just record a event timestamp between input ticks and send them, and server just need to calculate everything with that timestamp in mind
with no input at all? or interpolate it?
Avatar
Avatar
TsFreddie
i mean it is pretty simple in concept, you just record a event timestamp between input ticks and send them, and server just need to calculate everything with that timestamp in mind
oh lol I guess I was slow
Avatar
Avatar
zhn
with no input at all? or interpolate it?
currently valve rely on players framerate being much higher than the tickrate
kek 1
Avatar
Avatar
TsFreddie
there are a lot of places that info needed to be considered, and i really mean a lot (edited)
Well yeah I wouldn't want to retrofit that into an existing game, but I generally kinda include exact timestamps from the start
Avatar
they haven't got that overwatch range scan i think
Avatar
Avatar
TsFreddie
currently valve rely on players framerate being much higher than the tickrate
wrong assumption.
Avatar
cs2 does not use subtick for all physics I think, only certain things
Avatar
Avatar
Tater
cs2 does not use subtick for all physics I think, only certain things
gm
Avatar
Avatar
zhn
wrong assumption.
i mean player's framerate is higher than the tickrate for most people. so the input is at 300samples/second by default
15:04
pepeW you can't tell me 300 samples of granularity is worse than sticking to 60 samples
Avatar
meanwhile proper video games polling input on a separate thread so they get millisecond precision
15:05
aw yeah rhythm game supremacy
Avatar
you mean osu
Avatar
Who does that
Avatar
of course I mean osu!
Avatar
afaik only osu does that
Avatar
When I played osu it was framerate bound polling
Avatar
i kinda did that in unity too but it breaks too many stuff and i gave that up very quickly lol
Avatar
montikboom 2024-11-14 15:06
#general
Avatar
Avatar
Tater
When I played osu it was framerate bound polling
they changed it in lazer
Avatar
Avatar
Tater
When I played osu it was framerate bound polling
the "new" rewrite of the client that has been in the works for like 8 years now does some neat things
Avatar
Avatar
TsFreddie
i mean player's framerate is higher than the tickrate for most people. so the input is at 300samples/second by default
nah it was just a joke about cs2 well performance
Avatar
I know Etterna does this
Avatar
all rhythm game should do this tbh
15:07
but it is kinda hard to implement it right
Avatar
Avatar
risu
meanwhile proper video games polling input on a separate thread so they get millisecond precision
dreamcast doom! (edited)
Avatar
Avatar
Tater
cs2 does not use subtick for all physics I think, only certain things
Avolicious 2024-11-14 15:07
But atleast client<->server tickrate is negotiable
Avatar
it's like the motion blur but for timing
Avatar
Avatar
zhn
dreamcast doom! (edited)
or jaguar one
Avatar
Avatar
Avolicious
But atleast client<->server tickrate is negotiable
I don't think it is in cs2 only csgo
15:07
cs2 is fixed 64tps
Avatar
Avatar
Tater
I don't think it is in cs2 only csgo
Avolicious 2024-11-14 15:07
yeah in cs:go
Avatar
i remember carmack used whole motorolla chip to process all inputs (edited)
Avatar
cs:go doesn't exist anymore sadly xd
Avatar
they probably don't want people messes up their magic numbers set up for the subtick things
Avatar
Avatar
Tater
cs:go doesn't exist anymore sadly xd
CS 1.6 is the only solution
15:09
greenthing
Avatar
They probably avoid supporting it on purpose so they do not get 3rd party servers with higher tick rates
feelsbadman 1
Avatar
vibe see you guys in #off-topic for rhythm game stuff
Avatar
Avatar
Tater
They probably avoid supporting it on purpose so they do not get 3rd party servers with higher tick rates
i serously doubt valve would be that salty about that
Avatar
Avatar
Tater
They probably avoid supporting it on purpose so they do not get 3rd party servers with higher tick rates
Avolicious 2024-11-14 15:10
thats why faceit was born 😄
Avatar
Avatar
TsFreddie
i serously doubt valve would be that salty about that
I don't doubt it slightly
15:12
The number one complaint of csgo servers was low tick rate so they created an entire new physics and network system just to appease the players who prefer 128tps
Avatar
what would be the incentive, making players favor official server doesn't even earn them more money
Avatar
Avatar
TsFreddie
what would be the incentive, making players favor official server doesn't even earn them more money
Avolicious 2024-11-14 15:12
but it keeps the matchmaking up ^^
Avatar
Why would they make sub tick if they didn't think there was incentive
Avatar
that's fair i guess, but i don't think the general player base is affected in the slightest.
15:13
"the general player base" cares way less about these.
Avatar
If you don't allow tick rate changing people cannot complain about your low tick rate
troll 1
Avatar
i just think valve is too developer oriented and they are cutting down on unrelated feedbacks.
Avatar
Avatar
TsFreddie
i just think valve is too developer oriented and they are cutting down on unrelated feedbacks.
Avolicious 2024-11-14 15:14
developermoney
Avatar
Avatar
TsFreddie
i just think valve is too developer oriented and they are cutting down on unrelated feedbacks.
sounds a bit off ngl
15:14
why are you trying to defend multi millionaire company xdd
Avatar
Avolicious 2024-11-14 15:14
Imagine Gaben doesnt get his year bonus
Avatar
Avatar
zhn
why are you trying to defend multi millionaire company xdd
i want to be in it okay
Avatar
also allowing the tick rate to be changed implies their subtick system is insufficient
Avatar
Avatar
TsFreddie
i want to be in it okay
add variable tickrate to cs2
15:15
i do pay u $20
Avatar
Avatar
zhn
i do pay u $20
Avolicious 2024-11-14 15:16
ask chillerdragon, he will do it for you
15:16
Or ask evelyn to ask chillerdragon
Avatar
Avatar
Avolicious
ask chillerdragon, he will do it for you
nah he will make it for free
15:16
also he will leak cs2 sources
15:16
justatest
Avatar
Avolicious 2024-11-14 15:16
I quit CS after CS2 was launched
Avatar
I think ddnet would also have tick rate elitists if more people tried the gameplay in 300tps
troll 1
Avatar
also i'm not defending them, but i am justifying their actions. cuz i can see our company makes the exact decision to spend more resources to improve the current system without doubling our on-going cost
Avatar
Avatar
Tater
I think ddnet would also have tick rate elitists if more people tried the gameplay in 300tps
f3 tbh
15:17
itd help a lot on race
15:17
also comptetive mods like vanilla or insta
Avatar
I'm sure certain things would be easier to hit certain things would also be harder to hit but oh well
Avatar
Avatar
risu
I don't know about CS2 subtick but isn't getting accurate input as simple as timestamping your events?
subtick input may keep track of the time that the input was received relative to the rest of the tick & its effect would be different. i do not know how they would accomplish such a thing on one thread (maybe that’s just it)
Avatar
its the reason why jsaurus made this pr
Avatar
Avatar
Tater
I think ddnet would also have tick rate elitists if more people tried the gameplay in 300tps
Koll Potato 2024-11-14 15:17
the game would be 6 times as fast no?
Avatar
It makes gores movement much easier
Avatar
i can also see the exact opposite decision where we would just double our on-going cost to stop developing for the game. cuz that what they did for our title lol
Avatar
Avatar
Koll Potato
the game would be 6 times as fast no?
just divide certain things by 6 to make the physics about the same
Avatar
they basically did that so they can stop me from improving the movement sync and forced me to move on to cosmetics
15:18
and then i just quit
Avatar
Avatar
risu
just divide certain things by 6 to make the physics about the same
Koll Potato 2024-11-14 15:18
alright
15:19
game would be smoother
15:19
but the processing power would increase 6 times too
15:19
and the packet count sent in a second
15:19
not worth it
Avatar
rhythm games have a much more useful purpose for separate thread polling because there are no physics. It's harder to make use of it in other games.
Avatar
Avatar
Koll Potato
and the packet count sent in a second
You could keep that the same, though higher bandwidth could be helpful too
Avatar
Koll Potato 2024-11-14 15:21
btw devs can 0.7 clients join 0.6.4 ddnet servers?
Avatar
catxplosion anyway. i just think subtick is a great way to improve the 64tps server without doubling the cost. and i think the tickrate lock down is that 128 is causing way too many unintended edge cases for the subtick system so they just killed it because they do not want to deal with them with their already limited development resources on the subtick thing. killing faceit as a incentive is a dumb move and i don't think valve is dumb. here. i need to sleep now. thanks for listening to my ted talk.
Avatar
Avatar
Koll Potato
btw devs can 0.7 clients join 0.6.4 ddnet servers?
Avolicious 2024-11-14 15:21
Yes
Avatar
Koll Potato 2024-11-14 15:21
ty
Avatar
iMilchshake 2024-11-14 15:57
hey guys i think i found an inconsistency with sv_rescue 1. no team / t0 1. no /r -> finish 2. use /r after start, to reset to position after start -> finish 3. use /r after start, to reset to position before start -> finish in team 1. no /r -> finish 2. use /r after start, to reset to position after start -> finish 3. use /r after start, to reset to position before start -> no finish ?? here is a video showing all 6 cases: https://streamable.com/8d8q0n In the third case the timer resets back to as if you'd never touched the start line. However, when not in a team the timer starts again when the start line is touched. However, this does not work when you are in a team. Is this intended behaviour or a bug? :o
🇫 1
🇮 1
🇽 1
Avatar
Koll Potato 2024-11-14 16:20
ChillerDragon: is this a typo in the documentation? in one place it is written that there are 501 bytes and in another it is 508 bytes
Avatar
Avatar
iMilchshake
hey guys i think i found an inconsistency with sv_rescue 1. no team / t0 1. no /r -> finish 2. use /r after start, to reset to position after start -> finish 3. use /r after start, to reset to position before start -> finish in team 1. no /r -> finish 2. use /r after start, to reset to position after start -> finish 3. use /r after start, to reset to position before start -> no finish ?? here is a video showing all 6 cases: https://streamable.com/8d8q0n In the third case the timer resets back to as if you'd never touched the start line. However, when not in a team the timer starts again when the start line is touched. However, this does not work when you are in a team. Is this intended behaviour or a bug? :o
interesting
16:21
i hope it wasn’t me
16:21
i dont think it could have been
16:21
because my changes there were never merged
16:21
d’oh
Avatar
Koll Potato 2024-11-14 16:21
ChillerDragon: the correct one is 508 bytes if you are wondering
Avatar
Avatar
Teero
@Zwelf
The answer is kinda yes, but you currently can't test the c++ ddnet implementation with it. https://gitlab.com/ddnet-rs/twgame (I do intent to expand it to also test the c++ physics in the future)
❤️ 1
😃 1
Avatar
Avatar
meloƞ
i tried because @Brokecdx- forced me to - i lost all gg
Check pm peepoKiss
Avatar
Avatar
Brokecdx-
Check pm peepoKiss
toukarage
Avatar
Avatar
Zwelf
The answer is kinda yes, but you currently can't test the c++ ddnet implementation with it. https://gitlab.com/ddnet-rs/twgame (I do intent to expand it to also test the c++ physics in the future)
Koll Potato 2024-11-14 16:40
omg more rust
🦀 1
Avatar
❯ cargo clean Removed 268175 files, 108.2GiB total
😂 1
Avatar
Avatar
Ryozuki
❯ cargo clean Removed 268175 files, 108.2GiB total
weakness disgusts me, i did a /nix/store cleanup yesterday with 280gb storage freed
Avatar
You think bloat is a flex?
Avatar
Koll Potato 2024-11-14 16:42
yes
16:43
thats why windows exists
Avatar
Avatar
risu
You think bloat is a flex?
the nix/store is not bloat - it's the place in heaven that allows me to have every version of python known to man available at any time without them bashing each other greenthing
Avatar
is there a way to split a cuirect into 3?
16:45
(horizontally)
Avatar
nix seems neat but also like a a workaround for badly packaged software
Avatar
^ and very old software
16:45
^ or unmaintained
16:45
^ and also not open source
Avatar
Avatar
Solly
^ and also not open source
I think that falls under badly packaged :) :)
Avatar
its a solution i dont like because using it as a package manager just as a package manager is so annoying
Avatar
Avatar
Ryozuki
❯ cargo clean Removed 268175 files, 108.2GiB total
justatest
Avatar
i dont think the solution for badly packaged software shouldnt be forced on goodly packaged software
Avatar
I don't like it because it feels like a hack
Avatar
i cant implement trait for foreign type can i
16:46
something something orphan rule
Avatar
(that is i prefer dockers and containers and anything else like that)
Avatar
containerization makes sense but it also feels excessive and like an ugly solution in many cases
Avatar
Avatar
Solly
is there a way to split a cuirect into 3?
yes, do the math manually
16:48
you can split rects to have fixed sizes on the axis which you’re splitting them
16:48
i dont remember exactly what it looks like
Avatar
Avatar
Solly
its a solution i dont like because using it as a package manager just as a package manager is so annoying
then embrace it
16:48
it’s really, really, really good
16:49
game changer on macos
Avatar
A lot of modern software feels like taking a sledgehammer to problems that really just need a small rubber mallet
16:50
we use the sledgehammer for everything because it's required for the hardest things
Avatar
you can install nix and use it imperatively with a global profile
16:50
like any other pkg manager
16:50
you don’t have to involve yourself in the world of .nix
Avatar
Avatar
Ewan
i cant implement trait for foreign type can i
no only for std types
Avatar
you have to do a newtype
16:51
ryo u are rust dev who works on mac right
Avatar
Avatar
Ewan
you can install nix and use it imperatively with a global profile
proprietary
Avatar
Avatar
Ewan
ryo u are rust dev who works on mac right
he works on gentoo
Avatar
he homes on gentoo i thought
Avatar
Avatar
Ryozuki
no only for std types
Koll Potato 2024-11-14 16:52
syphilis?
Avatar
work mac
Avatar
@Ewan i work on mac when im at the office or traveling
16:52
ew
Avatar
at home i use gentoo
Avatar
interesting
16:52
is it not hard to switch
Avatar
nah cuz i use vscode
16:52
and rust is nice cross platform
16:52
idk
16:52
true that
Avatar
Avatar
Koll Potato
syphilis?
please do not read #off-topic and just start saying similar things in other channel.
Avatar
i wont say no to a 4k euro top of the line laptop
16:53
for free
Avatar
Avatar
TsFreddie
please do not read #off-topic and just start saying similar things in other channel.
lol std = sexually transmitted disease
Avatar
Avatar
risu
A lot of modern software feels like taking a sledgehammer to problems that really just need a small rubber mallet
arch1t3cht 2024-11-14 16:53
that's one half the other half is a really fancy design crosshead screwdriver with rgb lighting and built-in air conditioning when you really need a normal flathead
Avatar
they teach u that before standard
Avatar
Avatar
TsFreddie
please do not read #off-topic and just start saying similar things in other channel.
Koll Potato 2024-11-14 16:53
forgive me
16:53
cammo
Avatar
CPU: Apple M3 Pro (11) @ 4.06 GHz GPU: Apple M3 Pro (14) @ 1.38 GHz [Integrated] Memory: 20.18 GiB / 36.00 GiB (56%)
Avatar
Avatar
Ewan
they teach u that before standard
some people say to using namespace std .. but that only hides it, and doesnt get rid of it (edited)
Avatar
Avatar
Ewan
lol std = sexually transmitted disease
i know that, i just have a feeling that he only came up with that joke because we were talking about some stuff in #off-topic
Avatar
Koll Potato 2024-11-14 16:54
nah
Avatar
so what? xd
Avatar
Avatar
Ryozuki
CPU: Apple M3 Pro (11) @ 4.06 GHz GPU: Apple M3 Pro (14) @ 1.38 GHz [Integrated] Memory: 20.18 GiB / 36.00 GiB (56%)
that.. memory consumption
Avatar
Koll Potato 2024-11-14 16:54
im reading the chat
Avatar
@meloƞ i have 3 rust projects open
Avatar
fair. i'll be gone then. also please do not join #off-topic for the next 10 minutes. thanks bye
Avatar
and they have like 20 crates
16:54
each
Avatar
i follow your github page
Avatar
with more deps
Avatar
i see what youre doing!
Avatar
Avatar
TsFreddie
fair. i'll be gone then. also please do not join #off-topic for the next 10 minutes. thanks bye
what u up to
Avatar
forgive me for the laptop photo
Avatar
@Ewan i think u got same but less ram
Avatar
Avatar
Ewan
forgive me for the laptop photo
is that microsoft excel on a mac
Avatar
Avatar
Ewan
forgive me for the laptop photo
leak!
Avatar
Avatar
Ryozuki
@Ewan i think u got same but less ram
i got same cpu yea
Avatar
Download now and experience the Zen Browser
Avatar
Avatar
Ryozuki
did anyone try https://zen-browser.app/
i did, and it is amazing
Avatar
Avatar
meloƞ
is that microsoft excel on a mac
yes my job in this project literally revolves around parsing spreadsheets:(
Avatar
Avatar
Ryozuki
did anyone try https://zen-browser.app/
i did yeah, its cool
Avatar
Avatar
Ewan
yes my job in this project literally revolves around parsing spreadsheets:(
oh god...
Avatar
Koll Potato 2024-11-14 16:56
wait excel exists on mac??
Avatar
it’s 2024
Avatar
MilkeeyCat 2024-11-14 16:57
oh boy, today I had to use js library to do stuff with google spreadsheet, that was not fun at all pepeW
Avatar
it’s always had a mac version i think
16:57
or at least for a long time
16:57
but now with office 365 it’s everywhere
Avatar
Koll Potato 2024-11-14 16:57
microsoft can track mac users now
16:57
nouis
Avatar
Avatar
Ewan
but now with office 365 it’s everywhere
Koll Potato 2024-11-14 16:58
except linux
16:58
i use it in browser
16:58
on desktop
Avatar
Koll Potato 2024-11-14 16:58
why not libreoffice?
Avatar
because it’s not 365
Avatar
Koll Potato 2024-11-14 16:58
fair
Avatar
it doesn’t have my stuff
16:58
and it sucks dick
16:58
libreoffice is quite bad (edited)
Avatar
Koll Potato 2024-11-14 16:58
bad but free
Avatar
im not paying for any of this
16:59
came preinstalled
16:59
work device
Avatar
Koll Potato 2024-11-14 16:59
poggers2
Avatar
libreoffice is great at viewing documents, but for editing it is as much as a pain as using any alternative including microsoft, and i have access to microsoft stuff. so either i convert to pdf, or use my school given microsoft 365
Avatar
but yea, “free as in freedom” (edited)
Avatar
Avatar
Solly
libreoffice is great at viewing documents, but for editing it is as much as a pain as using any alternative including microsoft, and i have access to microsoft stuff. so either i convert to pdf, or use my school given microsoft 365
for my own stuff i use google x-x
Avatar
proton
Avatar
cuz it just works (tm)
Avatar
Avatar
Ewan
proton
proton has a office suite?
Avatar
u can get mail, vpn, drive
17:00
on one subscription
Avatar
i have free mail
17:00
i have a free vpn
17:00
and i do want cloud storage
Avatar
they have free tiers for all of it
17:00
that’s what i use currently
Avatar
coowl
17:00
its just that if i ever switch from my current setup
17:00
i wana self host
17:00
cheaper, fun, and based
Avatar
Avatar
Solly
libreoffice is great at viewing documents, but for editing it is as much as a pain as using any alternative including microsoft, and i have access to microsoft stuff. so either i convert to pdf, or use my school given microsoft 365
i use pandoc :)
Avatar
i use pandoc when im writing assignments and stuff
17:01
cuz i need to convert from md -> pdf or something
17:01
but for docx -> pdf yee old online converter is fine
17:01
this is all very #off-topic
17:01
xd
Avatar
Avatar
meloƞ
is that microsoft excel on a mac
wdym
17:02
idt apple has a native app for csv?
17:02
or spreadsheets
Avatar
they do
17:02
im using excel because i need the xlsx specifically
17:02
I forgot what apple’s is called
Avatar
ah its called numbers
😃 1
17:03
not really the same as excel though
Avatar
for #9237 i think this is better
Avatar
Adds the feature proposal of #9008, to make more space for the player list This PR adds the feature of collapsing the communities tab (by clicking on the &quot;communities&quot; header) &a...
poggers2 1
Avatar
no one really actually uses these filters right
Avatar
Avatar
Solly
no one really actually uses these filters right
Koll Potato 2024-11-14 17:23
which ones
Avatar
countries/types/communities
Avatar
Koll Potato 2024-11-14 17:23
i do
Avatar
really?
17:23
what for
17:23
or rather which ones
Avatar
Koll Potato 2024-11-14 17:23
i use community filter to just show ddnet servers
17:24
and country filters for good ping obviously
Avatar
mm yeah but u can also just search ddnet
17:24
and sort by ping
17:24
but sure
17:24
its not like i want to get rid of the filters
17:24
but i dont think the communities tab should be as prominent as it is
17:25
i also think there should be an indicator of if a filter is being used
Avatar
i think every filter should be disabled by default
Avatar
is it not like that?
17:26
the default is just search ddnet
Avatar
if you have a friend online, that server should be shown one hundred percent of the time
Avatar
Avatar
Solly
is it not like that?
kog login server filter was on by default when that was added
Avatar
yeah but it does prompt u to reset filters
17:26
not that kind
Avatar
I use community filter for KoG when I get the rare impulse to try gores, I use the community filter for TeeSports when it's time for a round of football
Avatar
Avatar
Solly
Click to see attachment 🖼️
does "reset filter" not reset communities filter
17:26
it does
Avatar
not talking about communities, im talking about the checkbox that filters login servers
Avatar
all the more reason i think it hsould be in the filters tab
17:27
ah
17:27
i dislike kog accounts
17:27
i could just make one
17:27
but im never going to
Avatar
I don't use country filters, I just sort by ping or use the search box
Avatar
^ same here
17:28
but i understand if u do use them
Avatar
Exclude: RUS
Avatar
i just noticed x-x
17:28
ew lmao
17:29
can 0.7 not be auto detected on connect? or is the api so different now
17:29
they cant talk to eachother withotu conversion
Avatar
I almost always have my friends tab open in the filter section
Avatar
the filter tab is a tab in the toolbox(?)
Avatar
oh it's called the toolbox okay
Avatar
Avatar
Solly
can 0.7 not be auto detected on connect? or is the api so different now
Koll Potato 2024-11-14 17:30
isnt there a connless info packet
17:30
it can detect if its 0.7
Avatar
I have the friends tab open in the toolbox then <3
Avatar
Avatar
Koll Potato
isnt there a connless info packet
i have no clue, if you remove the 0.7 marker in the address it just timesout
Avatar
Avatar
Solly
countries/types/communities
i do, i sort for DDNet, Blockworlds and KoG respectively
👍 1
Avatar
adding back the udp:// does this.. and freezes the client untill it shows
17:32
which is a bug
Avatar
Avatar
risu
I don't use country filters, I just sort by ping or use the search box
i use the smart sort (idk what it’s really called)
17:32
it weighs friends online with server ping
Avatar
I just use the ddnet tab at the top instead of using the ddnet community filter
Avatar
click ping like 3 times
👍 1
Avatar
Avatar
Ewan
click ping like 3 times
u can also click players 3 times
Avatar
Avatar
Solly
no one really actually uses these filters right
im sure lots of people do
Avatar
Avatar
louis
im sure lots of people do
they sure do
Avatar
Avatar
Solly
i have no clue, if you remove the 0.7 marker in the address it just timesout
Koll Potato 2024-11-14 17:33
oh yeah it does
17:33
weird
Avatar
i just wasnt expecting it
Avatar
there’s no reason to put down the feature
17:33
it’s good that it’s there
Avatar
Avatar
Ewan
there’s no reason to put down the feature
theres no reason to remove* the feature (?) but i dont think it should be as prominent also its a filter so it should be in the filter tab (edited)
Avatar
Avatar
Ewan
it weighs friends online with server ping
Isn't that players online, not friends? Or does it show friends at the top if any are online?
Avatar
Koll Potato 2024-11-14 17:33
it probably just sends the info packet once and then remembers that server
Avatar
the checkbox thing i was mad about was bad because i was searching bro’s name and it didn’t come up or prompt me to reset filters, iirc
17:34
because it’s not considered the same type of filter
17:34
it’s more of a static setting
Avatar
anyways I'mma use it
Avatar
Avatar
Ewan
the checkbox thing i was mad about was bad because i was searching bro’s name and it didn’t come up or prompt me to reset filters, iirc
i pressed "reset filter" then searched random nonsense so
17:34
it always shows up 4 me
17:35
also why does the playesr thing have weird padding on the left and right
Avatar
what version are you on?
17:36
that looks quite old
Avatar
latest git commit
Avatar
mayeb?
17:36
ig not
Avatar
i did change stuff (that is the communities tab) but shouldnt affect this
17:36
i never noticed it
17:36
untill i did
17:36
now its really bothering me lmao
17:37
17:37
it looks like the background has padding
17:37
but the container doesnt so the items can clip out
17:37
which looks even weirder
17:37
17:37
oh my
Avatar
Koll Potato 2024-11-14 17:38
yes
Avatar
robyt3 i wish to say i am fully in support of your UI additions
17:38
no ill will intended
Avatar
Avatar
Ewan
interesting
iMilchshake 2024-11-14 17:38
okay so i guess its not intented behaviour xd? Imma open a GH issue and try to find the bug myself for now :)
Avatar
has robyt been doing all the new stuff
Avatar
Avatar
iMilchshake
okay so i guess its not intented behaviour xd? Imma open a GH issue and try to find the bug myself for now :)
why would it be
Avatar
completely off topic but here's the script except a bit less stupid this time Maybe I can convince Evelyn to stop spamming it everywhere...
Avatar
Avatar
Solly
has robyt been doing all the new stuff
the ui stuff, i think so
17:38
i like it 2 xd
17:38
makes it feel more polished
Avatar
Avatar
risu
completely off topic but here's the script except a bit less stupid this time Maybe I can convince Evelyn to stop spamming it everywhere...
Koll Potato 2024-11-14 17:39
he dmed me cus he thinks i know shit about physics in ddnet (edited)
Avatar
Avatar
risu
completely off topic but here's the script except a bit less stupid this time Maybe I can convince Evelyn to stop spamming it everywhere...
i still want my tick rate modifier sv option
17:39
(got stuck so i stopped)
17:39
but one day x-x
17:40
17:40
oh no the scrollbar has rounded corners
17:40
x-x
Avatar
they were just talking about a PR that did the same thing
Avatar
Avatar
Solly
oh no the scrollbar has rounded corners
it always has
17:40
¿
Avatar
Avatar
Solly
x-x
Everything does
Avatar
Avatar
Ewan
it always has
its just that its slightly off in many ways that no one cares about
Avatar
yes, the outer rect there
17:40
that is a little weird
Avatar
Avatar
Solly
oh no the scrollbar has rounded corners
Koll Potato 2024-11-14 17:40
oh no the whole ui has not changed since 2007
Avatar
it has though
17:41
this ui is new in the past year
Avatar
Avatar
Koll Potato
oh no the whole ui has not changed since 2007
hehe osu-style ddnet ui overhaul
Avatar
Avatar
Ewan
yes, the outer rect there
true, that seems a bit off
Avatar
Avatar
Solly
hehe osu-style ddnet ui overhaul
Koll Potato 2024-11-14 17:41
minecraft style
Avatar
no x-x
Avatar
i think it just looks off because the antialiasing or something about the rendering makes it weird
Avatar
Koll Potato 2024-11-14 17:41
when f3 in ddnet devs
17:41
like in minecraft
Avatar
ctrl-shift-d
Avatar
Avatar
louis
i think it just looks off because the antialiasing or something about the rendering makes it weird
all the circles have no anti alaising but isnt why it looks weird (edited)
Avatar
Avatar
Ewan
why would it be
iMilchshake 2024-11-14 17:41
dunno :p didnt want to assume that it was a bug, maybe i did smth wrong
Avatar
Avatar
louis
i think it just looks off because the antialiasing or something about the rendering makes it weird
the rendering is mistakenly using the wrong combination of corner enum flags
Avatar
Avatar
Solly
all the circles have no anti alaising but isnt why it looks weird (edited)
you have to use fsaa samples
Avatar
Avatar
Solly
ctrl-shift-d
Koll Potato 2024-11-14 17:42
idk i dont like it
17:42
the font is small asf
Avatar
Avatar
Koll Potato
idk i dont like it
yeah it is a bit over the top
Avatar
Avatar
louis
you have to use fsaa samples
there are circle drawing algorithms which dont also yes i did have to turn that on (edited)
Avatar
okay since i was annoyed i made this. it is as accurate as you can get with tunes. https://github.com/Teero888/tune_calculator
Contribute to Teero888/tune_calculator development by creating an account on GitHub.
Avatar
Koll Potato 2024-11-14 17:42
pro
Avatar
Avatar
Solly
there are circle drawing algorithms which dont also yes i did have to turn that on (edited)
yes, but ddnet currently only has fsaa which is annoying
Avatar
Avatar
louis
yes, but ddnet currently only has fsaa which is annoying
i mean its easy so
Avatar
Avatar
Solly
there are circle drawing algorithms which dont also yes i did have to turn that on (edited)
i talked about a software aa implementation but i found it easier to just disable rounded corners
17:43
pretty easy mod
Avatar
Avatar
Teero
okay since i was annoyed i made this. it is as accurate as you can get with tunes. https://github.com/Teero888/tune_calculator
YOU WROTE RUST
17:43
I AM SO PROUD
Avatar
Avatar
Ewan
i talked about a software aa implementation but i found it easier to just disable rounded corners
well.. i like the rounded corners
Avatar
i did the #define trick in C. it is actually not run @meloƞ
Avatar
THAT PRINTLN STATEMENT IS GIVING ME STD'S (edited)
Avatar
Avatar
meloƞ
THAT PRINTLN STATEMENT IS GIVING ME STD'S (edited)
xD
Avatar
println!("tune ground_control_speed {}\ntune ground_control_accel {}\ntune ground_friction {}\ntune ground_jump_impulse {}\ntune air_jump_impulse {}\ntune air_control_speed {}\ntune air_control_accel {}\ntune air_friction {}\ntune hook_fire_speed {}\ntune hook_drag_accel {}\ntune hook_drag_speed {}\ntune gravity {}\ntune velramp_start {}\ntune velramp_range {}\ntune gun_speed {}\ntune gun_lifetime {}\ntune grenade_speed {}\ntune grenade_lifetime {}\ntune laser_bounce_delay {}\ntune jetpack_strength {}\ntune shotgun_strength {}\ntune explosion_strength {}\ntune hammer_strength {}\ntune hook_duration {}\ntune hammer_fire_delay {}\ntune gun_fire_delay {}\ntune shotgun_fire_delay {}\ntune grenade_fire_delay {}\ntune laser_fire_delay {}\ntune ninja_fire_delay {}\ntune hammer_hit_fire_delay {}", new_tunes.ground_control_speed, new_tunes.ground_control_accel, new_tunes.ground_friction, new_tunes.ground_jump_impulse, new_tunes.air_jump_impulse, new_tunes.air_control_speed, new_tunes.air_control_accel, new_tunes.air_friction, new_tunes.hook_fire_speed, new_tunes.hook_drag_accel, new_tunes.hook_drag_speed, new_tunes.gravity, new_tunes.velramp_start, new_tunes.velramp_range, new_tunes.gun_speed, new_tunes.gun_lifetime, new_tunes.grenade_speed, new_tunes.grenade_lifetime, new_tunes.laser_bounce_delay, new_tunes.jetpack_strength, new_tunes.shotgun_strength, new_tunes.explosion_strength, new_tunes.hammer_strength, new_tunes.hook_duration, new_tunes.hammer_fire_delay, new_tunes.gun_fire_delay, new_tunes.shotgun_fire_delay, new_tunes.grenade_fire_delay, new_tunes.laser_fire_delay, new_tunes.ninja_fire_delay, new_tunes.hammer_hit_fire_delay); MATE WHAT IS THIS PRINTLN MACRO
Avatar
f u xD
Avatar
oh jesus
Avatar
it has to be
Avatar
can you not inline those?
17:44
like put them inside the text with format strings
Avatar
Avatar
Teero
okay since i was annoyed i made this. it is as accurate as you can get with tunes. https://github.com/Teero888/tune_calculator
iMilchshake 2024-11-14 17:44
OMG TEERO RUST ARC
Avatar
@Teero raw string is r##
Avatar
Avatar
Teero
it has to be
just learn vim macros
Avatar
Avatar
Solly
like put them inside the text with format strings
depends
Avatar
Avatar
Teero
what
your newlines…
Avatar
seperate the println statements - imagine you made a typo in any one of those
Avatar
Avatar
meloƞ
println!("tune ground_control_speed {}\ntune ground_control_accel {}\ntune ground_friction {}\ntune ground_jump_impulse {}\ntune air_jump_impulse {}\ntune air_control_speed {}\ntune air_control_accel {}\ntune air_friction {}\ntune hook_fire_speed {}\ntune hook_drag_accel {}\ntune hook_drag_speed {}\ntune gravity {}\ntune velramp_start {}\ntune velramp_range {}\ntune gun_speed {}\ntune gun_lifetime {}\ntune grenade_speed {}\ntune grenade_lifetime {}\ntune laser_bounce_delay {}\ntune jetpack_strength {}\ntune shotgun_strength {}\ntune explosion_strength {}\ntune hammer_strength {}\ntune hook_duration {}\ntune hammer_fire_delay {}\ntune gun_fire_delay {}\ntune shotgun_fire_delay {}\ntune grenade_fire_delay {}\ntune laser_fire_delay {}\ntune ninja_fire_delay {}\ntune hammer_hit_fire_delay {}", new_tunes.ground_control_speed, new_tunes.ground_control_accel, new_tunes.ground_friction, new_tunes.ground_jump_impulse, new_tunes.air_jump_impulse, new_tunes.air_control_speed, new_tunes.air_control_accel, new_tunes.air_friction, new_tunes.hook_fire_speed, new_tunes.hook_drag_accel, new_tunes.hook_drag_speed, new_tunes.gravity, new_tunes.velramp_start, new_tunes.velramp_range, new_tunes.gun_speed, new_tunes.gun_lifetime, new_tunes.grenade_speed, new_tunes.grenade_lifetime, new_tunes.laser_bounce_delay, new_tunes.jetpack_strength, new_tunes.shotgun_strength, new_tunes.explosion_strength, new_tunes.hammer_strength, new_tunes.hook_duration, new_tunes.hammer_fire_delay, new_tunes.gun_fire_delay, new_tunes.shotgun_fire_delay, new_tunes.grenade_fire_delay, new_tunes.laser_fire_delay, new_tunes.ninja_fire_delay, new_tunes.hammer_hit_fire_delay); MATE WHAT IS THIS PRINTLN MACRO
iMilchshake 2024-11-14 17:45
monkaStop
kek 2
Avatar
leave me alone xD
KEKW 2
Avatar
Koll Potato 2024-11-14 17:45
no
Avatar
Avatar
Teero
leave me alone xD
i mean hey, did you finish the rust book yet? kekw
Avatar
Koll Potato 2024-11-14 17:45
fix it or i will spawn in your walls
Avatar
iMilchshake 2024-11-14 17:45
it didnt look that bad because i had soft-wrap disabled..
KEKW 1
Avatar
Avatar
Solly
like put them inside the text with format strings
in this case i think he can, because he’s not trying to do display or debug
Avatar
i'm proud
Avatar
Avatar
Ewan
in this case i think he can, because he’s not trying to do display or debug
i dunno rust very well x-x
Avatar
okey please show me an example on how to make that cleaner. ofc i could have inlined them but thats not much better ngl xd
Avatar
it is very much better
17:46
you can also use newlines instead of \n
17:46
(i hope)
17:47
or multiline strings
Avatar
im on phone 👀
Avatar
can't you do for i in new_tunes println!(i) 💀
17:47
or equivalent in rust
Avatar
Avatar
louis
can't you do for i in new_tunes println!(i) 💀
i need the names.
17:47
i just want to copy the thing into the map editor
Avatar
Avatar
louis
can't you do for i in new_tunes println!(i) 💀
not like that but yes
17:48
println needs string literal
17:48
it’d be “{}”, i or “{i}”
17:48
and the loop needs a body
Avatar
Avatar
Ewan
it’d be “{}”, i or “{i}”
yea but i need i to be printed too. the name of the tune
Avatar
Avatar
Teero
yea but i need i to be printed too. the name of the tune
ok wait let me cook
Avatar
come vc
Avatar
oh yeah construct the string another wya
Avatar
Avatar
Teero
come vc
soon, need to grab a dirnk
Avatar
for tune, value in pairs(new_tunes) do print("tune " .. tune .. " " .. value) end totally Rust I swear
Avatar
Koll Potato 2024-11-14 17:50
pipi
Avatar
when ddnet digital attestation
Avatar
Avatar
risu
for tune, value in pairs(new_tunes) do print("tune " .. tune .. " " .. value) end totally Rust I swear
justatest
Avatar
Avatar
Ryozuki
when ddnet digital attestation
first time i have heard this term
Avatar
Avatar
Ewan
@Teero raw string is r##
achtually its just the r, the # is a marker and can be just one or many, or another character 🤓 ☝
owo 1
Avatar
u right.
Avatar
Koll Potato 2024-11-14 17:52
rust nerd
Avatar
like any raw string
17:52
cpp’s is the same way
17:52
i would do the amongus unicode char sometimes
Avatar
i would do the ' but from the greek keyboard or smth
17:53
troll mode
Avatar
macro_rules! formatTune { ($name:expr, $value:expr) => { concat!("tune ", $name, " ", &$value.to_string(), "\n") }; } print!( formatTune!("ground_control_speed", new_tunes.ground_control_speed) + formatTune!("ground_control_accel", new_tunes.ground_control_accel) + formatTune!("ground_friction", new_tunes.ground_friction) + formatTune!("ground_jump_impulse", new_tunes.ground_jump_impulse) + formatTune!("air_jump_impulse", new_tunes.air_jump_impulse) + formatTune!("air_control_speed", new_tunes.air_control_speed) + formatTune!("air_control_accel", new_tunes.air_control_accel) + formatTune!("air_friction", new_tunes.air_friction) + formatTune!("hook_fire_speed", new_tunes.hook_fire_speed) + formatTune!("hook_drag_accel", new_tunes.hook_drag_accel) + formatTune!("hook_drag_speed", new_tunes.hook_drag_speed) + formatTune!("gravity", new_tunes.gravity) + formatTune!("velramp_start", new_tunes.velramp_start) + formatTune!("velramp_range", new_tunes.velramp_range) + formatTune!("gun_speed", new_tunes.gun_speed) + formatTune!("gun_lifetime", new_tunes.gun_lifetime) + formatTune!("grenade_speed", new_tunes.grenade_speed) + <DISCORD LIMIT> formatTune!("explosion_strength", new_tunes.explosion_strength) + formatTune!("hammer_strength", new_tunes.hammer_strength) + formatTune!("hook_duration", new_tunes.hook_duration) + formatTune!("hammer_fire_delay", new_tunes.hammer_fire_delay) + formatTune!("gun_fire_delay", new_tunes.gun_fire_delay) + formatTune!("shotgun_fire_delay", new_tunes.shotgun_fire_delay) + formatTune!("grenade_fire_delay", new_tunes.grenade_fire_delay) + formatTune!("laser_fire_delay", new_tunes.laser_fire_delay) + formatTune!("ninja_fire_delay", new_tunes.ninja_fire_delay) + formatTune!("hammer_hit_fire_delay", new_tunes.hammer_hit_fire_delay) )
17:53
dirty fix
Avatar
what is new tune? vec?
17:54
map that shit
Avatar
Avatar
Solly
macro_rules! formatTune { ($name:expr, $value:expr) => { concat!("tune ", $name, " ", &$value.to_string(), "\n") }; } print!( formatTune!("ground_control_speed", new_tunes.ground_control_speed) + formatTune!("ground_control_accel", new_tunes.ground_control_accel) + formatTune!("ground_friction", new_tunes.ground_friction) + formatTune!("ground_jump_impulse", new_tunes.ground_jump_impulse) + formatTune!("air_jump_impulse", new_tunes.air_jump_impulse) + formatTune!("air_control_speed", new_tunes.air_control_speed) + formatTune!("air_control_accel", new_tunes.air_control_accel) + formatTune!("air_friction", new_tunes.air_friction) + formatTune!("hook_fire_speed", new_tunes.hook_fire_speed) + formatTune!("hook_drag_accel", new_tunes.hook_drag_accel) + formatTune!("hook_drag_speed", new_tunes.hook_drag_speed) + formatTune!("gravity", new_tunes.gravity) + formatTune!("velramp_start", new_tunes.velramp_start) + formatTune!("velramp_range", new_tunes.velramp_range) + formatTune!("gun_speed", new_tunes.gun_speed) + formatTune!("gun_lifetime", new_tunes.gun_lifetime) + formatTune!("grenade_speed", new_tunes.grenade_speed) + <DISCORD LIMIT> formatTune!("explosion_strength", new_tunes.explosion_strength) + formatTune!("hammer_strength", new_tunes.hammer_strength) + formatTune!("hook_duration", new_tunes.hook_duration) + formatTune!("hammer_fire_delay", new_tunes.hammer_fire_delay) + formatTune!("gun_fire_delay", new_tunes.gun_fire_delay) + formatTune!("shotgun_fire_delay", new_tunes.shotgun_fire_delay) + formatTune!("grenade_fire_delay", new_tunes.grenade_fire_delay) + formatTune!("laser_fire_delay", new_tunes.laser_fire_delay) + formatTune!("ninja_fire_delay", new_tunes.ninja_fire_delay) + formatTune!("hammer_hit_fire_delay", new_tunes.hammer_hit_fire_delay) )
50 lines more xD
17:54
thanks
Avatar
Koll Potato 2024-11-14 17:54
omg macros
Avatar
Avatar
Teero
50 lines more xD
yeah dont.. do it in 1 line thats dumb
Avatar
i can inline them ig. thats one thing. idk if it can be much shorter
Avatar
Avatar
Solly
macro_rules! formatTune { ($name:expr, $value:expr) => { concat!("tune ", $name, " ", &$value.to_string(), "\n") }; } print!( formatTune!("ground_control_speed", new_tunes.ground_control_speed) + formatTune!("ground_control_accel", new_tunes.ground_control_accel) + formatTune!("ground_friction", new_tunes.ground_friction) + formatTune!("ground_jump_impulse", new_tunes.ground_jump_impulse) + formatTune!("air_jump_impulse", new_tunes.air_jump_impulse) + formatTune!("air_control_speed", new_tunes.air_control_speed) + formatTune!("air_control_accel", new_tunes.air_control_accel) + formatTune!("air_friction", new_tunes.air_friction) + formatTune!("hook_fire_speed", new_tunes.hook_fire_speed) + formatTune!("hook_drag_accel", new_tunes.hook_drag_accel) + formatTune!("hook_drag_speed", new_tunes.hook_drag_speed) + formatTune!("gravity", new_tunes.gravity) + formatTune!("velramp_start", new_tunes.velramp_start) + formatTune!("velramp_range", new_tunes.velramp_range) + formatTune!("gun_speed", new_tunes.gun_speed) + formatTune!("gun_lifetime", new_tunes.gun_lifetime) + formatTune!("grenade_speed", new_tunes.grenade_speed) + <DISCORD LIMIT> formatTune!("explosion_strength", new_tunes.explosion_strength) + formatTune!("hammer_strength", new_tunes.hammer_strength) + formatTune!("hook_duration", new_tunes.hook_duration) + formatTune!("hammer_fire_delay", new_tunes.hammer_fire_delay) + formatTune!("gun_fire_delay", new_tunes.gun_fire_delay) + formatTune!("shotgun_fire_delay", new_tunes.shotgun_fire_delay) + formatTune!("grenade_fire_delay", new_tunes.grenade_fire_delay) + formatTune!("laser_fire_delay", new_tunes.laser_fire_delay) + formatTune!("ninja_fire_delay", new_tunes.ninja_fire_delay) + formatTune!("hammer_hit_fire_delay", new_tunes.hammer_hit_fire_delay) )
Koll Potato 2024-11-14 17:54
maybe u can try writing a macro which gets that tune names and converts them to snake case?
Avatar
a better way is to have string names stored for each attribute (probably through some debug rust shit) then iterate over the attributes as key pairs
Avatar
Koll Potato 2024-11-14 17:54
i have no idea how to write macros in rust
Avatar
but im not sure how to do that tho
Avatar
Avatar
Koll Potato
i have no idea how to write macros in rust
i write c macros then ask chatgpt
kek 1
KEKW 1
Avatar
Koll Potato 2024-11-14 17:55
pro move
17:55
ok i go learn macros in rust
17:55
wanted to do that anyway
Avatar
there are a few kinds
Avatar
Avatar
Solly
macro_rules! formatTune { ($name:expr, $value:expr) => { concat!("tune ", $name, " ", &$value.to_string(), "\n") }; } print!( formatTune!("ground_control_speed", new_tunes.ground_control_speed) + formatTune!("ground_control_accel", new_tunes.ground_control_accel) + formatTune!("ground_friction", new_tunes.ground_friction) + formatTune!("ground_jump_impulse", new_tunes.ground_jump_impulse) + formatTune!("air_jump_impulse", new_tunes.air_jump_impulse) + formatTune!("air_control_speed", new_tunes.air_control_speed) + formatTune!("air_control_accel", new_tunes.air_control_accel) + formatTune!("air_friction", new_tunes.air_friction) + formatTune!("hook_fire_speed", new_tunes.hook_fire_speed) + formatTune!("hook_drag_accel", new_tunes.hook_drag_accel) + formatTune!("hook_drag_speed", new_tunes.hook_drag_speed) + formatTune!("gravity", new_tunes.gravity) + formatTune!("velramp_start", new_tunes.velramp_start) + formatTune!("velramp_range", new_tunes.velramp_range) + formatTune!("gun_speed", new_tunes.gun_speed) + formatTune!("gun_lifetime", new_tunes.gun_lifetime) + formatTune!("grenade_speed", new_tunes.grenade_speed) + <DISCORD LIMIT> formatTune!("explosion_strength", new_tunes.explosion_strength) + formatTune!("hammer_strength", new_tunes.hammer_strength) + formatTune!("hook_duration", new_tunes.hook_duration) + formatTune!("hammer_fire_delay", new_tunes.hammer_fire_delay) + formatTune!("gun_fire_delay", new_tunes.gun_fire_delay) + formatTune!("shotgun_fire_delay", new_tunes.shotgun_fire_delay) + formatTune!("grenade_fire_delay", new_tunes.grenade_fire_delay) + formatTune!("laser_fire_delay", new_tunes.laser_fire_delay) + formatTune!("ninja_fire_delay", new_tunes.ninja_fire_delay) + formatTune!("hammer_hit_fire_delay", new_tunes.hammer_hit_fire_delay) )
this doesnt work
Avatar
Just have each tune be a tuple of name, value, and scaling type
Avatar
concat only accepts string literals
Avatar
average chat gpt user
Avatar
you don't need a named variable for each tune lol, just have a list of tuples
Avatar
yeah you cant concatenate runtime strings with a macro regardless
17:56
unless the macro wraps runtime functions
Avatar
struct Tunes { ground_control_speed: f32, ground_control_accel: f32, ground_friction: f32, ground_jump_impulse: f32, air_jump_impulse: f32, // Add more attributes as needed } impl Tunes { // Method to return an iterator of the attribute names and values fn attributes(&self) -> impl Iterator<Item = (&str, f32)> { // Return an iterator over tuples of field names and values vec![ ("ground_control_speed", self.ground_control_speed), ("ground_control_accel", self.ground_control_accel), ("ground_friction", self.ground_friction), ("ground_jump_impulse", self.ground_jump_impulse), ("air_jump_impulse", self.air_jump_impulse), // Add more fields here if necessary ] .into_iter() } } fn main() { // Instantiate the struct let new_tunes = Tunes { ground_control_speed: 1.0, ground_control_accel: 2.0, ground_friction: 0.9, ground_jump_impulse: 5.0, air_jump_impulse: 3.0, }; // Iterate over the attributes and print the names and values for (name, value) in new_tunes.attributes() { println!("{}: {}", name, value); } } this is cleaner imo
Avatar
// Iterate over the attributes Thanks chatgpt
Avatar
yeah this is chatgpt
Avatar
that shouldnt work either(?)
Avatar
why not
Avatar
because attributes dont work like that
Avatar
ew chatgpt dev
Avatar
#[] <— attribute
17:58
macro
Avatar
i find it extremely funny u need chatgpt for that for loop
Avatar
Avatar
Ryozuki
ew chatgpt dev
i dont know rust
17:58
i can spit out the equivilant in python if u want x-x
17:58
(i wouldnt need chatgpt for that)
Avatar
it’d be fine if they weren’t cementing it as truth lol
👍 1
Avatar
Why do we even need the math rewritten except multiply and then divide by 50?
Avatar
Avatar
Solly
i dont know rust
fn attributes(&self) -> impl Iterator<Item = (&str, f32)> { // Return an iterator over tuples of field names and values vec![ ("ground_control_speed", self.ground_control_speed), ("ground_control_accel", self.ground_control_accel), ("ground_friction", self.ground_friction), ("ground_jump_impulse", self.ground_jump_impulse), ("air_jump_impulse", self.air_jump_impulse), // Add more fields here if necessary ] .into_iter() } why return a iterator, u can just return a reference to a &[] and avoid a heap alloc
17:59
chatgpt kekw
Avatar
Avatar
Ryozuki
fn attributes(&self) -> impl Iterator<Item = (&str, f32)> { // Return an iterator over tuples of field names and values vec![ ("ground_control_speed", self.ground_control_speed), ("ground_control_accel", self.ground_control_accel), ("ground_friction", self.ground_friction), ("ground_jump_impulse", self.ground_jump_impulse), ("air_jump_impulse", self.air_jump_impulse), // Add more fields here if necessary ] .into_iter() } why return a iterator, u can just return a reference to a &[] and avoid a heap alloc
iterators make me happy
Avatar
u dont need bec too
17:59
vec
Avatar
also this is a tiny program speed is not important
Avatar
fn main() { let args: Vec<String> = env::args().collect(); if args.len() <= 1 { eprintln!("Usage: tune_calculator <scale>"); return; } let scale = args[1].parse::<f32>().unwrap_or_else(|_| { eprintln!("Invalid scale value."); std::process::exit(1); }); let tick_speed = ((1.0 / scale) * 50.0) as i32; let tunes = calculate_tunes(tick_speed); println!("{:#?}", tunes); } (edited)
Avatar
i didnt see attributes def
17:59
kek
Avatar
Avatar
meloƞ
lgtm
you want 30x speed?
Avatar
Time to write C
17:59
this reminds me i have a ddnet config parser in rust
HUH 1
Avatar
Avatar
meloƞ
fn main() { let args: Vec<String> = env::args().collect(); if args.len() <= 1 { eprintln!("Usage: tune_calculator <scale>"); return; } let scale = args[1].parse::<f32>().unwrap_or_else(|_| { eprintln!("Invalid scale value."); std::process::exit(1); }); let tick_speed = ((1.0 / scale) * 50.0) as i32; let tunes = calculate_tunes(tick_speed); println!("{:#?}", tunes); } (edited)
oh yeah u can use the debug printing thing
Avatar
A ddnet / teeworlds configuration parser. Contribute to edg-l/teeconfig development by creating an account on GitHub.
😃 1
Avatar
Avatar
Solly
oh yeah u can use the debug printing thing
#[derive(Debug)] ftw
Avatar
rust sometimes just has randomly cool features
18:00
and othertimes makes me cry
Avatar
i was using dbg to debug but i hate the format. i want to just paste
Avatar
use crate::tokens_cfg::{ ConfigToken, ConfigLine, Value }; use crate::tokens_cpp::{ LexicalError, }; grammar; extern { type Location = usize; type Error = LexicalError; enum ConfigToken { "string lit" => ConfigToken::StringLiteral(<String>), "ident" => ConfigToken::Identifier(<String>), "int" => ConfigToken::Integer(<i64>), "ip" => ConfigToken::IP(<String>), "endline" => ConfigToken::Endline, } } pub Configs: Vec<ConfigLine> = { <entries:Entry*> => entries } Value: Value = { <x:"string lit"> => Value::String(x), <x:"int"> => Value::Int(x), <x:"ident"> => Value::Key(x), <x:"ip"> => Value::IP(x), } Entry: ConfigLine = { <name:"ident"> <values:Value*> "endline" => { ConfigLine { name, values } } }
18:01
epic grammar
Avatar
Maybe I should make mine even fancier, add a special case where values <0.01 get rounded up to 0.01 so things break less (they'll just be weird instead)
Avatar
Avatar
idk
hi, i'm trying to write a command that will change SERVER_TICK_SPEED (I made it from an enum to a regular variable), but there is a problem when I use this command - if I was in flight, for example, I will start to fall VERY laggy, and if I'm standing, I can't do anything do and the message about connection problems flashes. and only after 5 minutes of this the speed finally changes (and during the change you cannot log into the server, although the ping is displayed and the number of players is also displayed)
hi, im again here, im finded general function of speed int64_t CServer::TickStartTime(int Tick) { return m_GameStartTime + (time_freq() * Tick) / TickSpeed(); } does anyone have any ideas on how to fix the lags at 5 minutes?
Avatar
Koll Potato 2024-11-14 18:01
ryozuki will teach each one of rust for a small price of 40$/hour
Avatar
Avatar
risu
Maybe I should make mine even fancier, add a special case where values <0.01 get rounded up to 0.01 so things break less (they'll just be weird instead)
what breaks when 0? (edited)
Avatar
/// Parses a ddnet / teeworlds config file. Like `settings_ddnet.cfg` pub fn parse_config( settings_file: &str, ) -> Result<Vec<ConfigLine>, ParseError<usize, ConfigToken, LexicalError>> { let lexer = ConfigLexer::new(settings_file); let parser = grammar_config::ConfigsParser::new(); parser.parse(lexer) }
Avatar
Avatar
idk
hi, im again here, im finded general function of speed int64_t CServer::TickStartTime(int Tick) { return m_GameStartTime + (time_freq() * Tick) / TickSpeed(); } does anyone have any ideas on how to fix the lags at 5 minutes?
dont alter this -> no lags
Avatar
Avatar
Solly
what breaks when 0? (edited)
Well, you wouldn't want your gravity to be 0
Avatar
iirc if the config format is wrong it tells u wherre its wrong
Avatar
Avatar
meloƞ
dont alter this -> no lags
but i need 😭
Avatar
Avatar
idk
hi, im again here, im finded general function of speed int64_t CServer::TickStartTime(int Tick) { return m_GameStartTime + (time_freq() * Tick) / TickSpeed(); } does anyone have any ideas on how to fix the lags at 5 minutes?
what type of lag
Avatar
Avatar
risu
Well, you wouldn't want your gravity to be 0
i guess so yeah. but its not "truthfull" to have it 0.01
18:02
but better than nothing
Avatar
Avatar
Ryozuki
/// Parses a ddnet / teeworlds config file. Like `settings_ddnet.cfg` pub fn parse_config( settings_file: &str, ) -> Result<Vec<ConfigLine>, ParseError<usize, ConfigToken, LexicalError>> { let lexer = ConfigLexer::new(settings_file); let parser = grammar_config::ConfigsParser::new(); parser.parse(lexer) }
Koll Potato 2024-11-14 18:02
have u used any parsing libraries?
Avatar
just make ddnet accept more precision /j (edited)
Avatar
Avatar
Koll Potato
have u used any parsing libraries?
it uses logos and lalrpop
Avatar
Avatar
louis
what type of lag
during these 5 minutes I can't do anything, and then finally the game runs in slow motion
Avatar
its a LR(1) parser for ddnet configs
Avatar
Avatar
Ryozuki
its a LR(1) parser for ddnet configs
is it fast
Avatar
Koll Potato 2024-11-14 18:03
configs are usually like 100 lines?
Avatar
you probably can't just edit that single function, somewhere else the server/game probably assumes the default tickrate and thus your slowed-down one has to catch up in the 5 minutes
Avatar
@Teero a lot
Avatar
that's what i would guess
Avatar
Koll Potato 2024-11-14 18:03
even python will do it in a second
Avatar
Avatar
Ryozuki
@Teero a lot
a lot fast?
Avatar
it also parses the header C file
Avatar
Avatar
Teero
i was using dbg to debug but i hate the format. i want to just paste
Need pretty printing
Avatar
Avatar
Koll Potato
even python will do it in a second
if it took as long as a full second I'd be quite worried...
Avatar
A ddnet / teeworlds configuration parser. Contribute to edg-l/teeconfig development by creating an account on GitHub.
Avatar
“{:#?}”
Avatar
/// An already loaded `config_variables.h` file, ready to be parsed. /// /// There are no guarantees this is up to date. pub static BUILTIN_CONFIG_VARIABLES_H: &str = include_str!("../config_variables.h"); /// An already loaded `variables.h` file, ready to be parsed. /// /// There are no guarantees this is up to date. pub static BUILTIN_VARIABLES_H: &str = include_str!("../variables.h");
Avatar
Avatar
Ewan
Need pretty printing
:#? is not pretty enough (edited)
Avatar
Avatar
risu
if it took as long as a full second I'd be quite worried...
Koll Potato 2024-11-14 18:04
would be less that was a joke
Avatar
maybe typo
Avatar
Koll Potato 2024-11-14 18:04
ive written parsers in python
18:04
are not that slow as i thought
Avatar
Avatar
Teero
:#? is not pretty enough (edited)
serde json then
Avatar
Avatar
Ewan
serde json then
brother i want the ddnet tune format
Avatar
actually
Avatar
im not reading
18:05
wdym tune format
18:05
that’s not a thing which gets formatted
18:05
u just read the params
Avatar
isnt tune just "tune x y z"
Avatar
Avatar
Ewan
that’s not a thing which gets formatted
Avatar
I'm actually getting the urge to modify the server to handle more precise tunes and make it fudge the communication with the client to make it seem smoother
Avatar
Avatar
Ryozuki
isnt tune just "tune x y z"
yes exactly thats why i did not use :? or :#?
Avatar
i dont understand
Avatar
Avatar
idk
hi, im again here, im finded general function of speed int64_t CServer::TickStartTime(int Tick) { return m_GameStartTime + (time_freq() * Tick) / TickSpeed(); } does anyone have any ideas on how to fix the lags at 5 minutes?
pls help me with this
18:06
😩
Avatar
or what
Avatar
are u trying to make a bot
18:07
ah no its a server thing
Avatar
Avatar
idk
pls help me with this
ive already attempted this, you need to send the change to the client you should also reset prediction (edited)
Avatar
nah he's trying to copy the slowmotion servers like 30 other people today for some reason
18:07
kekw
Avatar
Avatar
idk
pls help me with this
i told u u probably have to find where the server is assuming a different tickrate, i doubt anyone here knows whwere off the top of their head
Avatar
again there’s a pr for this already
Avatar
what slowmo servers?
Avatar
oh there is a pr
Avatar
Koll Potato 2024-11-14 18:07
slow servers
18:07
literally
18:07
physics are slow
Avatar
Avatar
Ewan
again there’s a pr for this already
wait i don't think so
Avatar
Avatar
meloƞ
fn main() { let args: Vec<String> = env::args().collect(); if args.len() <= 1 { eprintln!("Usage: tune_calculator <scale>"); return; } let scale = args[1].parse::<f32>().unwrap_or_else(|_| { eprintln!("Invalid scale value."); std::process::exit(1); }); let tick_speed = ((1.0 / scale) * 50.0) as i32; let tunes = calculate_tunes(tick_speed); println!("{:#?}", tunes); } (edited)
@Teero this is functional, can you test if it's accurate
Avatar
lower tickrate != slower server
Avatar
when its 31 december ill say i will not code rust till next year
Avatar
GitHub BOT 2024-11-14 18:08
Communities tab shouldn't be where it is
  • It eats up space for other info
  • It is a filter so should be in the filter tab
This is an alternative to collapsing it as in #9237 as I'm against that when I think this is much cleaner. I don't mind if the server info is collapsable The types/countries filters no longer disapear when they are empty (nor do communities) as that would mean there would be too many cases to handle. This also adds a vsplitn for allowing the tabs to be spli...
Avatar
Avatar
louis
lower tickrate != slower server
Koll Potato 2024-11-14 18:08
lower tickrate == client doesnt work
18:08
owo
Avatar
lower tickrate = nouis
Avatar
ryo do u know if it’s possible to set up distributed rust builds?
18:09
and a cache perhaps
Avatar
hmm i guess nobody did it
18:09
sscache
Avatar
i want it on my home network
Avatar
Sccache is a ccache-like tool. It is used as a compiler wrapper and avoids compilation when possible. Sccache has the capability to utilize caching in remote storage environments, including various...
😃 1
Avatar
so i can usw my m3 pro and my 7900X
Avatar
Avatar
meloƞ
@Teero this is functional, can you test if it's accurate
what?
Avatar
@idk btw when you modify the tickrate you shouldnt touch the tickrate that is visible in gameclient and server because that would cause everything to be scaled which means its just a laggy server rather than a slow one. you should find where the ticks happen and modify the tick rate only there
Avatar
@Ewan it has storage options
18:09
like s3
18:10
i might have to do more work bcs we use a custom registry
18:10
which i probably wont be allowed to access from desktop
18:10
because certificates
18:10
and contract
Avatar
u do use a custo mreg?
18:10
lol
Avatar
Avatar
Teero
what?
i fixed your horrible formatting xd
Avatar
proprietary code moment
Avatar
why not github references
Avatar
Avatar
meloƞ
i fixed your horrible formatting xd
bro?? i want that exact format stop
Avatar
or git
Avatar
i bet someone made a tik tok
18:11
holy crap slow mo ddnet!!!!!!!!!
Avatar
Koll Potato 2024-11-14 18:11
all my homies hate tiktok
Avatar
when fast mode ddnet
18:11
just copy the slow mode from demo mode 5head
Avatar
MilkeeyCat 2024-11-14 18:11
when ddpg will be released 😏
Avatar
Avatar
Ryozuki
why not github references
im unsure what the benefit is
18:12
i also didnt set it up
18:12
so idk
Avatar
Avatar
Ewan
i bet someone made a tik tok
Koll Potato 2024-11-14 18:12
Avatar
Avatar
Ryozuki
when fast mode ddnet
1.2x or 1.5x is kinda fun, anything faster becomes kinda unplayable
Avatar
Koll Potato 2024-11-14 18:12
like 5 videos about slowmo servers
18:12
he is the owner
Avatar
this can be achieved with tunes to a more desirable effect so i dont really get it
Avatar
anyone play multiFAT
18:13
or whatever
18:13
it isn’t 1:1 but
18:13
nouis
Avatar
Avatar
Solly
Click to see attachment 🖼️
this is a fake server of that person from tiktok, the official one is slownet 1.1
Avatar
well its popular x-x
Avatar
slownet LOL
18:14
use that one then
18:15
let me guess it’s proprietary
Avatar
Avatar
Solly
well its popular x-x
official too
18:15
official have 3 servers
18:15
there is no official
Avatar
Koll Potato 2024-11-14 18:15
fatnet
18:15
where every tee is fat
Avatar
ddnet is not running slow servers
Avatar
Koll Potato 2024-11-14 18:15
he means official slownet servers
Avatar
Avatar
Ewan
ddnet is not running slow servers
I don't mean official ddnet servers
Avatar
Avatar
Koll Potato
he means official slownet servers
yea
Avatar
official slownet
18:16
what is this community
Avatar
Avatar
Solly
well its popular x-x
u dont know, a server can report 64 fake players
Avatar
Koll Potato 2024-11-14 18:16
officially slow
Avatar
but its bannable offense
Avatar
it must be popular bcs we have had like 5 ppl ask about it in 48 hours
Avatar
Avatar
Ryozuki
u dont know, a server can report 64 fake players
btw, that server in the photo is with a fake number of players XD (edited)
🫡 1
Avatar
but that’s the issue I think
18:17
nice
18:17
so who does master bans?
Avatar
hein the master
18:17
all bow
Avatar
our lord heinrich
Avatar
@heinrich5991
Avatar
Koll Potato 2024-11-14 18:18
rust lord
Avatar
https://discord.com/channels/252358080522747904/1124657351442579486 --> Admin-Mail so it doesn't get lost so easily
🔥 2
Avatar
Koll Potato 2024-11-14 18:18
i dont think they are faking players
18:18
ive joined one of the servers
18:18
people seem real
Avatar
it can be looked into.
18:18
xdd idk
18:19
maybe im a little sour
Avatar
Avatar
Koll Potato
people seem real
I counted once, it didn't match (by about 10 or so)
Avatar
this is such unproductive candid nonsense
Avatar
Avatar
idk
I counted once, it didn't match (by about 10 or so)
Koll Potato 2024-11-14 18:19
poggers2
Avatar
Avatar
idk
btw, that server in the photo is with a fake number of players XD (edited)
i checked it out. seems like real russians to me
😭 1
Avatar
Avatar
Ryozuki
u dont know, a server can report 64 fake players
das true, but it probably isnt
Avatar
Idk, they had an update not long ago, mb they cut it out
18:21
not checked
Avatar
Koll Potato 2024-11-14 18:21
i mean if they know how the protocol works they can just spawn afk bots
Avatar
Koll Potato 2024-11-14 18:21
hard to detect
Avatar
they arent bots
Avatar
Koll Potato 2024-11-14 18:21
i said they can
Avatar
Avatar
Koll Potato
i mean if they know how the protocol works they can just spawn afk bots
MOST LIKELY THERE ARE A TON OF AFKSHERS THERE
Avatar
lots of afk
Avatar
Koll Potato 2024-11-14 18:22
nah
Avatar
yeah but thats every server
Avatar
Koll Potato 2024-11-14 18:22
yes
Avatar
Avatar
Solly
yeah but thats every server
well at least yes
18:23
the thing is that when I went to the server and counted, the number of players in the tab and the number of players did not match, and about 10 people were afk
Avatar
sounds like you didnt refresh the browser
18:23
it doesn’t do that when you leave
Avatar
btw, I rebooted, it may be that I’m wrong, and while I was looking at the tab and then looking at the number of players, the number of players came out
Avatar
Koll Potato 2024-11-14 18:26
their servers are running ddnet++
😃 1
18:26
not sure why
Avatar
they just have a retarded admin, I came in today (they’ll just laugh), and there the admin changed x6 to speed(not slow), the players tried to change it back to slowdown and in the end it turned out that in 5 seconds it changed from slowdown to speed, and so on (edited)
😂 1
Avatar
Koll Potato 2024-11-14 18:26
nothing we can do about it
18:27
retarded admin is not against the rules afaik
18:27
nouis
Avatar
hahahaha (edited)
18:27
well actually yes, I’m just telling you what’s going on there
Avatar
@Robyt3 "The community filter was previously not shown on favorite community tabs, since those always show exactly one community, whereas it's now also incorrectly shown on those tabs." So setting fav community and filtering by was seperated. Whats shown incorrectly on those tabs?
Avatar
The community filter isn't shown on favorite community tabs
Avatar
(oops)
Avatar
GitHub BOT 2024-11-14 19:12
Tile that only unfreezes you if you're grounded while also in the tile
Avatar
Avatar
Souly
our lord heinrich
is this a heinrich himmler reference
Avatar
whos jupeyy on here?
19:40
jupstar?
Avatar
Koll Potato 2024-11-14 19:41
cutie jupie
19:42
heartw
Avatar
@Jupstar ✪ (ik this is wip, i like it, these r just questions x-x) (also is this made in code or drawing?) I think settings should be with editor/demos/exit because its not a server I also think the top bar should be bigger what is the 3 people icon? and is the icon at the top something something accounts? I think this works with settings as the tabs can be moved to the top or the little sticky out bit can be removed, but i think it might look weird i personally like the filters being easily gettable 2 without a burger menu, as fitting all the filters we do have into that might prove... challanging
Avatar
I'd say I prefer the current layout, especially when it comes to those circle icons on the left
Avatar
im impartial
19:53
x-x
Avatar
Avatar
Solly
@Jupstar ✪ (ik this is wip, i like it, these r just questions x-x) (also is this made in code or drawing?) I think settings should be with editor/demos/exit because its not a server I also think the top bar should be bigger what is the 3 people icon? and is the icon at the top something something accounts? I think this works with settings as the tabs can be moved to the top or the little sticky out bit can be removed, but i think it might look weird i personally like the filters being easily gettable 2 without a burger menu, as fitting all the filters we do have into that might prove... challanging
Koll Potato 2024-11-14 19:59
omg epic
19:59
is this another client or just a concept
Avatar
Avatar
Koll Potato
is this another client or just a concept
this is jupsti's work
20:01
it's a full rewrite
Avatar
[ 53%] Building CXX object CMakeFiles/game-client.dir/src/game/generated/checksum.cpp.o do... we really need a checksum
20:01
takes ages to compile
Avatar
Avatar
meloƞ
it's a full rewrite
Koll Potato 2024-11-14 20:02
poggers2
20:02
epic
20:02
i love u jupie
20:02
u are my pookie
Avatar
GitHub BOT 2024-11-14 20:26
Would be nice to have some small description/text of what the community stands for (pvp game, race game whatever), so it can be displayed in the client e.g. inside a tooltip. Some very bad example for DDNet: "DDNet hosts servers for a cooperative racing game called ddrace globally, but also hosts other mods like pvp" Just something that tells what the community is there for basically
Avatar
translatable please
20:37
or heinrich wont like it!
Avatar
GitHub BOT 2024-11-14 20:38
Use an std::map to sparsely store only the used CItemTypeInfos on the heap instead of using an std::array to store all 65536 entries (MAX_ITEM_TYPES) on the stack. This reduces the (stack) memory usage of CDataFileWriters from 786512 to 128 bytes.

Checklist

  • [X] Tested the change ingame
  • [ ] Provided screenshots if it is a visual change
  • [ ] Tested in combination with possibly related configuration options
  • [ ] Written a unit test (especially base/) or added coverage...
poggers2 1
Avatar
maybe communities can just provide the main language of all locations of servers they host
Avatar
Avatar
fokkonaut
translatable please
The description could easily be offered in multiple languages in the info json as an object with language codes as keys
Avatar
Yea, Ik, just wanted to poke heinrich there :P because he is a big big fan of texts that are not translatable, so if they would actually come from the community themselves, it would be bad
20:59
Currently empty settings cause map settings errors. For example, if you open ddnet-maps/types/solo/maps/Masquerade.map in the editor, you receive the following screen: !screenshot_2024-11-14_11-58-38 I don't think this is a map-issue, because this is used here to put structure into the tun...
Avatar
how do i draw text with overflow (with a max width) (edited)
Avatar
Avatar
Solly
how do i draw text with overflow (with a max width) (edited)
make it recursive then you atleast have the overflow part done
Avatar
the chat has overflow
Avatar
Avatar
Solly
how do i draw text with overflow (with a max width) (edited)
See skin name rendering, for example: SLabelProperties Props; Props.m_MaxWidth = Label.w - 5.0f; Ui()->DoLabel(&Label, pSkinToBeDraw->GetName(), 12.0f, TEXTALIGN_ML, Props);
Avatar
gotten that far
21:42
but how do i get the number of lines out
21:42
so i can appropriatley size the label
Avatar
Avatar
Robyt3
See skin name rendering, for example: SLabelProperties Props; Props.m_MaxWidth = Label.w - 5.0f; Ui()->DoLabel(&Label, pSkinToBeDraw->GetName(), 12.0f, TEXTALIGN_ML, Props);
(ping)
21:44
and how would i determine the height i would need to make the label
Avatar
Hmm, I guess non of the items had a dynamic height before. Either just pick enough height so it should definitely fit (also with other languages), or use a text container to first layout the text and get its height and then render it.
Avatar
is it okay to copy the logic straight from dolabel
21:45
even if its
21:45
repeated code
21:46
(and then textrender()->textex())
Avatar
you can't use DoLabel for this
21:46
see for example the tooltip rendering in tooltip.cpp
21:46
That should be a similar use case
21:48
Though this could be more efficient by using GetBoundingBoxTextContainer instead of TextBoundingBox
21:49
1. create text container from text 2. get bounding box of text container 3. determine size of item based on the bounding box size 4. render text container inside the item
👍 1
Avatar
what is the max vote command length??
Avatar
enum { VOTE_DESC_LENGTH = 64, VOTE_CMD_LENGTH = 512, VOTE_REASON_LENGTH = 16, MAX_VOTE_OPTIONS = 8192, };
Avatar
Avatar
Robyt3
1. create text container from text 2. get bounding box of text container 3. determine size of item based on the bounding box size 4. render text container inside the item
how do i get the padding that i should use?
21:51
or doi just eye ball it
Avatar
Should be consistent with the other UI elements
21:52
And generally margins should be consistent on all sides
Avatar
tooltip uses 5.0f
21:52
^ btw are these values pixel values?
Avatar
they are adjusted for dpi
👍 1
Avatar
constexpr float FontSize = 14.0f; constexpr float Margin = 5.0f; constexpr float Padding = 5.0f;
Avatar
Avatar
Robyt3
enum { VOTE_DESC_LENGTH = 64, VOTE_CMD_LENGTH = 512, VOTE_REASON_LENGTH = 16, MAX_VOTE_OPTIONS = 8192, };
whyyyy
Avatar
1 unit
Avatar
why would it be so loww
Avatar
think of it that way
Avatar
i dont want to make 200 cfgs
21:53
because it stores 8kb per vote string?
Avatar
Avatar
Solly
tooltip uses 5.0f
There should already be a margin for the friend items right now, I don't think you need to add another one
Avatar
Avatar
Robyt3
There should already be a margin for the friend items right now, I don't think you need to add another one
mmm idk ill see
21:54
im trying to make
21:54
the help text for clans
21:54
and the "enough space so it fits" strategy doesnt feel satisfying
Avatar
too bad
21:54
that’s what exists
Avatar
Avatar
Ewan
that’s what exists
it appears you havent met 1. my stubborness 2. my increasing ability to code 3. robyt3s help
Avatar
use your best judgement and then these guys can tell you if they have an issue with the size you’ve chosen in review
21:55
nouis
Avatar
because in different langs its gonna be vastly different in size
21:55
well not vastly
21:55
1 to 3 lines
21:55
if it ever gets translated#
Avatar
Avatar
Solly
^ btw are these values pixel values?
They are basically arbitrary based on the UI screen size defined in CUi::Screen
👍 1
Avatar
Avatar
Solly
1 to 3 lines
yeah, but simply always using 3 lines and centering the text would also be good enough I guess
Avatar
there should be some context here
21:57
idk what is happening i’m confused and scared and cold
21:57
brb
Avatar
It's about changing this "None" to a description of how to use the feature
Avatar
Avatar
Robyt3
yeah, but simply always using 3 lines and centering the text would also be good enough I guess
but... thats 1 line of margin on either side
Avatar
618951.125000 618951.125000
22:09
ive done something wrong because this is the size of my...
22:09
text
22:10
const float Padding = 2.0f; CTextCursor Cursor; Cursor.m_FontSize = 12.0f * CUi::ms_FontmodHeight; Cursor.m_LineWidth = List.w - Padding * 2.0f; Cursor.m_StartX = List.x + Padding; Cursor.m_StartY = List.y + Padding; STextContainerIndex TextContainerIndex; const unsigned OldRenderFlags = TextRender()->GetRenderFlags(); TextRender()->SetRenderFlags(OldRenderFlags | TEXT_RENDER_FLAG_ONE_TIME_USE); TextRender()->CreateTextContainer(TextContainerIndex, &Cursor, pText); TextRender()->SetRenderFlags(OldRenderFlags); const STextBoundingBox BoundingBox = TextRender()->GetBoundingBoxTextContainer(TextContainerIndex); CUIRect Label; List.HSplitTop(BoundingBox.m_H + Padding * 2.0f, &Label, &List); s_ScrollRegion.AddRect(Label); printf("%f %f\n", BoundingBox.m_H, BoundingBox.m_H); TextRender()->RenderTextContainer(TextContainerIndex, TextRender()->GetTextColor(), TextRender()->GetTextOutlineColor());
22:10
this is very patch work
22:12
dolabel trial and errors getTextWidth
22:12
it cant be that ineffecient
Avatar
patchwork reference?
Avatar
Avatar
Ewan
patchwork reference?
yeah.. the
22:16
like quilting style
22:16
peices from all over the place
22:16
in this case copied and pasted then names changed
22:17
from different files
22:17
such that it looks right and has no errors
Avatar
idk why i expected engagement with that
22:17
i have a friend who played patchwork like 3 times when he was quite new to the game
22:17
so every moderate map is a patchwork reference to him
22:17
it’s funny when he says it
22:18
okay
22:18
Patchwork is a two-player board game created by Uwe Rosenberg. It was released in 2014.
22:18
this one?
Avatar
the ddnet map
22:20
pshh
22:20
fake ass ddnet player
Avatar
im kidding
Avatar
const float FontSize = 10.0f; then the label has a size of 12.0f * CUi::ms_FontmodHeight == 9.6f
22:21
consistent my ass
22:21
everything is magic numbers lmao
22:23
almost
22:23
22:25
List.HSplitTop(50.0f, &List, &Label); s_ScrollRegion.AddRect(Label); uhh its not adding any space?
22:27
list and label were the wrong way around
22:31
Avatar
is this better than a tooltip
22:39
with a question mark icon
Avatar
Avatar
Ewan
is this better than a tooltip
you raise a good point
22:45
lmao
22:45
yeah thats better x-x
22:45
im still proud i figured it out
Avatar
Avatar
Ewan
with a question mark icon
is there already a question mark icon
Avatar
the bundled font has a lot
22:48
try emojis
Avatar
Avatar
Solly
im still proud i figured it out
i’m proud of u too
🦈 1
Avatar
Avatar
Ewan
the bundled font has a lot
hehe i dont know how to do that
Avatar
set the text to the unicode escape of ❓ or smth
22:49
see if it works
Avatar
? sure
22:50
MAYBE_UNUSED static const char *FONT_ICON_QUESTION = "?";
Avatar
a tool like fontforge will let u see into the font
Avatar
Avatar
Solly
MAYBE_UNUSED static const char *FONT_ICON_QUESTION = "?";
it’s probably fine but i prefer to escape anyway
22:50
that looks like normal ?
22:50
on myphone
Avatar
it is
22:51
if emoji works ill change it
Avatar
const char *pText; switch(FriendType) { case FRIEND_PLAYER_ON: pText = Localize("Add friends by clicking on their name in the player list or at the bottom"); break; case FRIEND_CLAN_ON: pText = Localize("To show your clanmates here, add a friend with only the clan name set"); break; case FRIEND_OFF: pText = Localize("Offline friends and clanmates will appear here"); break; default: pText = Localize("None"); break; } GameClient()->m_Tooltips.DoToolTip((char*)this + FriendType, &Header, pText, Header.w);
23:04
y no work x-x
Avatar
what doesnt work
Avatar
tooltip doesnt show
Avatar
send the parts that dont work if i have to debug entire code block i might aswell implement the entire thing myself kek
Avatar
i mean thats it really
23:07
given a cuirect and some text show a tooltip (edited)
23:08
for(size_t FriendType = 0; FriendType < NUM_FRIEND_TYPES; ++FriendType) { CUIRect Header, DeleteIcon, QuestionIcon, Label; List.HSplitTop(ms_ListheaderHeight, &Header, &List); m_ScrollRegion.AddRect(Header); GameClient()->m_Tooltips.DoToolTip((char*)this + FriendType, &Header, "HELLOOO", Header.w); } (edited)
23:08
have the whole file if you want it
23:09
src/game/client/components/menus_browser.cpp
Avatar
Avatar
kebs
send the parts that dont work if i have to debug entire code block i might aswell implement the entire thing myself kek
:)
Avatar
wrong id
23:17
this works GameClient()->m_Tooltips.DoToolTip(&s_aListExtended[FriendType], &Header, "HELLOOO");
Avatar
what magic do I need to do to get debug logs 😦
Avatar
i thought the id had to be unique and thats it?
Avatar
Avatar
Assa
what magic do I need to do to get debug logs 😦
compile target debug?
Avatar
Avatar
Solly
i thought the id had to be unique and thats it?
yes thats why everything there uses &s_aListExtended[FriendType] as id
23:18
not sure what (char*)this + FriendType even does
Avatar
(char*)this casts the this pointer to a char
23:19
then adds FriendType so its unique per iteration
Avatar
Avatar
Solly
compile target debug?
I am sure my IDE shows me wrong build targets
Avatar
Avatar
Assa
I am sure my IDE shows me wrong build targets
mmm
23:19
have uconsidered learning how to use the terminal
23:19
are u on loinux?
Avatar
sudo apt-remove -f tell-me-how-to-use-terminal && sudo apt clean (edited)
Avatar
cd build cmake .. -DCMAKE_BUILD_TYPE=DEBUG make -j`nproc`
❤️ 1
23:20
sudo apt-get a better distro /j
Avatar
Avatar
Solly
(char*)this casts the this pointer to a char
yea but why convert address to char*
23:21
and then add number to it
Avatar
Avatar
kebs
yea but why convert address to char*
because the value of the address is some random big number
23:21
and then the number makes it unique per iteration
Avatar
thank you ❤️
🦈 1
Avatar
cuz the id has to be different
23:22
&s_aListExtended[FriendType] is the same (if the bools are sized as 1 byte, they might be bigger idk, amnt compiler) (edited)
Avatar
but why make undefined behavior instead of just using smth thats already there
Avatar
it isnt undefined behaviour
Avatar
youre casting class object to char array
Avatar
even tho the type is void* the value is being used as a number
Avatar
Avatar
kebs
youre casting class object to char array
thats safe unless you derefence it (edited)
23:25
ill use &s_aListExtended[FriendType] cuz it works but idk why equally big random numbers dont work
Avatar
GitHub BOT 2024-11-14 23:38

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...
Exported 1 140 message(s)
Timezone: UTC+0