We used to have lol::map::empty() to empty maps, but in std::map
this method is called clear(). It sounds safe to harmonise between
our types and have lol::array::clear() too.
Not all programs support this feature for now, but that’s because they
don’t support the scene framework either, and will need patching. Also
the default postprocess is deliberately exaggerated for now.
Add mingw-std-threads project to external/ for full C++11 thread support, fix
an incorrect Win32 fix I did in PEGTL, work around mingw’s <io.h> declaring a
conflicting eof symbol, and fix a capitalisation error in log.cpp.
Using “Array” instead of “array” is now fully deprecated, and I replaced
the Log::Debug() etc. functions with msg::debug() etc. because log:: was
unavailable due to being a maths function.
Added up-to-date copyright notice and BOM to modified files, just in case.
The containers no longer force the user to use the ptrdiff_t type for
size information. For convenience, size() now always returns an int,
and the size_s() method offers a way to handle arrays with more than
2 billion elements. Internally, we still use ptrdiff_t, though.
Since so much code had to be changed, I took the opportunity to get
rid of capitalised accessors for classes that are lowercase.
Box objects (AABB) now have the long awaited extent() and center()
methods. Corners are now called “aa” and “bb” for convenience. The
WorldEntity class uses a box3 for its AABB instead of two vec3s.
This allows us to simplify a lot of verbose code.
SDL2: Mouse is back ! With correct focus support
SDL2: Added typing support with keyboard
ShaderBuilder: Refactored and simplified Shader block creation
Several warning removal
Fixed Image::Copy