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-02-23 00:00:00Z and 2024-02-24 00:00:00Z
Avatar
chillerdragon BOT 2024-02-23 00:31:14Z
Yea idk sorry i only translated a snap successfully so far client side. I build a snap server side like 2 days ago and it is not working :c
00:31
But keep me posted maybe i finally realize whats wrong with my snap
00:32
Oh wait i didnt fully read the quesiton lol
00:32
yes so obj_character_core is not sent i think thats a base class. So is event_common. The others just inherit from that.
00:32
Sound global i would have to check
Avatar
Avatar
chillerdragon
Sound global i would have to check
from what I can see, the sound global is sent as a SV chunk and then mocked to the netobject by the client
Avatar
Avatar
chillerdragon
But keep me posted maybe i finally realize whats wrong with my snap
I just wrote the documentation about snaps
Avatar
Avatar
chillerdragon
Yea idk sorry i only translated a snap successfully so far client side. I build a snap server side like 2 days ago and it is not working :c
the thing is that everything in your snap header must be right, check the infos about CRC, Size, Removed Items Count and Delta Items Count
03:19
the only thing I'm unsure is about the Removed Items Count (I'm not really sure if its related to the last snap sent or something else) and Delta Items Count (idk if its just the current items count in the snap)
03:20
however, you can try just spamming a snap single chunk with obj_game_info and obj_player_info with 0 removed items and 2 delta chunks (and everything else correct)
03:20
after the initial handshake, the client will understand you as a server and will move you to the game screen
03:21
I'm doing this after inital handshake
03:21
moves to this screen
Avatar
Avatar
chillerdragon
Sound global i would have to check
yes, but from a point of view of the protocol, number 8 is unused. The message id never touches the network and only exists on the teeworlds official code (edited)
03:26
I marked 0, 1, 8, 13, 18 as unused on my listing (https://protocol-docs.teeframe.com/snap/snap-items.html)
Avatar
Another thing I'm trying to figure out is why there is a MAX_SNAPSHOT_PACKSIZE (900) value. Why we just dont use the 1400 maximum packet size - (things we send) to decide if we need to split the snap? (edited)
03:55
The thing is that value is also used on client. So I cant just not use it
Avatar
chillerdragon BOT 2024-02-23 05:58:29Z
Nice one good job
Replying to @Miguilim 5913e568-0285-458b-b5ad-8b96ae9d9c4b.png
05:58
Amazing thanks
Replying to @Miguilim I just wrote the documentation about snaps
Avatar
chillerdragon my first merged commit, even tho it's not code, let's goooo
Avatar
ws-client BOT 2024-02-23 06:21:47Z
<ChillerDragon> 🚀
06:22
<ChillerDragon> @MilkeeyCat ur ukrainian?
Avatar
Yes ._.
Avatar
ws-client BOT 2024-02-23 06:22:24Z
<ChillerDragon> pog
Avatar
Id never learn it as a second language
Avatar
ws-client BOT 2024-02-23 06:23:14Z
<ChillerDragon> how much diff to rus?
Avatar
Few different letters and ' character
Avatar
ws-client BOT 2024-02-23 06:24:16Z
<ChillerDragon> woah much bigger diff than i expected
06:24
<ChillerDragon> dude even hello is changed Привіт
Avatar
morning
👋 1
Avatar
Wazzupers
09:12
FFR
Avatar
Avatar
Jupstar ✪
FFR
Hmmmm
09:18
Can you fix my bug problem?
Avatar
Avatar
Teero
Can you fix my bug problem?
What is your bug problem
Avatar
Avatar
Teero
Hmmmm
Fridays for rust
Avatar
Avatar
Jupstar ✪
What is your bug problem
It's illegal robot talk so I can't ;(
Avatar
Use asan
09:20
And tsan
Avatar
It's logic bug...
Avatar
What's hard then
09:21
And some logging
09:21
See where the value gets wrong
Avatar
My head can't find a way to implement something some way that doesn't require a threadripper
Avatar
U have a bottleneck
09:21
I see
09:22
Then you are at the right address
09:22
I make your code the fastest
Avatar
Well no xD I just can't think of a way to solve my problem efficiently.
09:23
Has do with rating organisms while simultaneously having multiple goals.
09:28
My rating is fucked and I have no clue how to get it right. I could implement a bruteforce solution but that would be a 25x slowdown which I cannot afford
Avatar
Avatar
Teero
Well no xD I just can't think of a way to solve my problem efficiently.
Efficiency is not the key. Throw your 32 threads on your problem
09:31
And 64 GB RAM
Avatar
no money (edited)
Avatar
9408451 Add 58€ donation by Zerol Acqua - def-
💸 7
Avatar
@Zerol Acqua Thanks!
Avatar
Avatar
Miguilim
moves to this screen
@Miguilim don't like phpstorm?
Avatar
Rafael Fontenelle 2024-02-23 10:16:02Z
@Miguilim PM me please? (Your settings forbid me from starting it)
Avatar
ChillerDragon BOT 2024-02-23 11:48:25Z
@Kaffeine I don't want to merge my own pr -.- could you add https://github.com/teeworlds-community/teeworlds/pull/61 to the merge queue pls. Ideally before I go to sleep
Avatar
ws-client BOT 2024-02-23 11:49:45Z
<ChillerDragon> or jopsti u go if you have 1min to look at the change :3
Avatar
Avatar
ChillerDragon
@Kaffeine I don't want to merge my own pr -.- could you add https://github.com/teeworlds-community/teeworlds/pull/61 to the merge queue pls. Ideally before I go to sleep
Is it possible to merge a MR with CI failed? I thought we'd have CI fixed before merging something.
Avatar
ws-client BOT 2024-02-23 11:51:12Z
<ChillerDragon> no its not possible
Avatar
PR ☝🤓
Avatar
😄 the best approach ever 😄
Avatar
ws-client BOT 2024-02-23 11:51:43Z
<ChillerDragon> @Kaffeine but only the jobs i activated to be required to pass
11:52
<ChillerDragon> since half of the jobs fail due to the cmake issue its only 2 jobs that need to pass for now. Thats why im pussing #61 so much
11:52
<ChillerDragon> thanks babe
Avatar
I found out it's also possible to re-run only individual jobs that failed, so you don't need to force push to refresh if only macOS CI is acting up again
Avatar
ws-client BOT 2024-02-23 11:53:32Z
<ChillerDragon> ye ik thats epic
11:53
<ChillerDragon> i use rerun more than i would like to admit
11:54
<ChillerDragon> robsti wats your opinion on teeworlds-community?
11:55
<ChillerDragon> https://zillyhuhn.com/cs/.1708689299.png watafak is going on now
Avatar
I don't think I have the time and motivation to contribute code or large reviews to teeworlds-community. Seems good if you keep the scope low any only fix build issues and bugs. I'd consider most refactoring out of scope though.
12:01
For build/CI failures I'd look at the difference between teeworlds and DDNet and then cherry-pick the relevant commits
Avatar
Robyte is already team dd pg
Avatar
what is teeworlds community
Avatar
Avatar
Ryozuki
what is teeworlds community
0.7 maintained by the community xd
12:23
just use ddnet 4head
Avatar
If we'd have website etc would be cool. But as is, I also find it useless xdd
12:23
Official website and steam
Avatar
Hello, It's Earendel back for another electric adventure. You got your first look at Fulgora in FFF-398. (If you haven't read that already please read that first.) Now let's take a look at the new planet's mechanics.
12:24
@Jupstar ✪ ah its just chiller xd
Avatar
Have you ever ran into performance issues playing that game, eg with a lot of entities on the map or smth
Avatar
Avatar
Jupstar ✪
Have you ever ran into performance issues playing that game, eg with a lot of entities on the map or smth
some ppl do with megabases but its hard to hit
12:27
people make crazy stuff since there is no limit
12:27
i never had personally
12:28
this is from a video
12:28
50 fps on a mega base
Avatar
hard to grasp how big is this cuz this is the map look
Avatar
Avatar
Ryozuki
hard to grasp how big is this cuz this is the map look
Interesting, does it then use all cores?
Avatar
probs yes
12:30
idk
12:30
read their blogs
12:30
xd
Avatar
Ok
Avatar
they rly care about perf
12:30
and nice code
12:31
i think belts are indeed threaded
12:31
@Jupstar ✪ > Factorio is primarily limited by cache misses - which is why the (otherwise rather mediocre) 5800X3D and its enormous L3 cache dominates your linked benchmark.
12:32
lmao
12:32
12:32
@Jupstar ✪ there is a amd epyc cpu with 1gb of l3 cache
12:32
imagine that
12:32
AMD EPYC Genoa-X is a 1.1GB L3 cache part designed for high-performance computing with massive performance gains in some applications
Avatar
Avatar
Ryozuki
@Jupstar ✪ there is a amd epyc cpu with 1gb of l3 cache
Just too epyc
12:37
I wish future would be today
Avatar
ws-client BOT 2024-02-23 13:11:50Z
<ChillerDragon> @Robyt3 yea thats my plan to cherry pick ddnet fixes to get the build passing. Some of the more motivated ppl might have more ambitious plans lets see how long until i rq from democracy. Yea i assumed youd be busy but ye if you ever feel like approving a pr that would be pog.
13:12
<ChillerDragon> @Ryozuki yea i did not invite you or deen since i assumed you have no interest at all in the teeworlds code base. Let me know if you want write access.
Avatar
holy hell. it doesn't look as cursed as before poggers
Avatar
Avatar
ws-client
<ChillerDragon> @Ryozuki yea i did not invite you or deen since i assumed you have no interest at all in the teeworlds code base. Let me know if you want write access.
u can invite me if u want just in case
Avatar
ws-client BOT 2024-02-23 15:25:23Z
<ChillerDragon> ok cool will do
Avatar
Avatar
MilkeeyCat
holy hell. it doesn't look as cursed as before poggers
Hmmmm, looks like I saw smth like this before thonk
Avatar
in ddnet code base? 😏
16:17
time to add textures, woo... im pretty sure it will be fun
Avatar
chillerdragon BOT 2024-02-23 16:18:52Z
@MilkeeyCat: you are really close to jsfiddle for tw graphics :3
Avatar
yea, i also have thought about that
Avatar
chillerdragon BOT 2024-02-23 16:19:18Z
Pls do
Avatar
i would need to make ui
16:19
sounds not fun at all
16:20
but i think when i make Graphics class it wont be that bad after
Avatar
chillerdragon BOT 2024-02-23 16:20:11Z
You mean an editor?
16:20
Use monaco editor it’s vscode as js lib
16:20
The rest of the ui is just the canvas
Avatar
i mean.. basically im rewriting teeworlds graphics in js
Avatar
chillerdragon BOT 2024-02-23 16:21:26Z
Yes
16:21
That’s what I almost did
16:21
Just to build a fiddle
16:21
Now you did it. Pls do fiddle
Avatar
js the best pepeW
Avatar
chillerdragon BOT 2024-02-23 16:27:50Z
You such pro coder
Avatar
Avatar
Matodor
@Miguilim don't like phpstorm?
nah, I use vscode for everything xd
Avatar
yes i am, it took only one hour to put true in setFloat32 (edited)
Avatar
Avatar
MilkeeyCat
js the best pepeW
are these floats?
17:52
does cpp has fused multiply add
Avatar
Avatar
Ryozuki
are these floats?
yes
Avatar
A 64-bit floating point type (specifically, the “binary64” type defined in IEEE 754-2008).
Avatar
Avatar
MilkeeyCat
yes
i mean size * i + 4
17:53
some cpus have a fma instruction
17:53
it can yield more accurate
17:53
and faster probs
Avatar
rotated square btw
Avatar
Due to its infinite intermediate precision, std::fma is a common building block of other correctly-rounded mathematical operations, such as std::sqrt or even the division (where not provided by the CPU, e.g. Itanium).
Avatar
not rly a square, not rly rotated tho
Avatar
Avatar
Ryozuki
i mean size * i + 4
it's byte offset
Avatar
nvm then
Avatar
Avatar
chillerdragon
You such pro coder
You say in your documentation that snap items have sizes. However, we send ints inside the items, and ints does not have fixed sizes
Avatar
Call EnvelopeEval functions directly instead of passing them and their arguments to CRenderTools::RenderTilemap and CRenderTools::RenderTileRectangle. Only evaluate color envelopes for tiles layers once instead of separately for the opaque and transparent passes. Only evaluate relevant number of envelope channels instead of always evaluating all channels. Avoid unnecessary calculations by only evaluating position envelopes for quads which are not fully transparent. Fully ign...
Avatar
Ex. obj_projectile size is 6, however m_X can use 2,3,4 bytes to encode it value
18:40
Or not? O.o Idk if I'm missing something here
Avatar
Avatar
Miguilim
You say in your documentation that snap items have sizes. However, we send ints inside the items, and ints does not have fixed sizes
All ints are 4 bytes in snapshots
Avatar
Avatar
Learath2
All ints are 4 bytes in snapshots
hmmmmmmmmmm I didnt confirmed but from what I tested this is actually not true
Avatar
I really doubt we used packed integers for the contents of the snapobjects but there is a slight possibility that I'm misremembering
Avatar
This is the ChillerDragon lib example
20:05
You see game_start_tick is 00 -> 0, x is 90 0c -> 784 and so on
20:06
tick is 9b 13 -> 1243
20:06
thonk
Avatar
You'll see everywhere in the code that we use sizeof(int32_t) to iterate through the snapshot though :/
Avatar
yes, thats why is so confusing
20:08
whoops
20:08
just found
Avatar
Maybe we do pack them but then unpack them very early and I'm just forgetting that?
Avatar
when the server sends the snapshot, it compress
Avatar
Ah, yep that would make sense
Avatar
the aCompData is passed by reference and altered inside the function
20:09
20:09
correct if im wrong XD
Avatar
Soo when you get a snap, first thing you should probably do is to unpack so you can work with nice 4 byte ints all over
Avatar
Avatar
Learath2
Soo when you get a snap, first thing you should probably do is to unpack so you can work with nice 4 byte ints all over
yeauhuhok
20:11
So the snap having a fixed size is a wrong assumption from a protocol perspective right?
Avatar
Yes that sounds wrong, most snap items however do have fixed size
Avatar
Avatar
Learath2
Yes that sounds wrong, most snap items however do have fixed size
thonk but they only have fixed size in the code, not in the encoded packet that is sent
Avatar
Yes, so more exactly, most snap items have fixed size after they get unpacked
Avatar
fddrace, @fokkonaut switches arent shown, bug or intended?
Avatar
Avatar
Learath2
Yes, so more exactly, most snap items have fixed size after they get unpacked
pepeglasses
Avatar
on the level of what ends up on the wire, you can't really say anything about sizes
Avatar
Avatar
cyberFighter
fddrace, @fokkonaut switches arent shown, bug or intended?
they should, if not maybe a client update fucked something up
Avatar
Now everything is more clear, thanks for the help mate
Avatar
i dont know about recent client history
Avatar
im in a kinda newish version
Avatar
Avatar
cyberFighter
fddrace, @fokkonaut switches arent shown, bug or intended?
Does it work again after you disconnect and rejoin, or after you restart the client entirely?
Avatar
disconnect rejoin doesnt fix it
20:17
its never shown
20:17
it used to be shown before on other client versions
20:19
ok i updated to latest nightly and its still broken
Avatar
Likely caused by #7979
Avatar
Closes #7965. 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...
Avatar
is there nightly before that pull i can download to check? or i dont need to
Avatar
Seems like switch layer is not rendered anymore when m_GameInfo.m_DontMaskEntities is true
20:21
@fokkonaut I assume you send this flag on your servers then?
Avatar
Ye, its required in order to show tiles which are non Default
20:22
It was added by Heinrich Back then
20:22
for this purpose
Avatar
Shouldn't we just always render the switch layer if it exists? Kinda weird to render it only when DDNet and DDrace types are set
Avatar
Instead of only building the switch entities when the server uses the DDNet/DDrace type. Fix switch entities not being shown anymore on servers which do not mask entities. Regression from #7979.

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 a...
Avatar
slicing a demo using save_replay and specifing an invalid filename will dump the entire replay but will still output: -- Successfully saved the replay! along with the invalid filename !image
Avatar
my brain - i cant even correctly name my issues
20:52
feelsbadman
Avatar
Vulkan official art goes hard. In the era of soulless corporate logos and art, it makes me happy that this exists.
21:39
I have to agree it goes hard
Avatar
Hey, I'm trying to cross-compile DDNet to MacOS from Linux. I got osxcross installed with MacOS 11.1 SDK. My issue is that CMake complains about SQLite3 not being installed, so I'm wondering if anyone knows how to do this? cmake -DPREFER_BUNDLED_LIBS=ON -DCMAKE_TOOLCHAIN_FILE=../cmake/toolchains/darwin-x86_64.toolchain -DCMAKE_OSX_SYSROOT=../../osxcross/target/SDK/MacOSX11.1.sdk/ .. CMake Error at CMakeLists.txt:638 (message): You must install SQLite3 to compile DDNet
Avatar
Avatar
furo
Hey, I'm trying to cross-compile DDNet to MacOS from Linux. I got osxcross installed with MacOS 11.1 SDK. My issue is that CMake complains about SQLite3 not being installed, so I'm wondering if anyone knows how to do this? cmake -DPREFER_BUNDLED_LIBS=ON -DCMAKE_TOOLCHAIN_FILE=../cmake/toolchains/darwin-x86_64.toolchain -DCMAKE_OSX_SYSROOT=../../osxcross/target/SDK/MacOSX11.1.sdk/ .. CMake Error at CMakeLists.txt:638 (message): You must install SQLite3 to compile DDNet
Looks like there is no sqlite3 for mac provided as a bundled lib
22:03
you could try building and installing it into the sysroot so the CMakeLists.txt of DDNet can find it
22:05
https://github.com/ddnet/ddnet-libs/tree/master/sqlite3 there's no "mac" directory here (edited)
Precompiled libraries and headers of the dependencies of DDNet - ddnet/ddnet-libs
22:05
personally I wonder why not just put an sqlite source file and build it? it's totally trivial
Avatar
deen is always compiling nativly on mac right? i've yet to see one person actually cross compile to that
Avatar
yeah it's a bit nontrivial to do it
22:08
I've never done it before
22:11
looking at the commits here I see:
Revert "Remove sqlite3 on macOS since it's part of system"
but it got deleted in the next commit:
Update libs
which seems like it's (maybe?) a mistake?
22:11
this is from 2 years ago though
22:13
could the part about "part of system" be true? since I think otherwise someone would have noticed
Avatar
youtube, you drunk, go home
22:33
8350010 Always build switch entities layer when map has switch layer - Robyt3 e84278d Merge pull request #8011 from Robyt3/Entities-Unmasked-Fix - archimede67
Avatar
Avatar
furo
Hey, I'm trying to cross-compile DDNet to MacOS from Linux. I got osxcross installed with MacOS 11.1 SDK. My issue is that CMake complains about SQLite3 not being installed, so I'm wondering if anyone knows how to do this? cmake -DPREFER_BUNDLED_LIBS=ON -DCMAKE_TOOLCHAIN_FILE=../cmake/toolchains/darwin-x86_64.toolchain -DCMAKE_OSX_SYSROOT=../../osxcross/target/SDK/MacOSX11.1.sdk/ .. CMake Error at CMakeLists.txt:638 (message): You must install SQLite3 to compile DDNet
okay, for some reason sqlite only provides an autotools configure script You might be able to cross-compile sqlite3 like this: CC=target-triple-idk-clang ./configure --prefix=<wherever darwin-x86_64.toolchain specifies> --host=x86_64-pc-linux-gnu make install though autotools is so bad and flaky this may well not work
Avatar
I would try myself but it seems this osxcross requires an apple account to download build tools or whatever
22:58
I can't do that
Avatar
Avatar
Peter0x44
could the part about "part of system" be true? since I think otherwise someone would have noticed
Yeah, I also saw commit about sqlite3 being included since 10.4
Avatar
Avatar
Peter0x44
I would try myself but it seems this osxcross requires an apple account to download build tools or whatever
I downloaded a SDK from here, https://github.com/joseluisq/macosx-sdks
Avatar
Avatar
furo
Yeah, I also saw commit about sqlite3 being included since 10.4
I would first try seeing if you can coerce autotools to get sqlite in the correct directory so cmake can find it
23:21
autotools is horrific junk though so gl
Avatar
73c3636 Add color4_base::Multiply function - Robyt3 040d767 Remove dead code - Robyt3 ab3c6c4 Improve envelope evaluation and validation - Robyt3 59a734c Merge pull request #8010 from Robyt3/Map-Envelope-Render-Refactoring - def-
Avatar
Avatar
furo
Hey, I'm trying to cross-compile DDNet to MacOS from Linux. I got osxcross installed with MacOS 11.1 SDK. My issue is that CMake complains about SQLite3 not being installed, so I'm wondering if anyone knows how to do this? cmake -DPREFER_BUNDLED_LIBS=ON -DCMAKE_TOOLCHAIN_FILE=../cmake/toolchains/darwin-x86_64.toolchain -DCMAKE_OSX_SYSROOT=../../osxcross/target/SDK/MacOSX11.1.sdk/ .. CMake Error at CMakeLists.txt:638 (message): You must install SQLite3 to compile DDNet
i don't think PREFER_BUNDLED_LIBS is really expected to be used on any platform but windows. ddnet-libs might have a few mac/linux binaries within it but it doesn't seem complete at all (edited)
23:45
i think you're more expected to use brew or macports
Exported 236 message(s)