aboutsummaryrefslogtreecommitdiff
path: root/src/util
AgeCommit message (Collapse)Author
2016-10-06Use more unordered_maps to improve performance in c++11 buildsLoic Blot
2016-08-11Use the standard to_string() functions for C++11 (#4279)Rogier-5
If compiling according to a C++ version before C++11, then define std::to_string ourselves. Add a to_wstring version as well As std::to_string() for floating point types uses %.6f as floating point format converter, instead of %G, it needs special care. To preserve ftos() behavior (which is expected to use the %G format converter), it no longer uses to_string().
2016-08-10couple of memory leaks fixes.David Carlier
2016-08-10Permit usage of std::unordered_map & std::unorderered_set on c++11 compilers ↵Ner'zhul
(#4430) This fallback to std::map & std::set for older compilers Use UNORDERED_SET as an example in decoration and ore biome sets Use UNORDERED_MAP as an example in nameidmapping
2016-06-11Random misc. warning fixes and cleanupskwolekr
- Fix unused c_sand member warning in Valleys Mapgen - Fix some code style - Make some std::string params const ref
2016-05-31Add colored text (not only colored chat).Ekdohibs
Add documentation, move files to a proper place and avoid memory leaks. Make it work with most kind of texts, and allow backgrounds too.
2016-05-31Colored chat working as expected for both freetype and non-freetype builds. ↵TriBlade9
@nerzhul improvements * Add unit tests * Fix coding style * move guiChatConsole.hpp to client/
2016-05-30Add minetest.check_password_entry callbackest31
Gives a convenient way to check a player's password. This entirely bypasses the SRP protocol, so should be used with great care. This function is not intended to be used in-game, but solely by external protocols, where no authentication of the minetest engine is provided, and also only for protocols, in which the user already gives the server the plaintext password. Examples for good use are the classical http form, or irc, an example for a bad use is a password change dialog inside formspec. Users should be aware that they lose the advantages of the SRP protocol if they enter their passwords for servers outside the normal entry box, like in in-game formspec menus, or through irc /msg s, This patch also fixes an auth.h mistake which has mixed up the order of params inside the decode_srp_verifier_and_salt function. Zeno-: Added errorstream message for invalid format when I committed
2016-04-24Escape more strings: formspecs, item descriptions, infotexts...Ekdohibs
Also, change the escape character to the more standard \x1b Thus, it can be used in the future for translation or colored text, for example.
2016-04-10Update CSRP-GMP to commit deaa11a7c29a73008est31
Backports 10 commits, with 8 commits actually affecting source code: https://github.com/est31/csrp-gmp/compare/695822e45d9ca48b75b4ec1af1b4eea19139f8b1...deaa11a7c29a730087380da231e785909ad21630
2016-03-19Clean up StrfndShadowNinja
Changes: * Fix indentation. * Pass strings by const reference. * Merge Strfnd and WStrfnd into one class instead of copying them. * Remove trailing spaces. * Fix variable names. * Move to util. * Other miscellaneous style fixes.
2016-03-15Remove chat escape sequences from chat messages, for future colored chat.Ekdohibs
2016-03-15Much better API for auth.{cpp, h}est31
* No function overloading * Adhere coding style and with method names following lowercase_underscore_style * Use std::string in external API, handling these is much more fun
2016-03-07Add AreaStore custom ID APIShadowNinja
2016-03-07Implement AreaStore serializationShadowNinja
2016-03-07Fix SpatialAreaStore not freeing removed areasShadowNinja
2016-03-07Add basic AreaStore method documentationShadowNinja
2016-03-07Sort AreaStore headerShadowNinja
2016-03-07Clean up VectorAreaStoreShadowNinja
2016-03-07Move AreaStore container selection logic into getOptimalImplementationShadowNinja
2016-03-07Move AreaStore to utilShadowNinja
2016-03-07Add minetest.register_lbm() to run code on block load onlyest31
2016-02-18HOTFIX: fix too agressive block cullingRealBadAngel
2016-02-11v2d & aabbox3d<f32> & sky cleanupsnerzhul
* Sky: rename Box => m_box and inline getBoundingBox * Uniformize aabbox3d<f32> to aabb3f
2015-12-29Add macos/freebsd missing endian.h include and add win endianness infoqiukeren
2015-11-08Fix misc. MinGW and Valgrind warningskwolekr
2015-11-08Don't compile pcgrandom on Windowsest31
There it isn't needed.
2015-11-06Add server side ncurses terminalest31
This adds a chat console the server owner can use for administration or to talk with players. It runs in its own thread, which makes the user interface immune to the server's lag, behaving just like a client, except timeout. As it uses the same console code as the f10 console, things like nick completion or a scroll buffer basically come for free. The terminal itself is written in a general way so that adding a client version later on is just about implementing an interface. Fatal errors are printed after the console exists and the ncurses terminal buffer gets cleaned up with endwin(), so that the error still remains visible. The server owner can chose their username their entered text will have in chat and where players can send PMs to. Once the username is secured with a password to prevent anybody to take over the server, the owner can execute admin tasks over the console. This change includes a contribution by @kahrl who has improved ncurses library detection.
2015-11-03Silence 'unused typedef' warning for STATIC_ASSERT()kwolekr
2015-11-02Rename and move basicmacros.h to util/basic_macros.hest31
2015-10-27Move basic, non-numeric macros from util/numeric.h to basicmacros.hkwolekr
2015-10-15Add BufReader and vector-based serialization methodskwolekr
2015-10-14Rename macros with two leading underscoresShadowNinja
These names are reserved for the compiler/library implementations.
2015-10-14Always use errorstream for DEBUG_EXCEPTION_HANDLERShadowNinja
2015-09-30Fix some SRP issuesest31
-> Remove memory allocation bugs -> Merge changes from upstream, enabling customizeable memory allocation
2015-08-23Clean up threadingShadowNinja
* 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.
2015-08-19Fix indianred and indigo of color-stringRui
2015-08-19Android: bypass broken wide_to_utf8 with wide_to_narrow (again)est31
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).
2015-08-06Fix BufferedPacket race condition (fixes #2983)kwolekr
This was caused by the use the non-threadsafe SharedBuffer in a threaded context.
2015-08-06Initialize random for verification key generation tooest31
2015-08-02src/util/numeric.{cpp,h}: Fix FacePositionCache data raceBřetislav Štec
2015-08-01Improve accuracy and safety of float serializationkwolekr
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.
2015-08-01Clean up util/serialization.{cpp,h} and add unit testskwolekr
2015-07-29Android: fix horrible libiconv buildest31
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.
2015-07-27Add AreaStore data structureest31
2015-07-24Check output of mpz_set_str and fix leak on error conditionest31
Also add static identifier as upstream did
2015-07-24Remove some old dead code. Fix some Clang warnings in SRP (ng->N... willLoic Blot
always evaluate to true.
2015-07-21Clarify docs for auth.cpp methodest31
2015-07-14Increase limit of serialized long stringskwolekr
2015-07-13Add more robust error checking to deSerialize*String routineskwolekr
Add serializeHexString() Clean up util/serialize.cpp