0da30b7
Remove obsolete autogen.sh
usage for OpenSSL build - Robyt3
2844ad7
Remove redundant OS_NAME_PATH
variable - Robyt3
e9581b8
Ensure specified target system for buiding libraries is valid - Robyt3
60733bc
Remove redundant check for existing directory with mkdir -p
- Robyt3
45f6197
Avoid duplicate creation of ddnet-libs
directory - Robyt3
930836f
Split compile_source
function for readability - Robyt3
6910288
Remove unused GE_NO_APK_BUILD
variable - Robyt3
6a453d1
Remove unused _RELEASE_TYPE_APK_NAME
variable - Robyt3
e981d48
Extract build_gradle
function, fix Gradle use without arguments - Robyt3
d968659
Ensure APK build type parameter is valid - Robyt3
41738f1
Ensure libary is copied successfully, remove unnecessary copies - Robyt3
d9f8106
Remove duplicate dynamic loading of game library - Robyt3
c8f0391
Remove unnecessary copy_dummy_files_rec
function - Robyt3
1a3b2ea
Abort build script if CMake build failed for any architecture - Robyt3
7de52fd
Improve Android build script output, improve colors - Robyt3
63710a1
Preserve filenames and line numbers in ProGuard for debugging - Robyt3
1dfed54
Lower minimum SDK to 19, remove unnecessary Gradle dependencies - Robyt3
dd85209
Merge pull request #8394 from Robyt3/Android-Building-Cleanup - def--rdynamic
in both cases?file
command says "not stripped" so i am sure its appliedteeworlds_srv: ELF 64-bit LSB pie executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=0da68a5bc1557e6a4f79b811ca012eb174855643, for GNU/Linux 3.2.0, with debug_info, not stripped
teeworlds_srv: ELF 64-bit LSB pie executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=6f05358423394232a821f8a952215a0f5f377bbe, for GNU/Linux 3.2.0, not stripped
-rdynamic
-rdynamic
is about exposing the symbols of the executable to shared libraries-rdynamic
is only about dynamic symbols// TODO: make this smarter.. binary search
MACRO_CONFIG_*
macros specifically declare config variables, they can only have one value/parameter. See for example the CServer::RegisterCommands
function in server.cpp
where commands like kick
are registered that can have multiple parameters.MACRO_CONFIG_*
macros specifically declare config variables, they can only have one value/parameter. See for example the CServer::RegisterCommands
function in server.cpp
where commands like kick
are registered that can have multiple parameters. // TODO: make this smarter.. binary search
Vec
, short for ‘vector’.// This control flow produces conditional moves, which results in
// fewer branches and instructions than if/else or matching on
// cmp::Ordering.
// This is x86 asm for u8: https://rust.godbolt.org/z/698eYffTx.
left = if cmp == Less { mid + 1 } else { left };
right = if cmp == Greater { mid } else { right };
if cmp == Equal {
// SAFETY: same as the `get_unchecked` above
unsafe { hint::assert_unchecked(mid < self.len()) };
return Ok(mid);
}
ah alrightIInput::ConsumeEvents
function accepting a consumer std::function
to replace the duplicate usage of the IInput::NumEvents
, IInput::GetEvent
and IInput::IsEventValid
functions.
Use an std::vector
to store the current input events to support any number of input events per client update instead of at most 32.
Use full uint32_t
range for input counter instead of only using the range 0..0xFFFF. If the range is artificially reduced, then this can result in inputs being handl...