










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
















1

























































ninja clean doesn't seem to work?







g_pData->m_aSprites[SPRITE_EXAMPLE].m_pSet->m_Gridx defined? I tried searching m_Gridx but I didn't get any definitions.

















it's 4pm on a friday













_data_sizes are the uncompressed ones



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


b1f99fc Allow antibot to record data into teehistorian - heinrich5991














































[build] CMake Error at cmake/FindSSP.cmake:12 (message):
[build] could not find ssp paths


[build] CMake Error at cmake/FindSSP.cmake:12 (message):
[build] could not find ssp paths 


ddnet-libs



FindSSP.cmake is doing







[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

[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 
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
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.


[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




Sliced1/*.png, Sliced2/*.png)FolderName into a sliced package of a similar name)

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 




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.

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. 50.0f for the messages, which is way to large12.0f so you can use at most font size 12.0f as wellDoLabelScaled anymore

TextColor(1, 1, 1, 1, 1) function



TextColor(1, 1, 1, 1, 1) function 

panic = "abort" another 0.8MB








Teeworlds Copyright (C) 2007-2014 Magnus Auvinen
DDRace Copyright (C) 2010-2011 Shereef Marzouk
DDNet Copyright (C) 2013-2022 Dennis Felsing



half of this shit isnt even my code





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)

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) EditorOffset() = vec2(1, 2) to set the variable, which looks weird to me


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










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.









rustup show pls (edited)



























std::string with extra steps

const char *, to store it you use a char array.std::set<std::string> it makes sense because you otherwise need to do the char allocation manually

std::string or using malloc(DynamicStringLength + 1)



std::string is superior because it's a RAII wrapper (edited)

std::string, because they can all be at most IO_MAX_PATH_LENGTH long (in our system)











C:\msys2\mingw64\bin\mold.exe not foundewan@ewanl ~/.c/fish> /c/msys64/mingw64/bin/mold.exe -v
mold 2.1.0 (compatible with GNU ld) (edited)





std::set<std::string> it makes sense because you otherwise need to do the char allocation manually 