Sam Hocevar
54b32b19d1
Fix stack overflow in Perlin noise generator.
pirms 6 gadiem
Sam Hocevar
3d83307dfa
Some Win32 and Win64 compilation fixes.
pirms 6 gadiem
Sam Hocevar
f6c386f560
Allow to build without Bullet Physics.
pirms 6 gadiem
Sam Hocevar
c826bbd6f0
Fix several compilation warnings.
pirms 7 gadiem
Sam Hocevar
37abf6193f
RIP lol::String ⚰️ LOL
pirms 7 gadiem
Sam Hocevar
9dbfa4d550
Use std::string in a lot of places. Makes a few things simpler.
pirms 7 gadiem
Sam Hocevar
1105a075ce
Rename lol::Timer to lol::timer. Because.
pirms 7 gadiem
Sam Hocevar
8981100727
Get rid of lol::hash which is now useless.
pirms 7 gadiem
Sam Hocevar
cfeaeabf2d
Get rid of lol::map because std::map is obviously superior.
pirms 7 gadiem
Sam Hocevar
b2fd4f1f5c
Fix a bug with lol::vformat() adding two terminating null chars.
pirms 7 gadiem
Sam Hocevar
980ff37a58
Get rid of numerous uses of lol::String.
pirms 7 gadiem
Sam Hocevar
968f7c92bb
Get rid of String::format in favour of a std::string version.
pirms 7 gadiem
Sam Hocevar
a99848fd2d
Fix Lua-related compilation issues.
pirms 7 gadiem
Sam Hocevar
487c82609c
Make lol-lua an optional dependency.
pirms 7 gadiem
Sam Hocevar
80ad5da4f9
Update pegtl and mingw-std-threads submodules.
pirms 7 gadiem
Sam Hocevar
05e3b710fc
Fix build with Visual Studio 2017.
pirms 7 gadiem
Sam Hocevar
05db043e20
Update lol-bullet.vcxproj and add a README.md about how to do it.
pirms 7 gadiem
Sam Hocevar
6281145d9d
Implement real::erf() with reasonable precision.
pirms 7 gadiem
Sam Hocevar
80823faac6
Make fast real factorial more generic.
This new version allows to compute odd and even double factorials
without harming performance for the standard factorial.
pirms 7 gadiem
Sam Hocevar
42f52f2c8b
Update bullet3 to a more recent Git head.
pirms 7 gadiem
Sam Hocevar
e0795e91ad
Implement real(int64_t) and real(uint64_t).
pirms 7 gadiem
Sam Hocevar
3025ea2207
Implement real::R_INF and real::R_NAN.
pirms 7 gadiem
Sam Hocevar
d89a4c9e02
Implement real::is_negative().
pirms 7 gadiem
Sam Hocevar
d5c665e27e
Fix a bug in the real * int op that prevented an optimisation.
pirms 7 gadiem
Sam Hocevar
74f174b6d7
Implement real::is_zero and a few others for code clarity.
pirms 7 gadiem
Sam Hocevar
c7c34312fe
Handle real::DEFAULT_BIGIT_COUNT changes a bit better.
Most operators do not yet handle reals of different sizes, but
this change fixes the most glaring bugs.
pirms 7 gadiem
Sam Hocevar
359c6fc4c4
Make the real number size a global variable (yuck).
pirms 7 gadiem
Sam Hocevar
c7fa8939f5
Fix a few build issues when features are disabled.
pirms 7 gadiem
Sam Hocevar
74fc7c1f58
Fix real construction from long doubles.
It was hard to avoid some of the compiler optimisations caused by our
intermediate conversion to double, so we hide them behind the actual
real object. Also, this commit fixes a potential exponent overflow.
pirms 7 gadiem
Sam Hocevar
8ffc3ccae2
Fix issues in real::sqrt() and other methods.
Now that the exponent is no longer biased, it is a signed number, and we
need to account for that when dividing it and expecting rounding rules to
behave in a certain way.
pirms 7 gadiem
Sam Hocevar
1c27691ef9
Temporary fix for real::sqrt() which I broke recently.
pirms 7 gadiem
Sam Hocevar
dd140fd9e1
Refactor real numbers so that they can have a dynamic size.
Some checks are failing, I probably messed up several functions.
pirms 7 gadiem
Sam Hocevar
783fdbab98
Implement Franke’s function and Matlab’s peaks for reals.
pirms 7 gadiem
Sam Hocevar
5bd042ce01
Implement split() for std::string.
This is the beginning of the removal of lol::String which is not really
useful once all its tiny utility functions are implemented for std::string.
pirms 7 gadiem
Sam Hocevar
0239617197
Various compilation and warning fixes.
pirms 7 gadiem
Sam Hocevar
1db2c5ca0f
Allow ! and bool operators on polynomials.
This allows us to manipulate polynomials of polynomials. Not sure why yet,
but it could be useful to implement 2-variable polynomials.
pirms 7 gadiem
Sam Hocevar
44e39867b1
Fix approximately 80 billion compilation warnings.
pirms 7 gadiem
Sam Hocevar
03b00d6f24
Mingw64 compilation fixes.
pirms 7 gadiem
Sam Hocevar
ff0ff83d98
Update EXTRA_DIST in several makefiles.
pirms 7 gadiem
Sam Hocevar
29b41d9c08
Fix typo in nodiscard attribute feature detection.
pirms 7 gadiem
Sam Hocevar
7e17bd8a8d
Exclude SDL source files from .vcxproj if enable_sdl is "no".
pirms 7 gadiem
Sam Hocevar
5b21579db4
Add --disable-opengl flag.
This flag disables GL, GLES, but also Glew and EGL libraries.
pirms 7 gadiem
Sam Hocevar
4e313aa810
Fix unused variable warnings in the polynomial code.
pirms 7 gadiem
Sam Hocevar
7be150b0e4
Allow to build without SDL or ffmpeg.
Linux-only for now. This will be necessary for projects that do not
actually use the rendering engine, such as LolRemez.
pirms 7 gadiem
Sam Hocevar
2df8762d47
Migrate to Visual Studio 2017.
pirms 7 gadiem
Sam Hocevar
fe99aca67d
Use [[nodiscard]] in a lot of places.
This will let us detect problems with unused return values. For instance,
if you don’t remember that normalize(q) returns a pointer and expect it
to modify the object, you’ll get this warning:
warning: ignoring return value of function declared with 'nodiscard' attribute [-Wunused-result]
quat q(1,2,3,4); normalize(q);
^~~~~~~~~ ~
pirms 7 gadiem
Sam Hocevar
9981cf4ce9
Make some AVL tree code less verbose.
pirms 7 gadiem
Sam Hocevar
c86f703dcf
Some Windows compilation fixes + support for [[nodiscard]].
pirms 7 gadiem
Sam Hocevar
b9effc8977
Fix erratic indentation and file encoding.
pirms 7 gadiem
Sam Hocevar
9bdb67a51a
Fix source file encoding.
pirms 7 gadiem