
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 strippedteeworlds_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




























1
1
1























































// TODO: make this smarter.. binary search























2



















































1



3







































1



















1





















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

1

// 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 alright
IInput::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...









































(edited)

(edited)


(edited)

























