summaryrefslogtreecommitdiff
path: root/src/util
Commit message (Collapse)AuthorAge
* Clean up threadingShadowNinja2015-08-23
| | | | | | | | | | | | | | | | | | | | * Rename everything. * Strip J prefix. * Change UpperCamelCase functions to lowerCamelCase. * Remove global (!) semaphore count mutex on OSX. * Remove semaphore count getter (unused, unsafe, depended on internal API functions on Windows, and used a hack on OSX). * Add `Atomic<type>`. * Make `Thread` handle thread names. * Add support for C++11 multi-threading. * Combine pthread and win32 sources. * Remove `ThreadStarted` (unused, unneeded). * Move some includes from the headers to the sources. * Move all of `Event` into its header (allows inlining with no new includes). * Make `Event` use `Semaphore` (except on Windows). * Move some porting functions into `Thread`. * Integrate logging with `Thread`. * Add threading test.
* Fix indianred and indigo of color-stringRui2015-08-19
|
* Android: bypass broken wide_to_utf8 with wide_to_narrow (again)est312015-08-19
| | | | | | | | | This bypass had to be re-enabled as some users reported issues, even after the iconv build fix. While utf8_to_wide works well, wide_to_utf8 is quite broken on android, for some reason, and some devices (unrelated from build configuration).
* Fix BufferedPacket race condition (fixes #2983)kwolekr2015-08-06
| | | | | This was caused by the use the non-threadsafe SharedBuffer in a threaded context.
* Initialize random for verification key generation tooest312015-08-06
|
* src/util/numeric.{cpp,h}: Fix FacePositionCache data raceBřetislav Štec2015-08-02
|
* Improve accuracy and safety of float serializationkwolekr2015-08-01
| | | | | | | | | Multiplying by a factor of 1/1000.f (rather than dividing by 1000.f) directly introduces an error of 1 ULP. With this patch, an exact comparison of a floating point literal with the deserialized F1000 form representing it is now guaranteed to be successful. In addition, the maxmium and minimum safely representible floating point numbers are now well-defined as constants.
* Clean up util/serialization.{cpp,h} and add unit testskwolekr2015-08-01
|
* Android: fix horrible libiconv buildest312015-07-29
| | | | | | | | | | | | | | | | | | | Before, our libiconv build was a joke. We first called configure for our own build host system, then called make, before we executed a Android.mk script we provided as patch. The first "native make" always failed, and the LIBICONV_LIB file setting in our Makefile didn't match the built one, resulting in an always-rebuild of iconv. This commit cleans up this total mess, removes the double-build, and the Android.mk, and properly calls ./configure with the according target platform, and uses a built toolchain. As we have to deal with the android bug "NDK: Support for prebuild libs with full sonames" https://code.google.com/p/android/issues/detail?id=55868 as the 2013 patch https://lists.gnu.org/archive/html/libtool-patches/2013-06/msg00002.html by Google's David Turner wasn't inside the 2011 libtool, we pass -avoid-version to libtool. Thanks to the proper build, wide_to_utf8 works for android now, removing us of the need to disable it.
* Add AreaStore data structureest312015-07-27
|
* Check output of mpz_set_str and fix leak on error conditionest312015-07-24
| | | | Also add static identifier as upstream did
* Remove some old dead code. Fix some Clang warnings in SRP (ng->N... willLoic Blot2015-07-24
| | | | always evaluate to true.
* Clarify docs for auth.cpp methodest312015-07-21
|
* Increase limit of serialized long stringskwolekr2015-07-14
|
* Add more robust error checking to deSerialize*String routineskwolekr2015-07-13
| | | | | Add serializeHexString() Clean up util/serialize.cpp
* Misc. minor fixeskwolekr2015-07-10
|
* Use UTF-8 instead of narrowest312015-07-08
| | | | | Use wide_to_utf8 and utf8_to_wide instead of wide_to_narrow and narrow_to_wide at almost all places. Only exceptions: test functions for narrow conversion, and chat, which is done in a separate commit.
* Add UpdateThread and use it for minimap and mesh threadsest312015-06-29
|
* Fix *BSD build with GNU iconvkwolekr2015-06-29
|
* Fix string conversion error messageest312015-06-23
|
* More correct wrap_rows implementationfigec2015-06-20
|
* Fix wrap_rows at inner byte of multibyte sequencefigec2015-06-18
| | | | Also fix UTF-8 inner byte bounds and make unittest for case this fixes.
* Make wrap_rows not wrap inside utf-8 multibyte sequencesest312015-06-17
| | | | | | Also count multibyte sequences as "one" character. Adds unittest for the bug reporter's case. Fixes #2796.
* Fail iconv call gracefullyest312015-06-17
| | | | No freezing when inbuf_size doesn't decrease over time.
* Android: bypass broken wide_to_utf8 with wide_to_narrowest312015-06-14
| | | | | While utf8_to_wide works well, wide_to_utf8 is quite broken on android, for some reason.
* Add utf-8 conversion utilities and re-add intlGUIEditBoxest312015-06-13
|
* Split ObjDef/ObjDefManager out to objdef.cppkwolekr2015-05-18
|
* Make early protocol auth mechanism generic, and add SRPest312015-05-11
| | | | | | | Adds everything needed for SRP (and everything works too), but still deactivated, as protocol v25 init packets aren't final yet. Can be activated by changing the LATEST_PROTOCOL_VERSION header to 25 inside networkprotocol.h.
* Fix several MSVC issues numeric.hSmallJoker2015-05-01
| | | | | -> Round negative numbers correctly CMakeLists.txt -> Link Json with the static run-time library
* Fix fast leaves with texture_clean_transparent enabled.Aaron Suen2015-04-26
|
* Refactor around translatePasswordest312015-04-17
| | | | | | | Change types for passed password from wstring to string, which removes converting back and forth in most cases. Move the narrow_to_wide conversion, where its neccessary, closer to irrlicht. Remove trailing spaces in guiPasswordChange.cpp. Make parameters for translatePassword passed as const reference.
* Clean scaling pre-filter for formspec/HUD.Aaron Suen2015-04-01
|
* Fix set_bitskwolekr2015-03-31
|
* GenElementManager: Pass opaque handles to Lua and rename to ObjDefManagerkwolekr2015-03-31
| | | | Add core.clear_registered_schematics() and refactor schematics somewhat
* Clean up and tweak build systemShadowNinja2015-03-27
| | | | | | | | | | | | | | | | * Combine client and server man pages. * Update unit test options and available databases in man page. * Add `--worldname` to man page. * Fix a bunch of places where `"Minetest"` was used directly instead of `PROJECT_NAME`. * Disable server build by default on all operating systems. * Make `ENABLE_FREETYPE` not fail if FreeType isn't found. * Enable LevelDB, Redis, and FreeType detection by default. * Remove the `VERSION_PATCH_ORIG` hack. * Add option to search for and use system JSONCPP. * Remove broken LuaJIT version detection. * Rename `DISABLE_LUAJIT` to `ENABLE_LUAJIT`. * Rename `minetest_*` variables in `version.{h,cpp}` to `g_*`. * Clean up style of CMake files.
* Add support for the PCG32 PRNG algo (and associated script APIs)kwolekr2015-03-22
|
* MutexedQueue inherits must use std::deque instead of std::listLoic Blot2015-03-17
|
* For usages of assert() that are meant to persist in Release builds (when ↵Craig Robbins2015-03-07
| | | | NDEBUG is defined), replace those usages with persistent alternatives
* Fix Android text bug (no text displaying)Craig Robbins2015-03-07
|
* Remove Queue class which uses std::list and use native std::queueLoic Blot2015-03-05
|
* Use std::vector instead of std::list in StaticObjectList and ↵Loic Blot2015-03-04
| | | | MutexedMap::getValues()
* Fix narrow_to_wide_c (ANDROID)Craig Robbins2015-03-02
| | | | | * Ensure converted string is NUL terminated * Restore logic to that used prior to 9e2a9b5
* Fix minor memory leak (Android)Craig Robbins2015-02-27
|
* Fix wrapDegrees family of functionsCraig Robbins2015-02-23
| | | | | | | | wrapDegrees() (renamed to modulo360f) wrapDegrees_0_360 wrapDegrees_180 Minor errors were present in previous versions; see issue #2328
* Move hex.h to util/Loic Blot2015-02-21
|
* Move sha1.hpp and base64.hpp to util/Loic Blot2015-02-21
|
* Performance Improvement: Use a cache which caches result for getFacePositions.Loic Blot2015-02-16
| | | | | | | | | | | This greatly reduce the number of std::list generated by caching the result, which is always constant for each radius selected. In the callgrind map, you will see original: * 3.3M calls to std::list for 9700 calls to getFacePositions In the modified version, you will see: * 3.3K calls to std::list for 6900 call to getFacePositions Callgrind map is here: #2321 it's a huge performance improvement to l_find_node_near
* Fix gettext on MSVCBlockMen2015-02-12
|
* Fix Android build of narrow_to_wideShadowNinja2015-02-11
|
* Reduce gettext wide/narrow and string/char* conversionsShadowNinja2015-02-05
|