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 2023-08-25 00:00:00Z and 2023-08-26 00:00:00Z
Avatar
unsure if programs using vulkan will have to explicitly opt into using this present mode. if i know vulkan, which I don’t, I’d say ddnet devs would have to do something for it to work ootb. not much
02:22
but vsync off should probably be adequate in a perfect workd
02:22
ld
02:22
-fuse_ld
02:22
justatest
02:22
theyre in your walls
Avatar
but yeah the present mode isn’t new just mesa’s wayland implementation
Avatar
ryo i asked earlier but would gentoo be a good pick for me as someone who’s only ever used arch long-term
03:03
i still haven’t decided what to put on my new pc. not finished yet
03:03
i guess i should ping so u don’t miss it again. sorry if this wakes you @Ryozuki
03:03
i just don’t really know the benefits of using it
Avatar
Avatar
Voxel
will this change ddnet at any point
Code wise no. But Wayland users can finally play without forced vsync
Avatar
Avatar
Ewan
i ask whether std string is preferred over c string in new ddnet code, i’m told yes, so i use it and roby says why using std string
people have different opinions. We use c-strings exclusively in DDNet afaik
Avatar
Avatar
Ewan
i guess i should ping so u don’t miss it again. sorry if this wakes you @Ryozuki
1. bragging rights against arch users, they cant win against gentoo BASED 2. USE flags are awesome, and u can only rly do that due to compiling everything, you get to decide whats included when compiling a package, this allows fine tuning 3. u also fine tune ur own kernel, cant beat that 4. u can choose to opt out of systemd
07:07
imho if u have a good cpu, go for it
Avatar
Avatar
Ryozuki
imho if u have a good cpu, go for it
im scared
07:09
is my cpu gonna catch fire from compiling? justatest
07:09
i say good cpu so u dont wait an eternity
Avatar
well if u dont have a proper cooling setup idk
07:09
i went through this summer just fine
07:10
my 5800x is hot tho
Avatar
ok that cpu is slow
07:10
2ghz right
07:10
xd
07:10
2.5ghz xd
Avatar
yeah u got 2 but
07:11
my 5800x is faster
Avatar
16 cores at 3.8ghz, 4.7 at turbo
Avatar
that equates to $9999
Avatar
not rly
07:11
211€
07:11
rn
07:11
pretty nice value
Avatar
how long does it take you to compile ddnet on release with make -j$(nproc) ?
Avatar
Avatar
Ryozuki
16 cores at 3.8ghz, 4.7 at turbo
my i5 m520 2.67ghz 2 cores is better
🤨 2
troll 1
Avatar
its rly cheap
Avatar
Avatar
Teero
how long does it take you to compile ddnet on release with make -j$(nproc) ?
i use ninja
Avatar
which is like that cmd but a bit better
07:13
iirc it takes 20 seconds
07:13
on clean release
07:13
i compile in the morning
07:13
i test in the night
Avatar
so compiling is the same as building in vscode right
Avatar
you can build in vscode wtf?
07:14
visual studio
Avatar
intuitive naming ik
Avatar
those are worlds apart xdd
Avatar
Avatar
Teero
i compile in the morning
Is that a joke? What kind of CPU do you have where building DDNet takes hours? 😄
Avatar
just a joke. takes like 5-10 min for a complete release build (edited)
Avatar
That sounds wrong too, it should be much faster
Avatar
so i start the build then i go eat and then come back xd
Avatar
Avatar
deen
That sounds wrong too, it should be much faster
k lemme time it
Avatar
What CPU do you have?
Avatar
23.107s
07:17
it takes me
Avatar
FFR
Avatar
let me try clang
07:18
21.016s
07:18
clang is faster
07:19
@Jupstar ✪ whats ur rust question
Avatar
Avatar
Teero
justatest justatest
he said this @deen
07:20
@Teero whats ur ram
Avatar
i still have yet to test
Avatar
32 gigs ddr3
Avatar
im on an old server pc
Avatar
u live a decade ago
Avatar
ddr ace 3
poggers2 1
Avatar
..........
Avatar
Yeah, that's from 2007, sounds fine, my bad 😄
Avatar
k maybe i overestimated a little bit. cmake takes 22 sec. make with 8 cores takes 3:42 sec
07:23
i dunno if ninja is faster
Avatar
that's not a from-scratch build probably, but fine anyway
Avatar
my server is better justatest
Avatar
just git clone and compile
👍 1
Avatar
Avatar
Ryozuki
my server is better justatest
not reading allat
Avatar
Avatar
Ryozuki
@Jupstar ✪ whats ur rust question
what is something you dislike about it? xdd
Avatar
Avatar
Jupstar ✪
what is something you dislike about it? xdd
nice question
Avatar
@Jupstar ✪ slow compile times is the main dislike
07:25
hmm
Avatar
Avatar
Teero
k maybe i overestimated a little bit. cmake takes 22 sec. make with 8 cores takes 3:42 sec
faster than my server which builds the official ddnet releases. It takes 7 min from scratch 😄
Avatar
whish more nightly stuff got in to stable
07:26
but also rust needs to be aware of possible feature bloat
07:26
which is c++ bane
Avatar
Avatar
Ryozuki
@Jupstar ✪ slow compile times is the main dislike
ahah if you have slow compile times with rust then i wont even be able compile in my lifetime xd
Avatar
i mean
07:26
rust is not that far off c++
07:26
but i mean on big projects
07:27
ddnet 21s compile includes rust btw
Avatar
how many of those 21 secs are there because of rust? (edited)
Avatar
Avatar
Ryozuki
whish more nightly stuff got in to stable
this is probs my thing, together with backward compability would be nice if they simply do breaking changes if it's a clear improvement over old behavior... Software simply is never perfect 😄
Avatar
im gonna continue writing my image splitter
Avatar
Avatar
Teero
how many of those 21 secs are there because of rust? (edited)
rust takes 5s
07:28
remove rust to improve compile times!
👆 1
Avatar
@deen do u use ccache?
Avatar
ryu compiling rust:
Avatar
Avatar
Ryozuki
@deen do u use ccache?
no
07:30
How do you clean the Rust part btw when building DDNet? ninja clean doesn't seem to work?
Avatar
i remove all
07:31
folder
07:31
but its true it depends if rust cached the dep download
07:31
it may change
07:31
my result is without download
07:32
aka cached deps downloads, but deps get compiled
Avatar
my ddnet rust version is pretty slow in compiling xD On a skylike i7 (4 cores) it takes around: 2 minutes lmao wasm modules are heavy, but on the other hand u can do hot reloading.. that's cool, and your wasm modules ofc don't trigger a recompile in the actual software
Avatar
The libddnet_engine_shared.a is Rust? It's blocking the build for a while actually, interesting
07:35
Other huge files: editor.cpp, graphics_threaded.cpp 😄
Avatar
vulkan should be the biggest code wise.. but i guess it never really blocks anyhting until linking ^^
Avatar
i think #7023 is nerfing editor.cpp by a lot
Avatar
Implement CEditorComponent for CEditorMap and all CLayer types. This commit is already base on #7017. Unfortunately it was not possible to keep this commit much smaller because of how these types ...
Avatar
@Ryozuki do you have stats about top10 slowest package compiling in your gentoo setup? 😄
Avatar
Where is g_pData->m_aSprites[SPRITE_EXAMPLE].m_pSet->m_Gridx defined? I tried searching m_Gridx but I didn't get any definitions.
Avatar
Avatar
Jupstar ✪
@Ryozuki do you have stats about top10 slowest package compiling in your gentoo setup? 😄
llvm 30 mins, firefox 14 mins
07:41
nodejs 11 mins
Avatar
src/game/generated/client_data.h
07:43
or you mean the python code that generates it?
07:43
@Voxel
07:43
class SpriteSet in datasrc/content.py
07:44
Just need to borrow things to make my slicer as accurate as possible
Avatar
Avatar
Ryozuki
my server is better justatest
did u install debian 12 from scratch
08:04
or upgrade
Avatar
Avatar
Ryozuki
my server is better justatest
what are you running on that server that would take up 64gbs of ram monkaStop
Avatar
upgrade
Avatar
Avatar
Teero
what are you running on that server that would take up 64gbs of ram monkaStop
ddnet servers
Avatar
Avatar
Ryozuki
my server is better justatest
when give ddnet github CI
Avatar
I would have but ci is insecure
Avatar
wild fred appears
Avatar
hi
08:11
u not at work?
Avatar
i am
Avatar
anything else wouldn't be you 😉
Avatar
justatest it's 4pm on a friday
Avatar
man, I'm too lazy to update this
Avatar
Avatar
TsFreddie
man, I'm too lazy to update this
I've seen that too. But for me it only affected old versions
09:31
Which makes the warning completely useless xd
09:32
i'm hungry
Avatar
In Germany supermarket there is asia week currently xd
Avatar
Hungy
Avatar
Avatar
Jupstar ✪
In Germany supermarket there is asia week currently xd
I tried. didn't like it
Avatar
Avatar
Teero
I tried. didn't like it
First time in my life i tried mochi. I don't really like sweets, but generally the mango creame was good xd
Avatar
does data_sizes mean sizes of compressed or decompressed data_items in .map files? thonk
Avatar
Some Teeworlds stuff in Rust.™. Contribute to heinrich5991/libtw2 development by creating an account on GitHub.
11:17
then _data_sizes are the uncompressed ones
11:17
PR welcome
Avatar
Avatar
heinrich5991
then _data_sizes are the uncompressed ones
thanks 🙂
Avatar
Avatar
Ryozuki
upgrade
Was pretty confused at 1st to not see syslog file on deb12
11:35
But they removed the package for a good reason
11:35
Just, fuck systemd
Avatar
b945815 Fix JoinVer and Join teehistorian chunks missing in some conditions - Zwelf d716421 Rename OnClientEngineJoin and OnClientEngineDrop to make the name fit its usage - Zwelf 3c2d8af Create new teehistorian event for player rejoin - Zwelf e356d12 Fix teehistorian test comment - Zwelf 1f13a69 Merge pull request #6744 from Zwelf/pr-fix-teehistorian-mapchange - heinrich5991
11:41
d2c9750 Add str_from_int function - Robyt3 b739c18 Merge pull request #7056 from Robyt3/Base-Number-Format-Optimization - heinrich5991
Avatar
Avatar
ReiTW
Just, fuck systemd
Aha, a connoisseur
😬 1
Avatar

Checklist

  • [ ] Tested the change ingame
  • [ ] Provided screenshots if it is a visual change
  • [ ] Tested in combination with possibly related configuration options
  • [x] 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-addresssan...
Avatar
b1f99fc Allow antibot to record data into teehistorian - heinrich5991
12:05
[ddnet/ddnet] New branch created: pr_ddnet_teehistorian_antibot
Avatar
Avatar
Learath2
Aha, a connoisseur
tf
12:21
?
Avatar
6ff860a Add color4_base::WithMultipliedAlpha - Robyt3 dfe9170 Improve alignment of demo icon buttons - Robyt3 ec0522d Show indicator when pausing/unpausing in demo player - Robyt3 548f2f6 Merge pull request #7058 from Robyt3/Demo-Player-Pause-Indicator - heinrich5991
Avatar
its following me (edited)
Avatar
Avatar
ӎěłŏƞ
its following me (edited)
Coz rust good gigachad
Avatar
Avatar
ӎěłŏƞ
its following me (edited)
he sounds fucking annoying to have a conversation with
Avatar
i like watching his stuff from time to time, he's a big time rust enjoyer 😄
Avatar
rust fan
14:01
vs javascript enjoyer
Avatar
rust is an awesome language i wanna get into more, so im just bingewatching random stuff while playing lol
Avatar
how is it awesome
Avatar
I like it because it allows me to write fast code without memory unsafeties
Avatar
i guess that makes sense
Avatar
Avatar
Voxel
vs javascript enjoyer
Js garbage
Avatar
Uh huh
Avatar
I wanna learn typescript one day 🙂
Avatar
U better dont 😦
Avatar
Spicy js
Avatar
Avatar
heinrich5991
I wanna learn typescript one day 🙂
justatest
Avatar
Avatar
heinrich5991
I wanna learn typescript one day 🙂
You can learn it in one day
Avatar
doubt
Avatar
There're few basic types: number, string, boolean. Use type instead of interfaces
14:27
Dats it santatrollet
Avatar
ur opinions are killing me
Avatar
Its hard to realize that js bad when ure js andy
Avatar
I think this starts to fall under the "no lazy negativity" rule, please don't do that
Avatar
I can do not lazy
Avatar
not lazy is okay
Avatar
i'd say typescript feels more like (idiomatic) rust than it feels like cpp
Avatar
But it wasn't negativity
Avatar
Js garbage js bad Its hard to realize […] when ure js andy
💀 1
Avatar
im using typescript btw
14:35
not js
Avatar
Avatar
heinrich5991
Js garbage js bad Its hard to realize […] when ure js andy
I cant say what i think about programming language?
Avatar
you can't make lazy negative statements, yes
14:36
you can make non-lazy negative statements, lazy positive statements or non-lazy positive statements
Avatar
Ok, ill make a research in this field
Avatar
the last one wasn't about a programming language btw
Avatar
javascript contains of the two worst things: java script
Avatar
why script worst
Avatar
scriptlanguages are boring
Avatar
CloudNordic said a ransomware attack destroyed customer data on its servers, including primary and secondary backups.
Avatar
Oh yeah, it's all coming together.
Avatar
guys new crash dropped
Avatar
What can I do to fix this on windows? [build] CMake Error at cmake/FindSSP.cmake:12 (message): [build] could not find ssp paths
Avatar
84948ad Allow antibot to record data into teehistorian - heinrich5991 23ed630 Merge pull request #7065 from heinrich5991/pr_ddnet_teehistorian_antibot - def-
Avatar
Avatar
marmare_314
What can I do to fix this on windows? [build] CMake Error at cmake/FindSSP.cmake:12 (message): [build] could not find ssp paths
install ssp on your mingw installation
15:34
ok doesnt exists xd
15:34
but there is a cmake flag to disable it
Avatar
ah ok that works 😄 why is the dll not in the repository like with the other dependencies?
Avatar
compiler stuff isn't usually in ddnet-libs
Avatar
It's in ddnet-libs
Avatar
maybe it even exists, but can't be found
Avatar
What is it used for btw?
Avatar
Avatar
Robyt3
It's in ddnet-libs
mhh only the dll tho
15:37
is that enough? i guess if the compiler doesnt care xd
Avatar
That's all that FindSSP.cmake is doing
15:37
I think it's only a transitive dependency from something else
15:38
It's just needed because the client wouldn't launch otherwise
Avatar
Avatar
marmare_314
What is it used for btw?
Avatar
Ah, so it became necessary after enabling the stronger stack protection again
Avatar
i guess it's also shipped with mingw?
15:39
i guess our cmake file simply assumes to find it in ddnet-libs
15:40
instead of trying global paths first
Avatar
It's not in my MSYS2
Avatar
Avatar
Jupstar ✪
i guess it's also shipped with mingw?
my mingw installation might also just be broken, there are 3 versions (one from haskell, perl and a normal one). Not sure if I ever compiled anything with them
15:42
37fc267 turkish translation - h-kaan cfcde2d small fix & edit - h-kaan 749ee6c Merge pull request #7060 from h-kaan/update-turkish - Robyt3
Avatar
I tried using the visual c++ compiler instead but now get a linkage error [build] LINK Pass 1: command "D:/Programs/Microsoft Visual Studio/2019/Community/VC/Tools/MSVC/14.26.28801/bin/Hostx86/x64/link.exe /nologo @CMakeFiles/game-client.dir/objects1.rsp /out:DDNet.exe /implib:DDNet.lib /pdb:D:/Programming/ddnet/build/DDNet.pdb /version:0.0 /machine:x64 /debug /INCREMENTAL /subsystem:windows /SAFESEH:NO /ENTRY:mainCRTStartup ../ddnet-libs/freetype/windows/lib64/freetype.lib ../ddnet-libs/png/windows/lib64/libpng16-16.lib ../ddnet-libs/sdl/windows/lib64/SDL2.lib ../ddnet-libs/ffmpeg/windows/lib64/avformat.lib ../ddnet-libs/ffmpeg/windows/lib64/avcodec.lib ..." failed (exit code 1319) with the following output: [build] ddnet_engine_shared.lib(cxx.o) : error LNK2038: mismatch detected for '_ITERATOR_DEBUG_LEVEL': value '0' doesn't match value '2' in backend_base.cpp.obj [build] ddnet_engine_shared.lib(cxx.o) : error LNK2038: mismatch detected for 'RuntimeLibrary': value 'MT_StaticRelease' doesn't match value 'MTd_StaticDebug' in backend_base.cpp.obj [build] LINK : warning LNK4098: defaultlib 'LIBCMT' conflicts with use of other libs; use /NODEFAULTLIB:library [build] DDNet.exe : fatal error LNK1319: 2 mismatches detected Maybe there is a difference between the amd64_x86 and x86_amd64 versions? I think I'm just gonna give up xd
Avatar
Avatar
marmare_314
I tried using the visual c++ compiler instead but now get a linkage error [build] LINK Pass 1: command "D:/Programs/Microsoft Visual Studio/2019/Community/VC/Tools/MSVC/14.26.28801/bin/Hostx86/x64/link.exe /nologo @CMakeFiles/game-client.dir/objects1.rsp /out:DDNet.exe /implib:DDNet.lib /pdb:D:/Programming/ddnet/build/DDNet.pdb /version:0.0 /machine:x64 /debug /INCREMENTAL /subsystem:windows /SAFESEH:NO /ENTRY:mainCRTStartup ../ddnet-libs/freetype/windows/lib64/freetype.lib ../ddnet-libs/png/windows/lib64/libpng16-16.lib ../ddnet-libs/sdl/windows/lib64/SDL2.lib ../ddnet-libs/ffmpeg/windows/lib64/avformat.lib ../ddnet-libs/ffmpeg/windows/lib64/avcodec.lib ..." failed (exit code 1319) with the following output: [build] ddnet_engine_shared.lib(cxx.o) : error LNK2038: mismatch detected for '_ITERATOR_DEBUG_LEVEL': value '0' doesn't match value '2' in backend_base.cpp.obj [build] ddnet_engine_shared.lib(cxx.o) : error LNK2038: mismatch detected for 'RuntimeLibrary': value 'MT_StaticRelease' doesn't match value 'MTd_StaticDebug' in backend_base.cpp.obj [build] LINK : warning LNK4098: defaultlib 'LIBCMT' conflicts with use of other libs; use /NODEFAULTLIB:library [build] DDNet.exe : fatal error LNK1319: 2 mismatches detected Maybe there is a difference between the amd64_x86 and x86_amd64 versions? I think I'm just gonna give up xd
Should be the same as this, although the original message was deleted: https://discord.com/channels/252358080522747904/293493549758939136/1137805843618877510
15:52
Can you try with debug/release mode instead (whatever one you are not currently using).
Avatar
Ah yeah makes sense, somehow only the release mode compilers are selectable (they are named Visual Studio Community 2019 Release - x86_amd64 etc), not sure if they can still compile in debug mode but at least selecting it in cmake doesnt work
Avatar
Use enum. Organize explanations in separate functions for DDNet, FNG and Vanilla. Cherry-picked from #7054. Add the GET parameter w=1 to the URL to view a much shorter diff.

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
  • [X] Considered possible null pointers and out of...
Avatar
Avatar
Robyt3
Can you try with debug/release mode instead (whatever one you are not currently using).
Seems to work now, but still doesnt compile [build] D:/Programming/ddnet/src/game/server/scoreworker.cpp(19): error C2280: 'CScorePlayerResult::<unnamed-type-m_Data>::<unnamed-type-m_Data>(void)': attempting to reference a deleted function [build] D:\Programming\ddnet\src\game\server\scoreworker.h(59): note: compiler has generated 'CScorePlayerResult::<unnamed-type-m_Data>::<unnamed-type-m_Data>' here [build] D:\Programming\ddnet\src\game\server\scoreworker.h(59): note: 'CScorePlayerResult::<unnamed-type-m_Data>::<unnamed-type-m_Data>(void)': function was implicitly deleted because 'CScorePlayerResult::<unnamed-type-m_Data>' has a variant data member 'CScorePlayerResult::<unnamed-type-m_Data>::m_Info' with a non-trivial default constructor [build] D:\Programming\ddnet\src\game\server\scoreworker.h(52): note: see declaration of 'CScorePlayerResult::<unnamed-type-m_Data>::m_Info' Seems not to be a problem with my setup this time though
16:06
Was easy to fix at least, I will create a PR
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
I'm almost done!
Avatar
b6f0c59 Refactor editor entities layer explanations - Robyt3 2dd7043 Merge pull request #7066 from Robyt3/Editor-Explain-Refactoring - def-
Avatar
Avatar
Voxel
I'm almost done!
I have a tiny list for how I want to do things with this:
  • Organize each run of the code into its own folder (ex. Sliced1/*.png, Sliced2/*.png)
  • Somehow manage to input specific folders to slice up (ex. Convert the folder FolderName into a sliced package of a similar name)
  • Package into a zip file somehow?
Avatar
Avatar
Ryozuki
1. bragging rights against arch users, they cant win against gentoo BASED 2. USE flags are awesome, and u can only rly do that due to compiling everything, you get to decide whats included when compiling a package, this allows fine tuning 3. u also fine tune ur own kernel, cant beat that 4. u can choose to opt out of systemd
what are USE flags
Avatar
@heinrich5991 Progress going great! Should I upload this to its own repository on Github so it can be reviewed properly? (Minus the already split images)
Avatar
looks good 🙂 yes
Avatar
Alright setting everything up right now. Currently writing a README and everything like that
Avatar
hi guys I don't understand where I went wrong, I wanted to add irc chat, and I don't understand why it doesn't work. static CListBox s_Chat; static int SelectedChat = 0; s_Chat.DoHeader(&Chat, pChan->m_Topic.c_str()[0] ? pChan->m_Topic.c_str() : "", 12.0f); s_Chat.DoStart(12.0f, pChan->m_Buffer.size(), 1, 6, SelectedChat); for(size_t i = 0; i < pChan->m_Buffer.size(); i++) { CListboxItem Item = s_Chat.DoNextItem(&pChan->m_Buffer[i], SelectedChat == i); if(Item.m_Visible) { SLabelProperties Props; Props.m_MaxWidth = 300.0f; Props.m_EnableWidthCheck = true; UI()->DoLabelScaled(&Item.m_Rect, pChan->m_Buffer[i].c_str(), 50.0f, TEXTALIGN_LEFT, Props); TextRender()->TextColor(1, 1, 1, 1, 1); } } SelectedChat = s_Chat.DoEnd(); Where did I do wrong, why when you shift a message to a new line in IRC chat, and you write a new message, it appears where it was shifted and not after the shift.
Avatar
Avatar
Noob
hi guys I don't understand where I went wrong, I wanted to add irc chat, and I don't understand why it doesn't work. static CListBox s_Chat; static int SelectedChat = 0; s_Chat.DoHeader(&Chat, pChan->m_Topic.c_str()[0] ? pChan->m_Topic.c_str() : "", 12.0f); s_Chat.DoStart(12.0f, pChan->m_Buffer.size(), 1, 6, SelectedChat); for(size_t i = 0; i < pChan->m_Buffer.size(); i++) { CListboxItem Item = s_Chat.DoNextItem(&pChan->m_Buffer[i], SelectedChat == i); if(Item.m_Visible) { SLabelProperties Props; Props.m_MaxWidth = 300.0f; Props.m_EnableWidthCheck = true; UI()->DoLabelScaled(&Item.m_Rect, pChan->m_Buffer[i].c_str(), 50.0f, TEXTALIGN_LEFT, Props); TextRender()->TextColor(1, 1, 1, 1, 1); } } SelectedChat = s_Chat.DoEnd(); Where did I do wrong, why when you shift a message to a new line in IRC chat, and you write a new message, it appears where it was shifted and not after the shift.
You are using font size 50.0f for the messages, which is way to large
17:51
The row height of the listbox is set to 12.0f so you can use at most font size 12.0f as well
17:52
This also doesn't look like current DDNet code. We don't have DoLabelScaled anymore
Avatar
what does irc mean?
Avatar
And we also don't have any TextColor(1, 1, 1, 1, 1) function
Avatar
Avatar
kaan
what does irc mean?
Internet Relay Chat (IRC) is a text-based chat system for instant messaging. IRC is designed for group communication in discussion forums, called channels, but also allows one-on-one communication via private messages as well as chat and data transfer, including file sharing.Internet Relay Chat is implemented as an application layer protocol to ...
Avatar
Avatar
Robyt3
And we also don't have any TextColor(1, 1, 1, 1, 1) function
v 16.9 dunno
17:53
xd
Avatar
Well, first upgrade to 17.2, various UI bugs have been fixed in those versions
Avatar
Oz vs O3 makes 4.3MByte improvement in rust (11MB vs 15.3MB) that's quite remarkable.. power of static linking xd
18:14
(note i don't really care. just wanted to know bcs we lately talked about it xd)
18:17
panic = "abort" another 0.8MB
Avatar
Avatar
heinrich5991
looks good 🙂 yes
https://github.com/VoxelDoesCode/ddnet-image-slicer again this is very beta and is lacking a lot of the QoL features but it works!
A tool to slice and package DDNet's assets. Contribute to VoxelDoesCode/ddnet-image-slicer development by creating an account on GitHub.
18:19
i miiiight have used the ddnet code for how the images are handled because i wanted this to be as accurate as possible to the game
Avatar
Avatar
Voxel
i miiiight have used the ddnet code for how the images are handled because i wanted this to be as accurate as possible to the game
justatest
Avatar
@Ryozuki i dont even have to ask: did you know https://github.com/RazrFalcon/cargo-bloat
Find out what takes most of the space in your executable. - GitHub - RazrFalcon/cargo-bloat: Find out what takes most of the space in your executable.
18:21
xd
Avatar
Avatar
Headshot
justatest
i gave credit!
18:21
Teeworlds Copyright (C) 2007-2014 Magnus Auvinen DDRace Copyright (C) 2010-2011 Shereef Marzouk DDNet Copyright (C) 2013-2022 Dennis Felsing
18:22
sorry this is like my first time ever managing something like this-
Avatar
my nds client retains the copyrights on the cpp files too i think
Avatar
Copyright cammostripes
Avatar
justatest half of this shit isnt even my code
Avatar
stackoverflow
Avatar
i literally stole content.py and datatypes.py from the game
18:23
borrowed*
Avatar
@Robyt3 do you like void CMapView::OffsetEditor(vec2 Offset) and vec2 CMapView::GetEditorOffset() const or vec2 &CMapView::EditorOffset() and const vec2 &CMapView::EditorOffset() const better? In the second one it seems a bit redundant to have getters/setters but the first on might lead to slightly less readable code (really not a lot though)
Avatar
Avatar
marmare_314
@Robyt3 do you like void CMapView::OffsetEditor(vec2 Offset) and vec2 CMapView::GetEditorOffset() const or vec2 &CMapView::EditorOffset() and const vec2 &CMapView::EditorOffset() const better? In the second one it seems a bit redundant to have getters/setters but the first on might lead to slightly less readable code (really not a lot though)
I prefer the first style. I don't think we use the second style anywhere, if I understand this correctly you would use EditorOffset() = vec2(1, 2) to set the variable, which looks weird to me
👍 1
Avatar
btw @Robyt3 I think getters/setters should be avoided and rather variables exposed directly
18:29
because they don't seem to add value if there's a getter and setter anyway
Avatar
vec2 fn() const isn’t same as const vec2 fn()
18:30
o I misread
Avatar
Avatar
Jupstar ✪
@Ryozuki i dont even have to ask: did you know https://github.com/RazrFalcon/cargo-bloat
File .text Size Crate 8.4% 16.8% 1.8MiB std 7.6% 15.2% 1.6MiB cranelift_codegen 2.0% 4.1% 454.9KiB wast 1.7% 3.4% 376.8KiB ddnet_playground 1.7% 3.3% 369.0KiB regalloc2 1.6% 3.2% 355.5KiB tokio 1.5% 3.1% 344.8KiB hashbrown 1.5% 3.0% 332.2KiB wayland_client 1.4% 2.7% 302.9KiB winit 1.3% 2.6% 286.9KiB wasmparser 1.2% 2.4% 270.4KiB graphics 1.1% 2.3% 253.1KiB rustls 1.1% 2.2% 247.4KiB quinn_proto 1.0% 2.0% 217.2KiB egui 1.0% 1.9% 213.8KiB network 0.9% 1.9% 209.4KiB rayon_core 0.8% 1.5% 169.9KiB ring 0.7% 1.5% 166.2KiB tiny_skia 0.6% 1.3% 143.6KiB wasmer_types 0.6% 1.2% 131.1KiB base_fs wasm so big the compiler, the parser & regalloc2 alone top 5 xd
18:31
5815f8c fix CScorePlayerResult for visual c++ compiler - Marmare314 5ba1834 Merge pull request #7067 from Marmare314/vscpp-issue - def-
Avatar
Avatar
heinrich5991
because they don't seem to add value if there's a getter and setter anyway
I noticed that we have Getters for some private and some public member variables in different classes. And in the same classes we use the direct access to these variables as well as the getter acce...
18:32
It's easier to change the implementation later if you already have a getter/setter
18:32
For example, adding validation, adding listeners etc.
18:33
At least for the editor I consider it worth it
Avatar
Avatar
heinrich5991
because they don't seem to add value if there's a getter and setter anyway
They do loke nicer because of the naming convetions
Avatar
I would add then when we add validation
18:33
because otherwise they're just dead code, essentially
18:34
the downside of setters/getters is that the code flow is obfuscated
18:34
you don't know if more stuff happens
Avatar
and it's annoying to implement them xD
Avatar
@heinrich5991 What do you think about the proposed changes in #7008? I would handle errors the same as empty strings, so it doesn't make the usage inconvenient
Avatar
generally, I think one should write less code if possible
Avatar
See commit messages. 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 (esp...
Avatar
generally I don't like hiding errors
18:37
haven't reviewed
18:37
sorry, just a knee-jerk reaction
Avatar
We still check for errors/empty strings when calling GetDataString when it's useful, e.g. when loading an image the filename cannot be empty. It's just that there doesn't seem to be a use case for storing empty strings.
18:40
For example, if loading the map author string fails it can just stay empty, the map shouldn't become unreadable because of this
Avatar
Avatar
Robyt3
For example, if loading the map author string fails it can just stay empty, the map shouldn't become unreadable because of this
map can just become unreadable. we set the standards, maps will adhere to them
Avatar
Avatar
cyberFighter
crashed by saving replay demo while ingame
anyone knows btw? (edited)
19:45
i dont think its steam vulkan this time
Avatar
Version 17.2.1 64 bit Steam, reported by cyberFighter on Discord. ``` 0x00000001401ce8ef: CSnapshotItem::Key() const at src/engine/shared/snapshot.h:23 (inlined by) GenerateHash at src/engine/shared/snapshot.cpp:178 0x00000001401cf136: CSnapshot::NumItems() const at src/engine/shared/snapshot.h:54 (inlined by) CSnapshotDelta::CreateDelta(CSnapshot, CSnapshot, void) at src/engine/shared/snapshot.cpp:283 0x00000001401be13b: CDemoRecorder::RecordSnapshot(int, void const, int) at sr...
Avatar
cannot find debug/libddnet_engine_shared.a
21:06
what's up with this again
21:06
rust something
Avatar
Avatar
Ewan
cannot find debug/libddnet_engine_shared.a
have you selected the correct rust toolchain
21:12
i just installed thru msys pacman
Avatar
rustup show pls (edited)
Avatar
don't have rustup p sure
21:13
rustup is bad for toolchains on windows when using msys
21:13
different abi
Avatar
are you compiling with msvc?
21:13
mingw
Avatar
rustup can select gnu toolchain btw
Avatar
idk how to make it do that
21:13
and it usually works when i get it thru msys
21:13
so i don't bother
Avatar
can you check what you have in build/debug?
21:14
lol wait why is it a .lib
21:14
tomfoolery
Avatar
sounds like you have the wrong toolchain selected? not sure
Avatar
Avatar
Ewan
cannot find debug/libddnet_engine_shared.a
had the same issue with mingw, but with visual c++ it worked
Avatar
unfortunately im doing this on boonies internet so it'll be a second before i can check
Avatar
Avatar
marmare_314
had the same issue with mingw, but with visual c++ it worked
im not switching compilers for one silly thing like this
21:16
they both work for me usually
21:16
i just havent used this laptop to compile ddnet in a while
Avatar
Avatar
Ewan
im not switching compilers for one silly thing like this
not what i was suggesting, but I thought it might help figure out the cause
21:17
if i had rustup (edited)
21:17
but i only have rust thru msys
Avatar
tommorow im going to try and package the split images into zip files
21:18
have u decided on a file hierarchy
21:18
how that'd work
Avatar
yeah kinda
Avatar
well i don't think u can have it loose like kinda makes me think
21:19
the tool and the client both need to be on the same page
Avatar
A tool to slice and package DDNet's assets. Contribute to VoxelDoesCode/ddnet-image-slicer development by creating an account on GitHub.
Avatar
i saw the repo
21:19
i think i skimmed the readme
Avatar
i despise this step
21:22
takes forever on msys for some reason
21:22
why can't you just take that total estimated size measurement and subtract it from the available space on the logical volume the msys folder's on
21:22
shouldn't take that long
Avatar
that's probably what it does?
Avatar
well i've been here for 5 minute
21:23
s
21:23
and a probe like that should take no time at all
Avatar
needs to decompress all the archives for that
Avatar
is that what it does in this step
21:23
i feel like it does that per-package
21:25
i also don't remember this step taking that long on arch. they may have to do something fundamentally different cuz of api/fs differences
21:25
but i can't think of what
Avatar
unrelated, this string kerfuffle has me wondering if maybe ddnet should just make its own string type
21:39
simple c string wrapper using str_* under the hood but with converters to/from c strings and std strings and whatnot
21:40
none of the drawbacks presented with std string but also makes it mostly as easy to use
21:41
sorta like how there's that RAII-type lock guard thing alongside the non-obj oriented lock stuff. just provide a more cpp friendly way to do it
Avatar
That's just std::string with extra steps
Avatar
i suppose
21:41
then why don't you want me using std string
Avatar
In the case were I commented it didn't make sense
21:42
You just pass an extension and store it. To pass it you use a const char *, to store it you use a char array.
21:43
For std::set<std::string> it makes sense because you otherwise need to do the char allocation manually
Avatar
sure it did, it made it way easier to write. just cuz it has builtin sort fns for std::set doesn't mean that's the only reason to use it
21:44
why is the raii lock provided if it's just std::lock_guard with extra steps? how is it different
Avatar
The point is that we want to avoid heap allocations from either std::string or using malloc(DynamicStringLength + 1)
21:45
In cases where performance is relevant
21:46
And the file callback is going to be called very often
Avatar
we should make a smallstring
21:46
a container that when string is <256 lives on stack
21:46
otherwise moves to heap
21:46
llvm does this
Avatar
Avatar
Robyt3
And the file callback is going to be called very often
fair enough
Avatar
Avatar
Ryozuki
llvm does this
that's dope
Avatar
There are reasons to have a string of dynamic length and in that case std::string is superior because it's a RAII wrapper (edited)
Avatar
Avatar
Ewan
that's dope
rust has this too btw
21:47
as a crate
Avatar
For filenames you don't really need a std::string, because they can all be at most IO_MAX_PATH_LENGTH long (in our system)
Avatar
i remembered that i check file size so that i can differentiate empty files from those which are too big to load, i think.
Avatar
@Learath2 @heinrich5991 idk if u have seen but its big
21:56
Hello, long time no see! Today we are going to talk about the expansion which is called Factorio: Space Age. Mp4 playback not supported on your device. (Click here for static image version) What is Factorio: Space Age?kovarex Factorio: Space Age continues the player's journey after launching rockets into space. Discover new w...
Avatar
and there's no way to do that if i remove the initial check @Robyt3
21:56
damn your large embed
Avatar
its ok its factorio
21:56
new expansion
21:56
unprecedented
Avatar
factorio is a perfected game
Avatar
how dare you interrupt my stream of consciousness
Avatar
u know its good when the biggest modder of factorio joined the team
21:59
and made this
Avatar
curious, can a repo manager make it so draft PRs either don't trigger CI runs, or if they do they must be trigggered manually by the pr author? (edited)
21:59
seems pointless
22:00
waste of compute hours
22:00
waste of emails
22:00
waste of greenhouse gas emissions
22:01
OMG, it seems the whole time i didn't even have rust installed to begin with. how did cmake generation succeed?
22:01
does the cmake not check for rust?
Avatar
im 99.8% sure it does lol
Avatar
does that count as "check for"?
Avatar
error: linker C:\msys2\mingw64\bin\mold.exe not found
22:17
ewan@ewanl ~/.c/fish> /c/msys64/mingw64/bin/mold.exe -v mold 2.1.0 (compatible with GNU ld) (edited)
22:17
lol
22:17
ffs
Avatar
try manually adding it to PATH if not done already.. maybe? idk.. weird
Avatar
what's that got to do with the path
Avatar
sometimes stuff is weird
Avatar
using const char* in all of these containers is going to be an incredible pain in the ass
23:15
you really think i shouldn't use std string?
Avatar
Avatar
Robyt3
For std::set<std::string> it makes sense because you otherwise need to do the char allocation manually
do you mean this for use in other containers as well
23:31
i'm happy to replace freestanding std strings with char ptrs
23:59
Is there anyone who can help me?
Exported 448 message(s)