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-07-28 00:00 and 2024-07-29 00:00
Avatar
ws-client BOT 2024-07-28 01:42
<ChillerDragon> ryo "linkit" is a cool name!
Avatar
ws-client BOT 2024-07-28 02:28
<ChillerDragon> How do I correctly fill a integer from a 4 byte memory region into a 64 bit register?
02:28
<ChillerDragon> In my .bss section i have udp_payload_index resb 4 and now i want to move its value into rax but rax is 8 byte.
02:29
<ChillerDragon> So this is reading out of bounds if i understood it correctly mov rax, [udp_payload_index]
02:29
<ChillerDragon> the register name determins the size so its reading 8 bytes starting at my udp_payload_index label which is only a 4 byte region
02:30
<ChillerDragon> mov edx, [udp_payload_index] should do a 4 byte move but then only half of rax is set and there might be other garbage in the other half
02:31
<ChillerDragon> So i did a xor rax, rax first hoping it would all just work. Does that make sense? Or did i miss something?
Avatar
ws-client BOT 2024-07-28 02:45
<ChillerDragon> I just had an interesting denial of service idea for the 0.7 protocol to basically ban one player quite efficiently. Can I post it here? xd
02:47
<ChillerDragon> Ah nvm it doesnt work so i can share the idea
02:48
<ChillerDragon> So the security tokens are used to make sure I can not impersonate another ip and act on their behalf because i never get back the reponse with the token from the server.
02:49
<ChillerDragon> My idea was to spoof the connect message to generate a token which i do not get but thats fine. If now the real owner of the ip tries to connect they will be rejected because the token is wrong.
02:49
<ChillerDragon> But it does not work. You need to send ctrl_msg_connect for the server to drop invalid tokens which depends on the server token.
Avatar
GitHub BOT 2024-07-28 04:29

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...
04:30
Avatar
MilkeeyCat 2024-07-28 06:18
yikes, there's no movzx instruction with 32 bit source 😬
Avatar
chillerdragon BOT 2024-07-28 06:31
Wat even movzx do?
Avatar
MilkeeyCat 2024-07-28 06:32
mov zero extend, it takes value and moves it into bigger place
06:32
mov rax, byte [label] moves 1 byte from label into rax
06:32
probably*
Avatar
chillerdragon BOT 2024-07-28 06:33
Filling the rest of rax with zeros?
Avatar
MilkeeyCat 2024-07-28 06:33
yep
Avatar
chillerdragon BOT 2024-07-28 06:33
Epic that’s what I need
Avatar
MilkeeyCat 2024-07-28 06:33
but it doesnt exist for 32 bit xd
Avatar
chillerdragon BOT 2024-07-28 06:33
Do you think my xor hack works as well?
06:33
Im scared about endianess and stuff
Avatar
MilkeeyCat 2024-07-28 06:34
never heard of her
Avatar
chillerdragon BOT 2024-07-28 06:34
endianness!
Avatar
MilkeeyCat 2024-07-28 06:34
i mean i heard of it but never had problems with it xd
Avatar
chillerdragon BOT 2024-07-28 06:34
nessendian!
06:35
Okay I will use that from now on everywhere
Avatar
MilkeeyCat 2024-07-28 06:35
movzx? (edited)
Avatar
chillerdragon BOT 2024-07-28 06:35
no xor rax and mov eax
Avatar
MilkeeyCat 2024-07-28 06:35
ah xd
06:36
ye, i think it's the only way to make it work for 32 bit value thonk
Avatar
chillerdragon BOT 2024-07-28 06:36
Since you said it can’t fail it’s not gonna add bugs
06:36
Compiler dev approved
Avatar
MilkeeyCat 2024-07-28 06:36
better not trust my words justatest
Avatar
chillerdragon BOT 2024-07-28 06:36
Too late
Avatar
ws-client BOT 2024-07-28 08:24
<ChillerDragon> i have the feeling 64 bit is like ipv6
08:24
<ChillerDragon> nobody actually uses it
Avatar
maybe more like ipv6 devided by 2 ._.
Avatar
ws-client BOT 2024-07-28 08:28
<ChillerDragon> feels like every push and pop is bloating around 64 bits while cmp only checks 32 or all my C bros use int32 in their apis
08:29
<ChillerDragon> @jxsl13 you would love what im working on right now
08:29
<ChillerDragon> selfrolling my testing framework in assembly
Avatar
urgh
08:29
too low level for mein geschmack.
Avatar
ws-client BOT 2024-07-28 08:30
<ChillerDragon> average go enjoyer
Avatar
classic
08:30
static linking enjoyer
Avatar
ws-client BOT 2024-07-28 08:30
<ChillerDragon> i dont link shit
08:30
<ChillerDragon> libc is bloat
Avatar
libc is bloat
Avatar
ws-client BOT 2024-07-28 08:44
<ChillerDragon> cleaner than go lang test code
08:45
<ChillerDragon> change my mind
08:45
<ChillerDragon> assembly with macros is a underrated simple language
Avatar
Avatar
MilkeeyCat
yikes, there's no movzx instruction with 32 bit source 😬
There is no movzx for 32 bit source because it would make no sense to have one
08:59
In x86-64, 32bit operands by definition create a 32 bit result zero extended to 64 bits
Avatar
Avatar
ws-client
cannot deny
Avatar
Avatar
Learath2
There is no movzx for 32 bit source because it would make no sense to have one
MilkeeyCat 2024-07-28 09:21
it would make sense to me, so i can write movzx rax, dword ptr [foo] kek
Avatar
Avatar
MilkeeyCat
it would make sense to me, so i can write movzx rax, dword ptr [foo] kek
Just use mov instead
Avatar
Avatar
Learath2
Just use mov instead
MilkeeyCat 2024-07-28 09:23
but what if there's some data in upper 32 bits of a register
Avatar
Avatar
MilkeeyCat
but what if there's some data in upper 32 bits of a register
It's discarded, as I said, 32 bit operands create 32 bit results zero extended to 64 bits
09:28
mov eax, dword ptr [foo]
Avatar
MilkeeyCat 2024-07-28 09:28
and in rax there won't be garbage value, right?
Avatar
Yes, the upper half will get zero'd
Avatar
MilkeeyCat 2024-07-28 09:28
chilllerdragon: you can remove that xor xd
Avatar
ws-client BOT 2024-07-28 09:35
<ChillerDragon> woah no xor?
09:36
<ChillerDragon> just mov eax, 0xBABE and im good? the entire rax register only contains babe? thats op
Avatar
MilkeeyCat 2024-07-28 09:37
register wont contain garbage if you move into eax 32 bit operand
Avatar
ws-client BOT 2024-07-28 09:37
<ChillerDragon> so you basically can't shoot your self i the foot with assembly
09:37
<ChillerDragon> easier than pyson
Avatar
MilkeeyCat 2024-07-28 09:37
if you want just a number you can just write mov rax, 0xBABE, can't you? thonk
Avatar
ws-client BOT 2024-07-28 09:38
<ChillerDragon> i read from some label
09:38
<ChillerDragon> thats a 4 byte region
Avatar
MilkeeyCat 2024-07-28 09:38
ye, so it will work
Avatar
ws-client BOT 2024-07-28 09:39
<ChillerDragon> i might ditch bash as my fav language
Avatar
ws-client BOT 2024-07-28 09:40
<ChillerDragon> basically grep xor &>/dev/null
09:40
<ChillerDragon> its cring anyways why not mov 0
09:42
<ChillerDragon> i fixed quitting btw xd
09:42
<ChillerDragon> no more pkill
09:42
<ChillerDragon> better quit support than vim
Avatar
No, only 32 bit operands have this behaviour, it's for legacy reasons
Avatar
ws-client BOT 2024-07-28 09:46
<ChillerDragon> aaaaaaaaaaaaaaaa
09:46
<ChillerDragon> i removed it all xd
Avatar
Oh actually wait, I didn't look at it
09:46
It's fine, you don't need the xor
Avatar
ws-client BOT 2024-07-28 09:47
<ChillerDragon> it still works
09:47
<ChillerDragon> but that doesnt mean much does it
Avatar
Yeah yeah, it's fine. I misunderstood what catperson said. I thought he meant those can also be mov
Avatar
MilkeeyCat 2024-07-28 09:48
im not a furry justatest
Avatar
ws-client BOT 2024-07-28 09:48
<ChillerDragon> so either mov on edi or movzx byte on rdi?
09:48
<ChillerDragon> eh well different sizes trol
Avatar
Chiller when code directly in bytecode?
Avatar
ws-client BOT 2024-07-28 09:49
<ChillerDragon> once i spawned a tee with assembly
09:50
<ChillerDragon> but then i also gotta learn elf format and shits
09:50
<ChillerDragon> its gonna be much harder
Avatar
MilkeeyCat 2024-07-28 09:50
chillerdragon: when vulkan support?
Avatar
ws-client BOT 2024-07-28 09:50
<ChillerDragon> and offsets
09:50
<ChillerDragon> i leave vulkan to jopsti and lerato
09:50
<ChillerDragon> they already pro in it
Avatar
There was this weird dude in an irc channel that I used to be in that made a really interesting machine code writing tool. Then he turned out to be a massive racist transphobe so he got exiled. Now I can't find the tool and my irclogs aren't complete from those days
justatest 1
Avatar
ws-client BOT 2024-07-28 09:51
<ChillerDragon> racist byte ode
09:51
<ChillerDragon> code
09:51
<ChillerDragon> justatest
Avatar
the double edginess of a sword
Avatar
GitHub BOT 2024-07-28 10:34
What is the motivation for the changes of this pull request? The way I understand it, vanilla GLEW comes into two flavors defined at build time, one has support for GLX extensions and the other ones supports EGL extensions. If GLEW GLX is linked into DDNet, and SDL2 is using the wayland video driver, glewInit() will return the GLEW_ERROR_NO_GLX_DISPLAY error code and we bail out. Among the first things glewInit() does is to call glewContextInit() and only after that call ...
Avatar
всем привет
Avatar
Jupstar ✪ 2024-07-28 10:52
yeah
10:52
#off-topic
12:17
<ChillerDragon> here we go again
12:17
<ChillerDragon> @влад helo
Avatar
Avatar
ws-client
most likely cosmic ray 😛
Avatar
GitHub BOT 2024-07-28 12:41
38773e3 Update spanish.txt - n0Ketchp a898604 Merge pull request #8660 from n0Ketchp/patch-20 - def-
Avatar
Avatar
ws-client
time to test your testing framework
12:52
with another testing framework
12:53
kek
Avatar
ws-client BOT 2024-07-28 12:58
<ChillerDragon> yes it was totally cosmic ray! and no bug in my testing framework xd
12:59
<ChillerDragon> that sounds like dangerous recursion @jxsl13 !
kek 1
Avatar
Avatar
ws-client
MilkeeyCat 2024-07-28 13:23
lgtm
Avatar
MilkeeyCat 2024-07-28 13:52
have anyone had such problems with docker Post "https://auth.docker.io/token": dial tcp: lookup auth.docker.io on 192.168.0.1:53: read udp 192.168.0.101:51560->192.168.0.1:53: i/o timeout feelsbadman any ideas how to fix
Avatar
dns server dead in your local network?
14:30
router's dns dead?
14:30
pihole down?
Avatar
ws-client BOT 2024-07-28 14:38
<ChillerDragon> which command are you running? docker push? or why does it try to auth?
14:38
<ChillerDragon> have you tried using podman? :p
Avatar
Avatar
jxsl13
pihole down?
MilkeeyCat 2024-07-28 14:45
I like your funny words magic man
😂 1
Avatar
Avatar
ws-client
<ChillerDragon> which command are you running? docker push? or why does it try to auth?
MilkeeyCat 2024-07-28 14:46
docker pull xd
Avatar
have you tried turning it off and on again?
14:47
dns lookup fails
Avatar
MilkeeyCat 2024-07-28 14:47
turning off wat
Avatar
router, your local dns server
14:47
whatever you have in your network
14:47
or on your pc/laptop
Avatar
MilkeeyCat 2024-07-28 14:48
i have a solution, execute same command 50 times and it will succeed once
Avatar
nslookup docker.io
14:48
or
14:48
nslookup auth.docker.io
Avatar
Avatar
jxsl13
nslookup auth.docker.io
MilkeeyCat 2024-07-28 14:48
Avatar
are you in some weird vpn?
Avatar
MilkeeyCat 2024-07-28 14:49
no -.-
Avatar
nslookup auth.docker.io
Avatar
I'm following the docker tutorial and am on the part where I have to build the app using: docker build -t friendlyhello . It reaches up to step 4, where after a pause I get this error: Step 4/7 ...
14:51
14:53
might tell docker to use some specific dns server
Avatar
тютюн 2024-07-28 14:56
@Jupstar ✪ Hi, please give me a discord forgottencat I want to talk to him
Avatar
Avatar
jxsl13
might tell docker to use some specific dns server
MilkeeyCat 2024-07-28 14:57
i uncommented default ones i had in the file and nothing changed xd
Avatar
what are the default ones and what is the error message
Avatar
Avatar
тютюн
@Jupstar ✪ Hi, please give me a discord forgottencat I want to talk to him
Jupstar ✪ 2024-07-28 14:57
he is on this discord
Avatar
did the dns server ips in the error message change at all?
Avatar
MilkeeyCat 2024-07-28 14:58
failed to solve: node:18: failed to resolve source metadata for docker.io/library/node:18: failed to do request: Head "https://registry-1.docker.io/v2/library/node/manifests/18": dial tcp [2600:1f18:2148:bc01:20a3:9c3e:d4a7:9fb]:443: connect: network is unreachable
14:58
is this better? xd
Avatar
Avatar
jxsl13
what are the default ones and what is the error message
MilkeeyCat 2024-07-28 14:58
8.8.8.8 & 8.8.4.4
Avatar
your ipv6 is probably not working
Avatar
MilkeeyCat 2024-07-28 14:59
how can i not use ipv6 then? xd
feelsbadman 1
15:00
i need good ol' ipv4
feelsbadman 1
Avatar
Avatar
Jupstar ✪
he is on this discord
тютюн 2024-07-28 15:01
How can I talk to a forgottencat?
Avatar
MilkeeyCat 2024-07-28 15:02
after 20 times it worked, yey
feelsbadman 2
Avatar
Avatar
тютюн
How can I talk to a forgottencat?
go to #general and talk to <@1227173549949845527>
Avatar
тютюн 2024-07-28 15:07
thanks
Avatar
MilkeeyCat 2024-07-28 15:16
@jxsl13 thanks for linking da page, even tho i still get these errors sometimes it works much better! xd
Avatar
xD np
15:17
tried my best
15:17
but networking is far from my strong point
Avatar
MilkeeyCat 2024-07-28 15:37
can anyone show your output of nslookup google.com pls owo
Avatar
Avatar
MilkeeyCat
can anyone show your output of nslookup google.com pls owo
Avatar
MilkeeyCat 2024-07-28 15:57
i think i know how i fix my ass connection poggers2
15:58
i was wondering why when i connected to work vpn in ddnet list of servers always loads instantly
15:58
but when im not connected it takes forever
15:59
and i just checked, it uses different dns server, maybe that's the problem
Avatar
MilkeeyCat 2024-07-28 16:11
yup, now it loads blazingly fast
Avatar
I spent 1 hour today not implementing a 64-ary trie. Just mentally got stuck randomly
16:15
I still can't decide how to make it, random total mental block
Avatar
Avatar
MilkeeyCat
yup, now it loads blazingly fast
MilkeeyCat 2024-07-28 16:18
and it fixed docker as well 😏
Avatar
Maybe I'll make a 256-ary trie instead, hm
16:18
but it's probably worse on cache
Avatar
Avatar
MilkeeyCat
and it fixed docker as well 😏
what you do
16:30
share the knowledge
Avatar
Avatar
jxsl13
what you do
MilkeeyCat 2024-07-28 16:30
changed dns ip in /etc/resolv.conf xd
Avatar
:0 to google ip?
Avatar
MilkeeyCat 2024-07-28 16:31
i chose cloudflare
16:31
good to know
16:31
thanks
Avatar
Hello guys, I have a question. Im new to the ddrace project and I want to add my own component. So I created my own folder called features (game/client/features) I created a class, which extends the CComponent class. Now I want to override the OnRender class. I've also overridden the Sizeof method with a return of sizeof(*this). So now I have to register the component. I did this in the gameclient.h by adding this: // all components CTestComponent m_TestComponent; Then I added it to the insert call in the gameclient.cpp: m_vpAll.insert(m_vpAll.end(), {&m_Skins, &m_CountryFlags, &m_MapImages, &m_Effects, // doesn't render anything, just updates effects &m_Binds, &m_Binds.m_SpecialBinds, &m_TestComponent, <------- Unfortunately I get the error, that m_TestComponent is an unknown overwrite specifier. The error leads to the gameclient.h, where I put CTestComponent m_TestComponent; Can anybody help me with this?
Avatar
is CTestcomponent correctly declared to extend CComponent?
17:10
eg class CTestComponent : public CComponent
Avatar
Avatar
Trexic
Hello guys, I have a question. Im new to the ddrace project and I want to add my own component. So I created my own folder called features (game/client/features) I created a class, which extends the CComponent class. Now I want to override the OnRender class. I've also overridden the Sizeof method with a return of sizeof(*this). So now I have to register the component. I did this in the gameclient.h by adding this: // all components CTestComponent m_TestComponent; Then I added it to the insert call in the gameclient.cpp: m_vpAll.insert(m_vpAll.end(), {&m_Skins, &m_CountryFlags, &m_MapImages, &m_Effects, // doesn't render anything, just updates effects &m_Binds, &m_Binds.m_SpecialBinds, &m_TestComponent, <------- Unfortunately I get the error, that m_TestComponent is an unknown overwrite specifier. The error leads to the gameclient.h, where I put CTestComponent m_TestComponent; Can anybody help me with this?
Jupstar ✪ 2024-07-28 17:10
only ask in 1 channel
17:10
delete one msg
Avatar
As I said, idk where that belongs to... sry
Avatar
Avatar
Trexic
As I said, idk where that belongs to... sry
Jupstar ✪ 2024-07-28 17:12
np, here in dev it fits quite well i'd say
17:12
questions is more for beginners
👍 1
Avatar
Avatar
meloƞ
eg class CTestComponent : public CComponent
Yes its is: class CTestComponent : public CComponent { public: virtual int Sizeof() const override { return sizeof(*this); } virtual void OnRender() override; };
Avatar
GitHub BOT 2024-07-28 17:39
Fix incorrect default value for Vulkan, which is not required.

Checklist

  • [ ] Tested the change ingame
  • [ ] Provided screenshots if it is a visual change
  • [ ] Tested in combination with possibly related configuration options
  • [ ] Written a unit test (especially base/) or added coverage to integration test
  • [ ] Considered possible null pointers and out of bounds array indexing
  • [ ] Changed no physics that affect existing maps
  • [ ] Tested the change with [ASan+UBSan or val...
Avatar
Avatar
Trexic
Yes its is: class CTestComponent : public CComponent { public: virtual int Sizeof() const override { return sizeof(*this); } virtual void OnRender() override; };
did you define OnRender somewhere?
18:09
can you provide the exact error? (just copy logs) (edited)
Avatar
Im sorry, I was just about to tell you that I have found the issue 😄 I was including the gameclient.h in the testcomponent.h and that caused the issue
Avatar
GitHub BOT 2024-07-28 18:14
0983e81 Add required attributes to Android manifest - Robyt3 26b9d16 Merge pull request #8662 from Robyt3/Android-Manifest-Required-Attribute - Jupeyy
Avatar
GitHub BOT 2024-07-28 18:57
Update global time also while rendering loading screens and shift the menu checker background based on the global time so it's smoother while loading. The maximum width and height were swapped as the loop bounds, so the menu checker background did not have the correct width on very wide resolutions. This was not noticed on common resolutions because twice as many quads as necessary were also being rendered for each row of the background. The bounds of the inner loop are adjusted and onl...
Avatar
roby the machine
Avatar
Avatar
MilkeeyCat
changed dns ip in /etc/resolv.conf xd
MilkeeyCat 2024-07-28 19:41
i actually had to change settings in router because /etc/resolv.conf was overwritten by dhcpcd service :\
Avatar
heinrich5991 2024-07-28 19:49
you can also stop the dhcpcd from doing that
Avatar
MilkeeyCat 2024-07-28 19:50
i didn't find how to do that so i changed in router 😄
Avatar
how are jump and other particles packed into demos?
Avatar
heinrich5991 2024-07-28 21:00
as snapshot items
Avatar
an explosion is CNetEvent_Explosion for example but what would a jump be?
Avatar
Avatar
heinrich5991
as snapshot items
i cant find the correct struct
Avatar
heinrich5991 2024-07-28 21:00
maybe as an event on the character
21:00
don't quite remember
Avatar
there is CNetEvent_Common but it defined as struct CNetEvent_Common { static constexpr int ms_MsgId = NETEVENTTYPE_COMMON; int m_X; int m_Y; }; (edited)
21:01
no idea how i would use that (edited)
21:01
ah nvm
21:02
thats just the parent of all the other ones
Avatar
Avatar
heinrich5991
maybe as an event on the character
if you don't have infinite jumps everything works fine but as soon as you get infinite jumps the sounds and jump particles disappear (edited)
21:07
maybe the physics code is just playing with me and its not correctly implemented
21:20
that is literally the default demo behaviour
21:20
if you have endless jumps it doesn't give sounds nor particles
21:20
thats so stupid
Avatar
heinrich5991 2024-07-28 21:21
what are you trying to do?
Avatar
im making a new TAS video and im rendering the run directly to a demo. Since the tas includes infinite jump you can't really witness the absurd amount of jumps the tas makes since it endless jumps apparently are not visualized in the demo player. (edited)
21:23
no problem tho i can fix it
Avatar
okay seems like all endless jumps are handled as ground jumps thats why they don't have particles or sounds in demos
21:33
the sounds for ground jumping are sent manually from the server only if you don't have endless jumps (edited)
Avatar
just increasing m_Jumpled on the player core by one before putting it into the demo works fine.
22:08
9807829 Add BHR server flag - furo321 a799009 Merge pull request #297 from furo321/missing-bahrain-flag - def-
Avatar
GitHub BOT 2024-07-28 22:37
23fb01f Smoother menu checker background scrolling on loading screens - Robyt3 5bd0b06 Fix menu checker background on wide resolutions and optimize it - Robyt3 83c9b6c Merge pull request #8663 from Robyt3/Menus-Checker-Fix-Optimization - def-
Exported 239 message(s)
Timezone: UTC+0