Guild icon
DDraceNetwork
Development / developer
Development discussion. Logged to https://ddnet.tw/irclogs/ Connected with DDNet's IRC channel, Matrix room and GitHub repositories — IRC: #ddnet on Quakenet | Matrix: #ddnet-developer:matrix.org GitHub: https://github.com/ddnet
Between 2022-09-23 00:00:00Z and 2022-09-24 00:00:00Z
Avatar
Avatar
Chairn
but for instance, what's different from smartphone?
screen size, integrated gamepad, the amd gpu inside it is probably far beyond whatever they could shove inside a smartphone
Avatar
What's the tee weight and height
Avatar
i imagine the size of a tee is canonically like, the size of a cat
Avatar
no i think bigger
Avatar
Avatar
louis
no i think bigger
Avatar
i was thinking in the middle
06:19
06:21
06:21
(SurrealDB)
06:22
didn't know github issue raid existed lmao, why are there always retarded people
Avatar
./gitraid github.com/reitw/bombay 99999
06:22
oop wrong window
Avatar
Avatar
noby
./gitraid github.com/reitw/bombay 99999
./masterban fng
Avatar
Avatar
Ryozuki
its here
feelsamazingman let's goo, can't wait to see a r1 by ryo using steam deck
Avatar
Yesterday i tried opening ddnet on deck
07:36
The screen touch was offset by a lot
07:37
And couldnt click buttons rip
07:37
Will investigate further
08:09
does installing 1000+ fonts worth? justatest don't ask why I need that many.
08:09
and only 300mb in size
Avatar
Avatar
Ryozuki
The screen touch was offset by a lot
We use relative mouse mode
Avatar
In character.cpp under src/game/client/prediction/entities how to get the position where the tee spawns ?
08:39
Or is this possible?
Avatar

Checklist

  • [ ] Tested the change ingame
  • [ ] Provided screenshots if it is a visual change
  • [ ] Tested in combination with possibly related configuration options
  • [ ] Written a unit test (especially base/) or added coverage to integration test
  • [ ] Considered possible null pointers and out of bounds array indexing
  • [ ] Changed no physics that affect existing maps
  • [ ] Tested the change with [ASan+UBSan or valgrind's memcheck](https://github.com/ddnet/ddnet/#using-ad...
Avatar
ddnet crashes on startup after windows and gpu driver updates
Avatar
what render?
Avatar
open gl 3.3.0
Avatar
can u try vulkan?
Avatar
can u change it via settings_ddnet?
09:21
i cant even get to the main menu
Avatar
yeah you can
Avatar
whats it called?
Avatar
lemme see
09:22
gfx_backend "Vulkan"
Avatar
it didnt exist in his normal settings.cfg btw just fyi
Avatar
had to write it in, ye
Avatar
yeah it's for ddnet only
Avatar
well hes on ddnet
Avatar
why was it on my settings.cfg then
Avatar
basicly all OpenGL renderers are broken at this point
09:25
worked before updating the gpu driver and windows
Avatar
Avatar
tommy
worked before updating the gpu driver and windows
win 10 21h2 build 19044.2075 amd radeon 6800 22.9.1 if any dev wants to take a look
Avatar
(tested on 16.03 and newest)
Avatar
Avatar
painn
(tested on 16.03 and newest)
16.0.3 and 16.3.2
Avatar
Avatar
tommy
basicly all OpenGL renderers are broken at this point
Avatar
[quakenet] ChillerDragon BOT 2022-09-23 11:10:59Z
yo rustians send rust code
11:11
i wanna do this (1..10).join(' ');
11:11
range of nums to space sperated string
Avatar
I'm trying to find the code that is executed when a player is being spawned, but with no luck. I need to know when a specific player gets respawned to reset some info. Any help would be appreciated. 😉
Avatar
Ccharacter has a respawn func
11:29
But ddnet might just teleport the char
Avatar
@Ryozuki @Jupstar ✪
Avatar
Avatar
Jupstar ✪
Ccharacter has a respawn func
I can't seem to find it. I want it client side not serverside
11:41
I thought of something hackish
Avatar
Avatar
Mr.Gh0s7
I'm trying to find the code that is executed when a player is being spawned, but with no luck. I need to know when a specific player gets respawned to reset some info. Any help would be appreciated. 😉
DDraceNetwork, a free cooperative platformer game. Contribute to ddnet/ddnet development by creating an account on GitHub.
11:45
Maybe this?
Avatar
yeah something like ththis but this runs for every tee. I think the server doesn't send which teeid respawned so it's imposible
Avatar
Avatar
[quakenet] ChillerDragon
i wanna do this (1..10).join(' ');
(1..100).map(|x| x.to_str()).collect().join(' ') maybe?
Avatar
Avatar
Mr.Gh0s7
yeah something like ththis but this runs for every tee. I think the server doesn't send which teeid respawned so it's imposible
What do u want to do?
Avatar
I need the ID of the player that is being respawned, not just the position of the new spawn (edited)
Avatar
Avatar
Mr.Gh0s7
I thought of something hackish
ok this worked thanks tho 😉 (edited)
Avatar
[quakenet] ChillerDragon BOT 2022-09-23 12:01:36Z
@Learath2 ye good hint thanks i bruteforced the compiler and ended up with this xd (1..100).map(|x| x.to_string()).collect::<Vec<String>>().join(" ");
12:01
it didnt wanna let me join str slices
Avatar
Huh didn't just collect() work? Weird that the compiler couldnt infer that one
Avatar
[quakenet] ChillerDragon BOT 2022-09-23 12:02:36Z
na
12:02
da bitsh didnt want
12:02
and when i told him vec<str> he was like there aint no join on that
Avatar
Also can't have &str there. You need an owned type
Avatar
I bet you can do even better than collecting first
Avatar
I'm just not smort enough
Avatar
[quakenet] ChillerDragon BOT 2022-09-23 12:04:35Z
bash > rust
12:04
change my mind
12:05
heinrich said bash syntax is bad because of quotes
12:05
but look at this xd
Avatar
lmao I can now see how Rust is easy. Imagine having to get a buffer and just put the numbers into it, so much complicated!!!
Avatar
Something with intersperse and fold should probably have better performance and memory characteristics
Avatar
[quakenet] ChillerDragon BOT 2022-09-23 12:08:19Z
wot
12:08
now you just use random words to sound smart
Avatar
Like (1..100).map(|x| x.to_string()).intersperse(" ").fold(String::new(), |x, y| x + y):
12:11
Can maybe make it even better by using push_back
12:11
push_str
Avatar
Rafael Fontenelle 2022-09-23 12:12:40Z
@heinrich5991 Is there a flag to disable Ipv4AndIpv6Work network test? It fails when building in Arch's clean chroot via makechrootpkg.
Avatar
Why does it fail?
Avatar
Avatar
[quakenet] ChillerDragon
Btw, this bash comparison is not exactly fair since those aren't numbers to begin with, nor is that brace construction a zero cost iterator.
Avatar
[quakenet] ChillerDragon BOT 2022-09-23 12:48:06Z
:p
12:48
then gimme a fair compairson
Avatar
Rust is not an interpreted language. I doubt one exists. They have insanely different performance and memory characteristics
Avatar
[quakenet] ChillerDragon BOT 2022-09-23 13:15:37Z
Did you just admit that there is no example where rust syntax can compete with bash? :D
13:15
love to hear that
13:16
Eventho i could think of some for example if statements
13:16
if [ 2 -gt 4 ] vs if 2 > 4
13:17
or incrementing a integert :D
13:17
i=$((i+1)) vs i++;
Avatar
Rafael Fontenelle 2022-09-23 13:22:40Z
@Learath2 I build any package in Arch using makechrootpkg a tool that wraps makepkg running everything in clean chroot. I believe it isolates somehow that network tests fail. I've seen this before when building another software.
13:23
The error message is: [ RUN ] Net.Ipv4AndIpv6Work /build/ddnet/src/DDNet-16.4/src/test/net.cpp:42: Failure Expected equality of these values: net_socket_read_wait(Socket1, 10000000) Which is: 0 1 /build/ddnet/src/DDNet-16.4/src/test/net.cpp:43: Failure Expected equality of these values: net_udp_recv(Socket1, &Addr, &pData) Which is: 0 3 [ FAILED ] Net.Ipv4AndIpv6Work (10010 ms)
Avatar
Avatar
[quakenet] ChillerDragon
@Learath2 ye good hint thanks i bruteforced the compiler and ended up with this xd (1..100).map(|x| x.to_string()).collect::<Vec<String>>().join(" ");
what u on about
13:37
(0..100).map(|x| x.to_string()).join(" ") works
13:38
oh wait
13:38
i had itertools
13:38
xD
13:38
honestly itertools is essential to me
Avatar
const fn length(n: usize, base: usize) -> usize { let mut power = base; let mut count = 1; while n >= power { count += 1; if let Some(new_power) = power.checked_mul(base) { power = new_power; } else { break; } } count } fn main() { // Initialize with the full capacity. let mut data = String::with_capacity((0..100).map(|x| length(x, 10)).sum()); (0..100).for_each(|x| { data.push_str(&x.to_string()); data.push(' '); }); dbg!(data); }
13:57
tryhard version
Avatar
chillerdragon BOT 2022-09-23 14:01:50Z
Litle trolin project which is a bash script that generates rust code based on bash code :D https://github.com/ChillerDragon/bash-to-rust (@Ryozuki)
what u on about (<@749222324980416602_=5bquakenet=5d=20=43hiller=44ragon>)
14:03
image.png
14:03
a wait missing panrenthrsi
14:03
ah ye no didnt help issue also not about parenthesis
Avatar
I said
14:03
It uses the crate itertooks
14:03
Itertools
Avatar
chillerdragon BOT 2022-09-23 14:03:52Z
why you need length? :D
Avatar
It provides some rly useful iter utilities
14:04
On the tryhare version i sent?
Avatar
chillerdragon BOT 2022-09-23 14:04:34Z
also join has no space at the end
Avatar
oh true
14:05
easy fix tho
14:05
i calculate the length with a const function, maybe its all const
14:05
its to know the final string length
14:05
to do only 1 allocation
14:05
instead of hundred
14:08
pub const fn length(n: usize, base: usize) -> usize { let mut power = base; let mut count = 1; while n >= power { count += 1; if let Some(new_power) = power.checked_mul(base) { power = new_power; } else { break; } } count } pub fn main() -> usize { (0..100).map(|...
14:08
the length thing is indeed const
14:08
compile time pog
14:09
190
Avatar
Avatar
Ryozuki
const fn length(n: usize, base: usize) -> usize { let mut power = base; let mut count = 1; while n >= power { count += 1; if let Some(new_power) = power.checked_mul(base) { power = new_power; } else { break; } } count } fn main() { // Initialize with the full capacity. let mut data = String::with_capacity((0..100).map(|x| length(x, 10)).sum()); (0..100).for_each(|x| { data.push_str(&x.to_string()); data.push(' '); }); dbg!(data); }
Has one too many ' ' at the end 😄
Avatar
Avatar
Ryozuki
const fn length(n: usize, base: usize) -> usize { let mut power = base; let mut count = 1; while n >= power { count += 1; if let Some(new_power) = power.checked_mul(base) { power = new_power; } else { break; } } count } fn main() { // Initialize with the full capacity. let mut data = String::with_capacity((0..100).map(|x| length(x, 10)).sum()); (0..100).for_each(|x| { data.push_str(&x.to_string()); data.push(' '); }); dbg!(data); }
what does count line do? print count?
Avatar
If it doesnt have a ; its the return value
14:58
From the current scope
14:58
You can also use return count;
15:02
const fn length(n: usize, mut base: usize) -> usize { let mut count = 1; while n >= base { count += 1; if let Some(new_power) = base.checked_mul(base) { base = new_power; } else { break; } } count }
15:02
works too
Avatar
Avatar
Rafael Fontenelle
The error message is: [ RUN ] Net.Ipv4AndIpv6Work /build/ddnet/src/DDNet-16.4/src/test/net.cpp:42: Failure Expected equality of these values: net_socket_read_wait(Socket1, 10000000) Which is: 0 1 /build/ddnet/src/DDNet-16.4/src/test/net.cpp:43: Failure Expected equality of these values: net_udp_recv(Socket1, &Addr, &pData) Which is: 0 3 [ FAILED ] Net.Ipv4AndIpv6Work (10010 ms)
So I guess we are not allowed to open network sockets in the tests? You could disable the test until we figure out why by running it with ./testrunner --gtest_filter=-Net.Ipv4AndIpv6Work
15:15
Or the GTEST_FILTER env variable if you can't pass parameters
Avatar
Rafael Fontenelle 2022-09-23 15:33:37Z
@deen Want me to file an issue to keep track of it? I didn't open it because because I considered this a downstream issue.
Avatar
Yes, you could assign it to heinrich5991, I think he added this test recently, maybe he has an idea how we can fix it better than disabling the test
Avatar
so we can keep maps and auto demos small. when in the future more and more things will get added. so people who want can just Download the Sound Pack from Maps and have fun with it while others can ignore it totally.
Avatar

Checklist

  • [X] Tested the change ingame
  • [ ] Provided screenshots if it is a visual change
  • [ ] Tested in combination with possibly related configuration options
  • [ ] Written a unit test (especially base/) or added coverage to integration test
  • [ ] Considered possible null pointers and out of bounds array indexing
  • [ ] Changed no physics that affect existing maps
  • [ ] Tested the change with [ASan+UBSan or valgrind's memcheck](https://github.com/ddnet/ddnet/#using-ad...
Avatar
what that question mark is doing exactly?
19:39
DDraceNetwork, a free cooperative platformer game. Contribute to ddnet/ddnet development by creating an account on GitHub.
19:40
is it an "or" statement for calculations, or something completely different?
Avatar
It's called a "ternary statement"
19:40
<expr> ? <if-true> : <if-false>
19:41
so something like this, but as a sign
19:41
weird, but I think I can implement that sign pretty easily too
Avatar
how do u know if a recruiter on linkedin is not fake
20:05
apparently some recruiter from AWS talked to me
20:06
probs fake
Avatar
anyone already noticed dark theme on the website is gone?
Avatar
mustb e a problem with the domain change
20:09
for me white theme is gone xD
20:09
@deen ^^
Avatar
Avatar
Ryozuki
apparently some recruiter from AWS talked to me
oh, so you got that pm too (edited)
20:13
I already pm-d deen about it, the guy's an idiot
20:14
even i managed to track the website down and also
20:14
20:14
@Ryozuki is this the name of the "game" he advertized?
20:15
AWS is not a game
20:15
its amazon
20:15
the company
20:15
linkedin is a place to search for real life jobs
20:15
why you always confuse things xd
Avatar
who messaged you?
Avatar
i wont say the name obviously
20:15
its from linkedin not discord
Avatar
called "saitama"?
20:15
oh
20:15
then nvm
Avatar
you literally dont read xd
Avatar
wait no
20:16
the website's dns is linked with amazon's aws
20:16
so it's the same person probably if it happened within 20 minutes before (edited)
Avatar
no its impossible
20:17
dude
20:17
stop trolling xD
Avatar
justatest I ain't tho
Avatar
you definitly never used linkedin
20:17
people dont use weeb names there
20:17
its real people
20:18
searching for jobs
20:18
in no way connected to this discord
Avatar
I care about more about "recruiter from AWS" and "prob fake"
Avatar
which happened to have a pm about a guy advertizing a game called "the mozi" and the link had connection with AWS
20:19
coincidentally 20 minutes before you get messages like these
20:19
i didnt get this message now
Avatar
I sent info to Deen about it, he'll investigate whenever he's available
Avatar
and its not about any game
20:19
its AWS themself
20:20
idk why i even argue
20:20
this is so stupid
Avatar
and you believe it's a guy from AWS while you call it out as a fake?
20:20
so how's that work for ya?
Avatar
good lord
20:21
i wont even explain myself
20:21
its not worth it
20:21
continue on
Avatar
good then
Avatar
could someone help me check something all you need to do is to connect ger3 ddmax 2long map server (with client 16.4) join a team lock the team and connect the dummy thats it. you will probably have connection problems i checked this one two diffrent connections on one computer and happend to me everytime
Avatar
probs smth to do with the ddos protection
Avatar
@deen @Learath2 @heinrich5991 ok so confirmed, connecting a dummy on ger3 makes you timeout it also happens to players from two diffrent machines but with* the same IP* (edited)
Avatar
@fokkonaut ^
20:59
@Rafael Fontenelle is there no loopback interface in your build environment?
Avatar
Avatar
Ryozuki
apparently some recruiter from AWS talked to me
check their profile
Avatar
Avatar
Tsin
@deen @Learath2 @heinrich5991 ok so confirmed, connecting a dummy on ger3 makes you timeout it also happens to players from two diffrent machines but with* the same IP* (edited)
u timed me out aswell (edited)
Avatar
btw i somehow survived the connection problems when connecting dummy
21:55
i just waited like 2-3 mins and it went away
Avatar
@Tazic I didnt timeout anyone 😛 I don't have such powers. I also wrote on server to not connect dummy.
Avatar
Someone tell tsin to stop timeouting people, he's scaring them away!
Avatar
Servers makes a "dummy?" when u reconnect to "save" your progress so oh well, i dont like that multiple ger server is behaving like dat tho… (edited)
Avatar
It's called a timeout and it doesn't last very long when it happens
woahsurething 1
Avatar
Avatar
Tsin
@deen @Learath2 @heinrich5991 ok so confirmed, connecting a dummy on ger3 makes you timeout it also happens to players from two diffrent machines but with* the same IP* (edited)
Thanks for report, forwarded to hoster
Exported 233 message(s)