Commit Graph

21 Commits (master)

Author SHA1 Message Date
Nicolas Hake 1dd7cbb04a BLAKE2: Fall back to plain C implementation on non-amd64 platforms
While amd64 always supports the SSE2 instruction set extension,
other architectures don't (including 32 bit x86). For the platforms
that don't, we'll use the reference C implementation by default, but
allow users to override it with the BLAKE2_USE_SSE2 option.
2018-03-21 07:51:52 +01:00
Nicolas Hake c39d1b8679 Merge commit '9493ed1277ef924c3005a9ff51f194d1cda87947' as 'thirdparty/blake2' 2018-03-19 13:50:17 +01:00
Nicolas Hake ae0baf587d Remove BLAKE2b implementation requiring SSE2 2018-03-19 13:47:01 +01:00
Nicolas Hake 701adc2eae Enable SSE2 for BLAKE2 library 2018-02-25 12:50:08 +01:00
Nicolas Hake e3de9f1003 Add BLAKE2 library and expose its a CS hash algorithm to script
The crypto "library" only consists of a single function at the
moment because that's all that users have asked for so far. It is
also highly experimental. We will make an attempt to keep the public
interface (i.e. the interface provided by Library_Crypto.c) stable,
but it might still change if necessary. The internal interface
(provided via the global _Crypto proplist) is not for public
consumption and will probably change at some point.
2018-02-25 10:23:30 +01:00
Lukas Werling e92cff778c backward: remove reference to SIGUNUSED
glibc removed that definition in some recent version.
2017-09-17 18:30:17 +02:00
Lukas Werling b9a4345071 Backward: Also print stack trace to OpenClonk.log
People usually send the log file when something is wrong, so it's a good
thing to actually have relevant information about the crash there.
2017-03-21 20:18:00 +01:00
Lukas Werling 19b00b7862 Use backward-cpp on Linux for nicer stack traces 2017-03-21 20:17:55 +01:00
Sven Eberhardt 64cfe42827 Update shipped getopt version to include the new optional_argument option 2016-10-08 20:51:22 -04:00
Sven Eberhardt 856730aabd Fix some signed/unsigned warnings 2016-09-07 01:53:54 -04:00
Sven Eberhardt a291ba2144 Fix a warning in random number generator 2016-08-30 18:55:35 -04:00
Nicolas Hake 02c8dc970a pcg: Make MSVC compatible
Still passes all tests of the test suite except for the tests for
a particular class size, which is an odd thing to test for anyway.
2016-04-22 00:15:12 +02:00
Lukas Werling 7005eae55d Use PCG as random number generator 2016-04-20 22:42:00 +02:00
Nicolas Hake 5abc112a81 CMake: Split GTK3 tests into a separate module
Nobody uses pkg-config on Windows, and we already have a perfectly
viable solution for finding libraries - it's called CMake. We're still
defering to pkg-config when it exists because who knows what arcane
cflags might be required on some systems.
2015-10-19 16:11:12 +02:00
Nicolas Hake bf1e02872d Revert "Avoid signed/unsigned comparison in mesh sorting."
This reverts commit 01b47bae8e.
2015-02-07 17:35:11 +01:00
Sven Eberhardt 01b47bae8e Avoid signed/unsigned comparison in mesh sorting. 2015-02-07 17:02:17 +01:00
Nicolas Hake 227d3d760d Ship a fallback natupnp.h
MinGW doesn't bring a natupnp.h out of the box. Add one to the repository
so MinGW builds also support UPnP/NAT-PMP.
2014-08-03 21:48:53 +02:00
Armin Burgmeier 73654821ea Fix timsort so that it compiles with Visual Studio 2012-02-01 23:03:29 +01:00
Armin Burgmeier 0749dcdb9d Replace std::sort by timsort for Face ordering
The usage of timsort instead of std::sort at this point is twofold.  First,
it's faster in our case where the array is already sorted in many cases
(remember this is called at least once a frame). And it's not just a bit
faster either but a lot. I have measured a factor of 7 on my system.

Second, in our Windows autobuilds there is a crash within std::sort which is
very hard to debug because it's hardly reproducible with anything other than
the autobuilds (I tried hard). If the crash goes away with timsort then
great, if not then maybe it's easier to debug since the code is in our tree.
2012-02-01 22:11:46 +01:00
Nicolas Hake b8d3b00d90 Move TinyXML into thirdparty/ 2011-01-25 21:28:44 +01:00
Nicolas Hake a0130e0389 Add getopt third party library
Some build systems, particularly MSVC, don't ship with an implementation
of getopt or getopt_long in their standard library. This patch adds a BSD
licensed implementation, to be used in case there is no system provided
one.
2010-10-05 00:14:07 +02:00