Minor release - 0.2 - Physics update
Pre-releaseChangelog:
Please note this update may break the API compatibility with the previous version (changes breaking the API compatibility are marked with a
The following changes were made:
- Added a .editorconfig file to help consistency (8126c98)
- Code::Blocks is now supported by Premake5 (4027613)
- Global headers no longer include generation date. (fd3161c)
- Upgraded Premake5 to alpha10, removing Premake4 in the process. (110064c)
The following changes were made to the Nazara Engine:
⚠️ The Physics module has been renamed to Physics3D (65bfd77)- A new Physics2D module has been added, using chipmunk (e9be18d)
⚠️ NAZARA_UTILITY_THREADED_WINDOW
got replaced by the runtime flagWindowStyle_Threaded
. (a7dd0e0)- LuaClass is now default-constructable and (re)initialized later with its
Reset
method (dc3e125) - LuaClass is now able to bind classes with deleted destructor (3168e5a)
- Added a
LuaInstance::Push
variadic overload able to push multiple arguments (a19edf1) - The Vector classes now have a std::hash overload (74b446a)
- The TextEntered event handling on Linux has been improved (7d1c5fa)
- An interactive unit test has been added for testing the window events (34d9232)
AbstractLogger::IsStdReplicationEnabled()
is now const (5df095c)FileLogger::IsTimeLoggingEnabled()
is now const (de0f931)- Fixed
Apply
return type not taking references into account (1eb49d3) - Fixed
LuaInstance::PushInstance
memory corruption (54b77c0) - Fixed
Matrix4::Get(Column|Row)
compilation (728d7b8) - Fixed
ResourceManager::Purge
compilation (c700283) - Fixed
Quaterniond::operator*
compilation (19dc95a) - Fixed the <= operator with two ObjectRef (7597578)
⚠️ LuaClass methods now include anargumentCount
parameter, and the instance remains at the top of the Lua stack, shifting all parameters by one (9b79478)- Fixed automatic lua binding of
T& T::Method()
, which will now return the original Lua instance instead of copying it. (d20fa00) VideoMode
third argument (bpp
) is now optional. (2ab311e)ByteArray::ToHex
is now implemented in ByteArray.cpp, to reduce the amount of warnings generated by MSVC because of thesprintf
call. (41e7e6a)
The following changes were made to the Nazara Development Kit:
⚠️ The Collision and Physics components now have a 3D suffix (6e289fe)- Added Collision and Physics components for 2D physics. (b5048df)
LuaAPI::GetBinding()
will now implicitly initialize LuaAPI if required (ec16114)- It is now possible to change the update order of a world's systems. (51b6979)
- By default, the Render and Listener systems update are now performed last. (dd22e5f)
- PhysicsSystem3D no longer initialize an internal PhysWorld3D if no physical entity gets created (e282442)
- Including the following changes in the Lua API:
GraphicsComponent:Attach
overloads (taking local matrix and render order) are fixed. (d525669)- Material is now accessible from Lua (aed4e1e)
- Matrix4 is now accessible from Lua (fb51840)
- Sprite is now accessible from Lua (e034dce)
- SpriteLibrary is now accessible from Lua (013a133)
- Texture is now accessible from Lua (f8b55a5)
- TextureLibrary is now accessible from Lua (3a64ef9)
- TextureManager is now accessible from Lua (3a64ef9)
The following issues were fixed:
- #102: Some shaders used by the Graphics module may fail to compile with some drivers.
- #104: On Windows, when using threaded windows, the window position obtained by
Window::GetPosition()
never gets updated. - #105: On Windows, when not using threaded windows, a lot of Moved events gets generated instead of just one for every movement.
- #111: On Linux,
IsKeyPressed(Keyboard::Q);
returns true if theA
key is pressed. - #114: Box/cubic sphere submesh generation is broken.
Known issues:
- RUDPConnection is still very experimental and may fail to handle packet loss, do not use. (#74)
- The
NAZARA_VERSION_*
macros are still referring to 0.1.1
Note for MinGW users:
Multiples versions of MinGW exists, I recommand you to use the Mingw-w64 version, as they are more advanced and use a faster exception handling mode.
Compiled versions are only provided for the following toolchains
MinGW-6.1.0-x86-DW2
MinGW-6.1.0-x64-SEH
Please note that TDM-GCC versions are no longer provided because of their lack of compatibility with some options, and lack of necessity.
Here are the Visual Studio 2015 (msvc14), MinGW and Linux binaries.
As always, the online documentation got updated.