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-06-09 00:00:00Z and 2024-06-10 00:00:00Z
Avatar
so its a generic callback signature where the object to be passed is determined at runtime
00:59
i dont see why though because every callback casts it to CGameContext *
00:59
unless i missed some
Avatar
13fea24 Sort Compare Not Case Sensitive - Emilcha 24ea8d8 Consistancy, #8468 - Emilcha 31211c3 Merge pull request #8468 from Emilcha/nocase_friendlist_sort - def-
Avatar
eb8cd8c Update Swedish translations for 18.3 - furo321 805b23e Merge pull request #8470 from furo321/swedish-18.3 - def-
Avatar
hi, whats the best way to check if I have set up my local ddnet project correctly?
Avatar
i guess if you're able to build it without problems and if it's up to date with the master branch of the github
03:22
what os are you on @APFFF ?
Avatar
chillerdragon BOT 2024-06-09 03:24:51Z
What do you need it for? You can use the official client if you don’t mind editing a bigger C++ code base. Then there is also headless clients in JavaScript, ruby and python.
Replying to @welcom Does anyone know how to create a bot that can receive chat messages from…
Avatar
hi chiller
04:10
wanna gores
Avatar
Avatar
welcom
Does anyone know how to create a bot that can receive chat messages from a DDNet server? I don't want you to do it for me; I just need some guidance on how to do it, and I'll handle the rest.
F-DDrace is a server-side modification of Teeworlds, developed by fokkonaut. - fokkonaut/F-DDrace
Avatar
morning europeans and others
07:31
vote day justatest
Avatar
morning
Avatar
Avatar
Ryozuki
vote day justatest
Yea dont remind me
07:34
I'll have to drive half an hour just to vote
Avatar
Avatar
fokkonaut
I'll have to drive half an hour just to vote
fr? lol - its only like 5 minutes for me
Avatar
fokko living in the woods
Avatar
Avatar
Ryozuki
vote day justatest
voted by letter days ago
Avatar
Avatar
fokkonaut
I'll have to drive half an hour just to vote
then vote by letter, "Briefwahl"?
Avatar
Avatar
Ryozuki
vote day justatest
what day
Avatar
Avatar
fokkonaut
I'll have to drive half an hour just to vote
don't live in the middle of nowhere trollet
09:12
my vote office is in the same street
Avatar
Avatar
iMilchshake
hayo! Is there a good way to render a .demo directly from the terminal? I wanna use it for batch processing of a large folder with many small demos. I noticed that you can run DDNet some.demo and it will immediately start the demo viewer of that demo. But can i also somehow immediately start a video export via start_video? I tried DDNet some.demo "start_video out.mp4" but it runs the start video command before running the demo so i get videorecorder: Video can only be recorded in demo player. Any ideas? (edited)
Not right now. See #5797
Avatar
Is it possible to implement a 'render all' button in demos section? Similar to current 'render' button, but it will render all the demos in the current folder one by one. Lumpy ◐ω◑
Avatar
I was too late for Briefwahl, so now I have to drive to my old town in order to grab my confirmation so I can go vote
Avatar
don't need no confirmation. just your ID
09:36
better with that letter but not necessary
Avatar
Avatar
Robyt3
Not right now. See #5797
Thanks :)
Avatar
Robyt3 is on a killing spree on GitHub 👍
Avatar
Was not able to test ingame just now but ill be able to do il in the evening today.

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 c...
Avatar
Just noticed I broke my update script while messing around with it a couple months ago... Now I have 94 upgrades, 2 new and 73 reinstalls pending :D
Avatar
Avatar
Learath2
Just noticed I broke my update script while messing around with it a couple months ago... Now I have 94 upgrades, 2 new and 73 reinstalls pending :D
what kind of update script?
Avatar
It's my gentoo rolling upgrade script
Avatar
Avatar
louis
what os are you on @APFFF ?
Windows
Avatar
3bb6026 Consistent value selector behavior, support double-clicking - Robyt3 ef7bebc Remove CUi::MouseButtonReleased function - Robyt3 7741309 Merge pull request #8447 from Robyt3/UI-ValueSelector-Consistency-DoubleClick - archimede67
Avatar
Avatar
APFFF
Windows
i use msys2 for most development on windows. can only recommend
Avatar
I barely ever use windows for coding. Usually macOS. Im a little lost
12:12
I had to install Python3 and Rust for this XD
Avatar
msys2 gives you a linux style cli environment with all the tools but its all windows native compiled
Avatar
and it uses pacman as package manager so its easy to get all dependencies
Avatar
does this exists as a VS Code extention?
Avatar
i use vscode for editing the code and then compile with the terminal
12:13
i dont know if there is an extension
12:13
is just use them in parallel
Avatar
Are there no scripts in the ddnet project for building?
Avatar
cmake -B build -S . cmake --build build/ -j
Avatar
I would rather code on my phone with a keyboard before going back to windows
Avatar
Avatar
Learath2
I would rather code on my phone with a keyboard before going back to windows
reddit ahh answer
12:23
true tho
Avatar
Avatar
_N00P_
cmake -B build -S . cmake --build build/ -j
first i gotta make cmake work justatest
Avatar
did Lerato dove into the shadow realm.
Avatar
@APFFF i would just recommend VS Studio
13:34
errr not vs studio i guess its' just VS (Visual Studio)
Avatar
i recommend neovim
Avatar
lots of support since its a widely used ide and as long as you're choosing the correct packages on installation, getting ddnet to compile is super straightforward
13:39
then open up visual studio, clone the project if you don't already have it locally installed, then just press the beautiful green button and ur done
Avatar
on linux its just install dependencies git clone https://github.com/ddnet/ddnet.git && cd ddnet && mkdir build && cd build && cmake .. && make -j$(nproc)
Avatar
Avatar
louis
then open up visual studio, clone the project if you don't already have it locally installed, then just press the beautiful green button and ur done
first you have to install 50gb of VS and then start it up (which takes another 10 min)
Avatar
takes me 10 seconds from windows search to running the project 😁
Avatar
Avatar
louis
takes me 10 seconds from windows search to running the project 😁
As if that's acceptable either
Avatar
ah yes you need it done in 2 seconds so you can use the other 8 seconds thanking richard stallman
Avatar
Avatar
louis
ah yes you need it done in 2 seconds so you can use the other 8 seconds thanking richard stallman
Actually 2 seconds thanking stallman, 2 seconds praying to torvalds and the remaining 4 for mocking windows users
👍 1
Avatar
uh oh, i was writing code for last 30 mins without checking because I though I "knew" what I was doing. I didn't pepeW
Avatar
Avatar
louis
ah yes you need it done in 2 seconds so you can use the other 8 seconds thanking richard stallman
That's not where the slowness ends
Avatar
Avatar
louis
@APFFF i would just recommend VS Studio
yeah but trouble getting MSVS Build Tools to work
Avatar
Does DDNet.exe run the local Client?
Avatar
5c429a5 Update translation stats - def-
Avatar
:gigachad:
Replying to @Learath2 Learath2: I would rather code on my phone with a keyboard before going b…
15:56
253fd92 new french translation - Emilcha e0ce722 merge into translation file + credits - Emilcha 3a1c301 Changement - Emilcha c87ddfc Merge pull request #8471 from Emilcha/french-translation - def-
Avatar
I got my build folder now in VS Code. Can I now build the local client?
Avatar
aaaay, I almost did basic aah function generation owo
16:29
e993434 Update Turkish translations - GokturkTalha 7383d74 Merge pull request #8472 from GokturkTalha/patch-6 - def-
16:39
a0125f7 Update Azerbaijanese translation - GokturkTalha e80d1ab Merge pull request #8473 from GokturkTalha/patch-7 - def-
Avatar
im in my first coding session with furo - kinda nervous wish me luck!
Avatar
damn next doom trailer released, ig magnus still workin at machinegames
17:08
DOOM the dark ages
Avatar
"couldnt find libfreetype.dll" when executing DDNet.exe. Anyone familiar with this Error? (edited)
17:15
as well as: libpng16-16.dll, SDL2.dll, avformat-60.dll
Avatar
are you using msvc? - i had that issue with msvc .. :D
Avatar
visual studio code i assume?
Avatar
VS Code yes
17:22
It seems to build fine tho
Avatar
visual studio / clion will move the deps correctly, the .dll files are built and exist - you just have to put them into the same folder as DDNet
17:22
i used a script for it - let me see if i can find it
Avatar
what folder do they have to be in?
17:23
ah, overread
Avatar
import os import shutil source_dirs = [ ('c:/Users/Anwender/Projects/ddnet/build/Debug', 'c:/Users/Anwender/Projects/ddnet/build/'), ] for source_dir, destination_dir in source_dirs: if not os.path.exists(source_dir): print(f"Source directory {source_dir} does not exist. Skipping.") continue os.makedirs(destination_dir, exist_ok=True) for filename in os.listdir(source_dir): if filename == 'DDNet.exe' or filename == 'steam_api.dll' or filename == 'DDNet-Server.exe': source_file = os.path.join(source_dir, filename) destination_file = os.path.join(destination_dir, filename) try: shutil.copy(source_file, destination_file) print(f"Moved {source_file} to {destination_file}") except FileExistsError: print(f"{destination_file} already exists. Skipping.") input("Done...") change the source_dirs to yours, the rest should just work
17:24
(please dont hate on the script, i suck at python) (edited)
Avatar
That script can be executed anywhere?
Avatar
yes, it takes the absolute path
17:29
im now using msys2, and i highly recommend it for ease of use - (thanks Ewan), no idea how clion and/or visual studio moves them, once i find out i will update the github Readme with neccessary steps lmao
Avatar
I'm happy it works xD
17:31
not making changes rn
17:31
thx for the script
Avatar
glad it worked!
Avatar
what command do you use to build
Avatar
cmake .. and cmake --build . -j or cmake --build . -j --clean-first
Avatar
cmake -B build -S . cmake --build build/ -j
17:32
ups
Avatar
just go into the build folder - that way you can remove the -S definition and your cmake --build command looks cleaner :P (edited)
17:33
but yes
Avatar
Just copy pasted those justatest
17:34
i have never done anything with cmake ever
17:34
nor have I touched C++ ever
17:34
owo
Avatar
:P thats fair ngl - but you followed the readme?
17:35
at least for the Building
Avatar
so it still isnt clear enough.. - god damn it!
17:35
rewrote it twice now!
17:35
XD
Avatar
I had to use a lot of ChatGPT
17:35
getting MSVC Build Tools to work was a little headache
Avatar
feelsbadman mind dropping me a DM for things that were unclear ? (you can type those in german) - so i might update the readme once more if its something i can elaborate further (edited)
Avatar
Some environment PATH variables were wrong
Avatar
Avatar
APFFF
Some environment PATH variables were wrong
oh the installer should set those correctly...
Avatar
Avatar
meloƞ
feelsbadman mind dropping me a DM for things that were unclear ? (you can type those in german) - so i might update the readme once more if its something i can elaborate further (edited)
omg I already lowkey forgot maybe I can look into my chatgpt logs
Avatar
VS Installer confusing af
17:37
The README for Visual Studio was straight forward tho
Avatar
yeah heinrich suggested i re-add it but it was a little flawed so i rewrote it
Avatar
Visual Studio lowkey the worst IDEA I've ever seen
17:39
.dll files still not found
17:39
:/
17:39
even though your script moved them
Avatar
(same imo) :P - but heinrich was right with what he said
Someone knowing their IDE can already do what they need. The README is for people who need help with the compilation process. I don't think that adding choices is a good idea there. We also don't explain how to set up various IDEs on Linux, we just get the user to a point where they can compile the project.
Avatar
Avatar
APFFF
even though your script moved them
o rly? thats odd - are the .dll's and the .exe files in the same directory?
17:40
maybe the source and destination path is the wrong way
Avatar
.exe are in Release
Avatar
oh did you specify build/Release ?
17:41
or build/Debug
17:41
i always compile with Debug :P
Avatar
ah i did Debug
17:41
whats the difference?
17:42
Does it not log with Release?
17:42
Still not workling
feelsbadman 1
Avatar
from what i know, release optimizes it to the point that debugging will/can be harder (edited)
Avatar
my tree: D:/Coding/DDnet_coding/ddnet/..
17:43
.dll files are actually in ../DDnet_coding (edited)
Avatar
but is the .exe in the same directory?
17:44
the .exe file and the .dll files have to be in the same directory for it to work
Avatar
exe is in DDnet_coding/debug
17:44
ok
Avatar
huuuh you have debug AND release? thats odd - move it out to the .dll files
Avatar
ima move them manually
Avatar
what's wrong with win setup :P
17:46
there is DIR Release and DIR debug
17:46
both gut executables like DDNet.exe
Avatar
open a terminal in there - do the following: rm -Force debug // change to the folder name debug rm -Force Release // change to the folder name release mkdir build cd build cmake .. cmake --build . -J
Avatar
in /DDnet_coding ?
Avatar
i guess
Avatar
ah whats the windows cmd for rm
17:52
rmdir /S /Q debug rmdir /S /Q release mkdir build //already exists cd build cmake .. cmake --build . -j (edited)
17:52
is what i did
17:53
ok what now
17:54
ok, /Release and /Debug are gone now
Avatar
rm is a windows command :o
justatest 1
17:59
wait build dir exists already? ah gg redo
17:59
but remove build folder and recreate it
Avatar
Avatar
meloƞ
rm is a windows command :o
thats remove tho, right? justatest
18:06
Avatar
PS D:\Coding\DDnet_coding> cmake .. CMake Warning: Ignoring extra path from command line: ".." CMake Error: The source directory "D:/Coding" does not appear to contain CMakeLists.txt. Specify --help for usage, or press the help button on the CMake GUI.
18:09
i skipped cmake .. (edited)
Avatar
Avatar
meloƞ
rm is a windows command :o
powershell xd
Avatar
omg cmd doesnt have rm
18:11
kek
Avatar
Avatar
meloƞ
rm is a windows command :o
i told u already it's a powershell alias
18:25
it just wraps powershell's equivalent command
18:25
Remove-Item
Avatar
hi ewan
18:26
Avatar
Avatar
fokkonaut
hi 🍈
hi fokko
🥳 1
18:33
why is he bald
Avatar
The percentage of received console commands was not being shown with the progress spinner because the variable ProgressProps was not passed to the RenderProgressSpinner function. !image

Checklist

  • [X] Tested the change ingame
  • [X] Provided screenshots if it is a visual change
  • [ ] Tested in combination with possibly related configuration options
  • [ ] Written a unit test (especially ba...
Avatar
When I compile a program using the POSIX sem_init() function, I get a compilation warning (error because I normally use -Werror) that the function has been deprecated when I compile on Mac OS X 10....
19:40
like*
Avatar
how does ddnet handle this?
Avatar
better ask why macos doesn't support posix semaphores xddd
Avatar
You are somehow compiling for macOS but not setting CONF_PLATFORM_MACOS (edited)
19:42
Our implementation of semaphores doesn't use those functions on macOS only on other Unix
Avatar
How can it happen that it's not defined?
Avatar
Avatar
Robyt3
You are somehow compiling for macOS but not setting CONF_PLATFORM_MACOS (edited)
^
Avatar
something is wrong with cmakelists i guess (sorry for prone answer)
Avatar
I'd first try dropping in the latest ddnet system.cpp/h instead
Avatar
impossible, im based on 0.7
Avatar
You mixed CONF_PLATFORM_MACOSX and CONF_PLATFORM_MACOS macros in your code
19:49
Replace all with CONF_PLATFORM_MACOS
19:50
And replace your detect.h with ours, I think that should simply work if you do the MACOSX -> MACOS change
Avatar
Thanks
Avatar
Copy str_format_v from ddnet so you don't need to pragma ignore the warning which doesn't seem to work
Avatar
its the same
Avatar
In particular, copy also the part in the header file and add GNUC_ATTRIBUTE
20:03
It's not?
Avatar
Avatar
Robyt3
In particular, copy also the part in the header file and add GNUC_ATTRIBUTE
wdym?
Avatar
And your system.h as additional pragma clang diagnostic push, not sure why that causes the warning though
Avatar
Avatar
fokkonaut
wdym?
nvm, about that, looks like you also have the attribute in the header
Avatar
#ifndef __USE_GNU #define __USE_GNU #endif
troll 1
20:05
Looks like you don't have this
20:05
No idea if that's the magic you need
Avatar
where?
Avatar
Same as in upstream
20:06
system.h
Avatar
Doesnt work
20:10
xD
Avatar
You also need to add the declaration for str_format_v to system.h: int str_format_v(char *buffer, int buffer_size, const char *format, va_list args) GNUC_ATTRIBUTE((format(printf, 3, 0)));
20:10
With the correct GNUC_ATTRIBUTE attribute
20:10
Then you don't need to suppress the warning for clang and the CI shouldn't complain
Avatar
funny enough, there was no declaration of it at all
20:11
haha
Avatar
Appreciated by Richard Matthew Stallman himself!
Replying to @Robyt3 ``` […]
20:19
Do I have to fix all of these?
Avatar
Avatar
fokkonaut
Do I have to fix all of these?
Would be better I guess since it can find bugs
👍 1
Avatar
ninja: error: 'package_dmg', needed by 'CMakeFiles/package_default', missing and no known rule to make it
Avatar
Avatar
fokkonaut
ninja: error: 'package_dmg', needed by 'CMakeFiles/package_default', missing and no known rule to make it
Looks like you need to copy the package_dmg related stuff from ddnet's CMakeLists (edited)
20:46
It's missing in yours
Avatar
thanks
Avatar
How can I run the tests on my branch?
Avatar
You need to add .github/workflows/build.yaml
20:48
but you need to maintain it every once in a while
20:48
-17 - 10
20:48
-17 ??
20:48
Idk how to reproduct it
Avatar
You can enable it on your fork somewhere @APFFF, cant Check myself where exactly tho
Avatar
Avatar
Robyt3
Looks like you need to copy the package_dmg related stuff from ddnet's CMakeLists (edited)
Do you know which stuff containing dmg I need?
Avatar
Avatar
fokkonaut
Do you know which stuff containing dmg I need?
I'd start by copying every line/block containing dmg
20:53
Or look at the diff between your CMakeLists and ddnet
Avatar
what even is dmg? do i need "dmgbuild"?
Avatar
I think it's like an application package
20:54
So like zip file that can be installed with a fancy icon
Avatar
it's some client stuff no? I could remove it entirely
20:55
it's a server repo only
20:55
if(CLIENT AND DMGBUILD)
20:55
that's where it's inside
Avatar
Not sure if there's a .dmg separately for the server on macOS
Avatar
dmg only occurs in scripts/dmg.py and the few lines in my cmakelists.txt
21:00
i think it's useless
21:00
oh wait
21:00
or does the CI need it for packaging?
Avatar
Avatar
fokkonaut
ninja: error: 'package_dmg', needed by 'CMakeFiles/package_default', missing and no known rule to make it
^
Avatar
dmg.py is an old file, ddnet only has dmgsettings.py
21:04
maybe still from bam
Avatar
pip3 install --break-system-packages dmgbuild
21:12
This probably does the trick
Avatar
ddnet/other projects should definetly make a virtual env for that lol
21:12
instead of doing stuff like that
21:13
(I said ddnet, idk if they requires to do that)
Avatar
Avatar
fokkonaut
pip3 install --break-system-packages dmgbuild
ok, did not
21:16
Avatar
If you don't want to package dmg files for macOS you should remove the set(PACKAGE_DEFAULT dmg)
Avatar
what does that do? i dont really understand that
Avatar
Otherwise you need to add add_custom_target(package_dmg DEPENDS ${CPACK_PACKAGE_FILE_NAME}.dmg) list(APPEND PACKAGE_TARGETS package_dmg) and probably more to add the package_dmg CMake target if you want to support building dmg files
Avatar
What is a dmg file
21:19
xD
Avatar
Avatar
Robyt3
If you don't want to package dmg files for macOS you should remove the set(PACKAGE_DEFAULT dmg)
Like an APK but for macOS
Avatar
Avatar
fokkonaut
What is a dmg file
meant to reply to this
Avatar
It's an archive that macOS users can share to distribute the game
Avatar
ahhh okay
21:20
i see
21:20
thanks a lot
Avatar
Avatar
fokkonaut
what does that do? i dont really understand that
This sets a variable, which is used in add_custom_target(package_default DEPENDS package_${PACKAGE_DEFAULT}) to set the other target as a dependency
21:21
so it depends on package_dmg target for macOS, or package_zip for Windows
Avatar
ah okay, i dont own any apple devices. is that convenient? whats the best way to fix it for this server-only repo?
21:22
I think adding package_dmg is the way to go
21:23
But i'm confused, as it's only used in if(CLIENT) in ddnet
Avatar
I think it bundles client and server into one dmg-file and there are metadata files so a launcher is shown to start either
Avatar
So if I only have a server, is it required?
Avatar
We don't bundle zip files with only server either for ddnet only for client+server. but if you only have server then I guess you should still bundle it
Avatar
okay
21:27
I have no idea how all of that apple stuff works
21:27
think i wont figure it out today anymore lol
Avatar
Avatar
fokkonaut
I have no idea how all of that apple stuff works
I don't have either, I usually look at the diff to ddnet to figure out what's missing 😄
21:28
i'll just try smth
21:32
hmmm
21:32
if(DMG) add_custom_target(package_dmg DEPENDS ${CPACK_PACKAGE_FILE_NAME}.dmg) list(APPEND PACKAGE_TARGETS package_dmg) endif()
21:32
tried adding that but didnt work yxd
Avatar
That will add a dependency for a target ${CPACK_PACKAGE_FILE_NAME}.dmg so you'll also need to add add_custom_command(OUTPUT ${CPACK_PACKAGE_FILE_NAME}.dmg etc.
Avatar
never really touched cmake a lot
21:50
can i disable the macos build for now?
21:50
without deleting it from build.yaml
Avatar
how does build.yaml play into this
Avatar
I just don't trigger the macOS CI then
Avatar
windows and linux works
Avatar
you can have it silently fail on macos
Avatar
and apple users probably ™️ know how to compile
Avatar
but it might fail because there’s no symbol
Avatar
Avatar
fokkonaut
and apple users probably ™️ know how to compile
fat chance
21:57
i'll just add some comments
21:58
how does this still trigger macOS
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
Now I know 99% Arabic

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/ddne...
Avatar
chillerdragon BOT 2024-06-09 23:59:09Z
Sedonya speaks Arabic? (edited)
Avatar
No, but this change does not require a high knowledge of Arabic
23:59
Exported 338 message(s)