





dbg_assert does not have vargs for the string parameter? I want to print values in the assert to see what went wrong. But I do not want to call str_format every time.



































I think anything related to trades, even if it is only digital goods are not really blocked

well like international trades, not like skin trading but sure.







[*] Shutting down client1
[*] Shutting down client2
Error: near line 1: in prepare, database is locked (5)
[-] Error: no ranks found in database
[!] Warning: ./stderr_client1.txt











if Some(true).is_some() {
min_binding_size: Some(NonZeroU64::new(0).unwrap()),

min_binding_size: Some(NonZeroU64::new(0).unwrap()), 

min_binding_size: Some(NonZeroU64::new(0).unwrap()), 

min_binding_size: Some(NonZeroU64::new(0).unwrap()), 
panic!() directly

cl_refresh_rate and gfx_refresh_rate to 240 aswell as turning Vsync on
and then turning cl_refresh_rate and gfx_refresh_rate to 1000 and turning Vsync off
i dont get a crashdump, and i cant even debug it for some reason, can you see if you can reproduce it somehow? - really weird.
2024-05-07 12:58:03 I client: got pong from current server, latency=20ms
12:58:16: /home/melonarch/Projects/ddnet/build/Desktop-Debug/DDNet ist abgestürzt.
literally the only output i get lmao (edited)

cl_refresh_rate and gfx_refresh_rate to 240 aswell as turning Vsync on
and then turning cl_refresh_rate and gfx_refresh_rate to 1000 and turning Vsync off
i dont get a crashdump, and i cant even debug it for some reason, can you see if you can reproduce it somehow? - really weird.
2024-05-07 12:58:03 I client: got pong from current server, latency=20ms
12:58:16: /home/melonarch/Projects/ddnet/build/Desktop-Debug/DDNet ist abgestürzt.
literally the only output i get lmao (edited)
cl_showfps to 1, you can see it jump between 240-1000 repeatedly when setting the refresh rate on both cl and gfx
and it crashes as soon as you turn off Vsync





coredumpctl


0x00005555556a04c0 in CCommandProcessorFragment_Vulkan::ClearFrameData (this=0x555555fb6660, FrameImageIndex=4) at /home/melonarch/Projects/ddnet/src/engine/client/backend/vulkan/backend_vulkan.cpp:2048
2048 if(BufferPair.m_pMappedData != nullptr)
dis what i got (edited)
x86_64)
ld.lld: error: undefined symbol: std::allocator<char>::allocator()
>>> referenced by cxx.cc:9 (src/cxx.cc:9)
>>> cxx.o:(cxxbridge1$cxx_string$init) in archive debug/libddnet_engine_shared.a
>>> referenced by cxx.cc:204 (src/cxx.cc:204)
>>> cxx.o:(_ZNK4rust10cxxbridge16StringcvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEv) in archive debug/libddnet_engine_shared.a
>>> referenced by cxx.cc:317 (src/cxx.cc:317)
>>> cxx.o:(_ZNK4rust10cxxbridge13StrcvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEv) in archive debug/libddnet_engine_shared.a
See full log attached. Error messages when compiling for x86: ld.lld: error: debug/libddnet_engine_shared.a(ddnet_engine_shared-fa6cb16cd6c82918.3zc566cpdlohmk2v.rcgu.o) is incompatible with elf_i386

0x00005555556a04c0 in CCommandProcessorFragment_Vulkan::ClearFrameData (this=0x555555fb6660, FrameImageIndex=4) at /home/melonarch/Projects/ddnet/src/engine/client/backend/vulkan/backend_vulkan.cpp:2048
2048 if(BufferPair.m_pMappedData != nullptr)
dis what i got (edited)


cl_refresh_rate and gfx_refresh_rate to 240 aswell as turning Vsync on
and then turning cl_refresh_rate and gfx_refresh_rate to 1000 and turning Vsync off
12:58:16: /home/melonarch/Projects/ddnet/build/Desktop-Debug/DDNet ist abgestürzt.
gdb outputted the following:
```
0x00005555556a04c0 in CCommandProcessorFragment_Vulkan::ClearFrameData (this=0x555555fb6660, FrameImageIndex=4) at /home/melonarch/Projects/ddnet...














































































































1





















































1





































src/game/client/*/skin.* i think (edited)












#include <ft2build.h>
#include FT_FREETYPE_H
int main() {
FT_Library library;
FT_Error error;
// Initialize FreeType library
error = FT_Init_FreeType(&library);
if (error) {
// Handle error
return 1;
}
// Load the font file
FT_Face face;
error = FT_New_Face(library, "path_to_your_font.ttf", 0, &face);
if (error == FT_Err_Unknown_File_Format) {
// Handle unsupported file format
return 1;
} else if (error) {
// Handle other errors
return 1;
}
// Set character size
error = FT_Set_Pixel_Sizes(face, 0, 24);
if (error) {
// Handle error
return 1;
}
// Load character bitmap for a specific character
error = FT_Load_Char(face, 'A', FT_LOAD_RENDER);
if (error) {
// Handle error
return 1;
}
// Access the character bitmap
FT_Bitmap bitmap = face->glyph->bitmap;
// Now you can use the bitmap data as needed
// Clean up
FT_Done_Face(face);
FT_Done_FreeType(library);
return 0;
}






















































float ScreenX0, ScreenY0, ScreenX1, ScreenY1;
m_pClient->Graphics()->GetScreen(&ScreenX0, &ScreenY0, &ScreenX1, &ScreenY1);
float BorderBuffer = 100;
ScreenX0 -= BorderBuffer;
ScreenX1 += BorderBuffer;
ScreenY0 -= BorderBuffer;
ScreenY1 += BorderBuffer;
const int Width = m_pClient->Collision()->GetWidth();
const int Height = m_pClient->Collision()->GetHeight();
for(int x = 0; x < Width; ++x)
{
for(int y = 0; y < Height; ++y)
{
if(x * 32 > ScreenX1 || x * 32 < ScreenX0 || y * 32 > ScreenY1 || y * 32 < ScreenY0)
continue;
char aBuf[8];
int Index = y * Width + x;
CUIRect Rect = {(float)x * 32, (float)y * 32, 32, 32};
// evil top left
str_format(aBuf, 8, "%d", m_pClient->Collision()->IsEvilTeleport(Index));
m_pClient->Ui()->DoLabel(&Rect, aBuf, 15.f, TEXTALIGN_TL);
// normal top Right
str_format(aBuf, 8, "%d", m_pClient->Collision()->IsTeleport(Index));
m_pClient->Ui()->DoLabel(&Rect, aBuf, 15.f, TEXTALIGN_TR);
// check evil bottom left
str_format(aBuf, 8, "%d", m_pClient->Collision()->IsCheckEvilTeleport(Index));
m_pClient->Ui()->DoLabel(&Rect, aBuf, 15.f, TEXTALIGN_BL);
// check normal bottom Right
str_format(aBuf, 8, "%d", m_pClient->Collision()->IsCheckTeleport(Index));
m_pClient->Ui()->DoLabel(&Rect, aBuf, 15.f, TEXTALIGN_BR);
}
}
ah i was testing tps since smh they didn't work correctly and i had broke smth (edited)

str_format is also very slow, str_from_int is much faster if you just need to convert an integer to a string
1


x86_64)
ld.lld: error: undefined symbol: std::allocator<char>::allocator()
>>> referenced by cxx.cc:9 (src/cxx.cc:9)
>>> cxx.o:(cxxbridge1$cxx_string$init) in archive debug/libddnet_engine_shared.a
>>> referenced by cxx.cc:204 (src/cxx.cc:204)
>>> cxx.o:(_ZNK4rust10cxxbridge16StringcvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEv) in archive debug/libddnet_engine_shared.a
>>> referenced by cxx.cc:317 (src/cxx.cc:317)
>>> cxx.o:(_ZNK4rust10cxxbridge13StrcvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEv) in archive debug/libddnet_engine_shared.a
See full log attached. Error messages when compiling for x86: ld.lld: error: debug/libddnet_engine_shared.a(ddnet_engine_shared-fa6cb16cd6c82918.3zc566cpdlohmk2v.rcgu.o) is incompatible with elf_i386 







































x86_64)
ld.lld: error: undefined symbol: std::allocator<char>::allocator()
>>> referenced by cxx.cc:9 (src/cxx.cc:9)
>>> cxx.o:(cxxbridge1$cxx_string$init) in archive debug/libddnet_engine_shared.a
>>> referenced by cxx.cc:204 (src/cxx.cc:204)
>>> cxx.o:(_ZNK4rust10cxxbridge16StringcvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEv) in archive debug/libddnet_engine_shared.a
>>> referenced by cxx.cc:317 (src/cxx.cc:317)
>>> cxx.o:(_ZNK4rust10cxxbridge13StrcvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEv) in archive debug/libddnet_engine_shared.a
See full log attached. Error messages when compiling for x86: ld.lld: error: debug/libddnet_engine_shared.a(ddnet_engine_shared-fa6cb16cd6c82918.3zc566cpdlohmk2v.rcgu.o) is incompatible with elf_i386 



ld.lld: error: debug/libddnet_engine_shared.a(ddnet_engine_shared-fa6cb16cd6c82918.3zc566cpdlohmk2v.rcgu.o) is incompatible with elf_i386 sounds like you're compiling the rust code for the wrong architecture. check its architecture with file maybe
src/base for example


src/base is maintainable enough to not be RIIR

x86_64 build, with the x86 build I get the ... is incompatible with elf_i386 errors instead, with arm/arm64 builds I also get other errors

ld.lld: error: debug/libddnet_engine_shared.a(ddnet_engine_shared-fa6cb16cd6c82918.3zc566cpdlohmk2v.rcgu.o) is incompatible with elf_i386 sounds like you're compiling the rust code for the wrong architecture. check its architecture with file maybe libddnet_engine_shared.a: current ar archive for the files from both the x86 and x86_64 builds

ld.lld: error: debug/libddnet_engine_shared.a(ddnet_engine-97b91143faa7528b.zhg56s06o907mid.rcgu.o) is incompatible with armelf_linux_eabi
ld.lld: error: debug/libddnet_engine_shared.a(ddnet_base-98591c5ad164f713.1wywbl7wtpc263ng.rcgu.o) is incompatible with armelf_linux_eabi
readelf -h <archive>.a | grep 'Class\|File\|Machine'
File: libddnet_engine_shared.a(ddnet_engine_shared-fa6cb16cd6c82918.10dggtc7pn3aflxu.rcgu.o)
Class: ELF64
Machine: Advanced Micro Devices X86-64
...

cargo would need to be replaced with cargo ndk -t aarch64-linux-android (with the respective arch) (edited)

str_formatβ¦