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.[*] 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!()
directlycl_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 Vsynccoredumpctl
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...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 stringx86_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
maybesrc/base
for examplesrc/base
is maintainable enough to not be RIIRx86_64
build, with the x86
build I get the ... is incompatible with elf_i386
errors instead, with arm/arm64 builds I also get other errorsld.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 buildsld.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
β¦