Skip to content

Minor release - 0.3 - Now with GUI and culling!

Pre-release
Pre-release
Compare
Choose a tag to compare
@SirLynix SirLynix released this 12 Feb 18:01

Changelog:

Please note this update does break the API compatibility with the previous version (changes breaking the API compatibility are marked with a ⚠️ symbol).

  • Added Configurations parameter for build system, with support for ReleaseWithDebug. (67dcf16)

The following changes were made to the Nazara Engine:

  • Added new particle demo (Space battle). (3c6a6cd)
  • Added back automatic Frustum Culling. (a349b93)
  • Added Nz::Flags class to properly handle enum flags. (d6b793f)
  • Refactored Buffer classes to prepare the new Renderer. (9e0fd0a)
  • Added a way to override über-shaders used by the engine at runtime. (d2d6bae)
  • ⚠️ Reworked Nz::Cursor, it now includes default system cursors, allows to retrieve its image and is ref-counted (6751d48, 6751d48, 0cab95e).
  • ⚠️ Nz::WindowCursor has been renamed to Nz::SystemCursor. (6751d48)
  • Added Nz::CursorController class, for indirect cursor control. (a2e5e48)
  • Added Nz::UdpSocket::SendMultiple method, allowing to merge multiple buffers into the same datagram. (ea0d42f).
  • Added Nz::TcpClient::SendMultiple method, allowing to send multiple buffers at once.
  • Added Nz::PlacementDestroy. (ea985fa)
  • Added Nz::String::Format and Nz::String::FormatVA static methods. (cc6e412).
  • Added Nz::ParticleGroup::GetBuffer method. (4dc8578)
  • Added Nz::ParticleMapper::GetPointer method. (1f4e6c2)
  • ⚠️ Structures provied by ParticleStruct header now have a float life. (472d964)
  • Fixed scale property of Nz::TextSprite not affecting its bounding volume. (52b29ba)
  • ⚠️ Nz:MeshParams::flipUVs has been replaced by texCoordOffset and texCoordScale. (a1a7d90)
  • Fixed Nz::Music::Stop which was not resetting the playing offset. (12d7bc9, 24be974)
  • Reworked LuaBinding classes to try to improve compile time and generated objects memory. (5555d24).
  • ⚠️ Convert OpenMode to use the new Nz::Flags class. (49dfe31)
  • ⚠️ Convert StreamOption to use the new Nz::Flags class. (49dfe31)
  • ⚠️ Convert WindowStyleFlags to use the new Nz::Flags class. (6c04223)
  • ⚠️ Fix typo in OpenMode_MustExist (previously written as "MustExit"). (445ab13)
  • Added Nz::String::GetCharacterPosition method. (2f4ca23)
  • Exposed Nz::SoftwareBuffer class. (842786d)
  • ⚠️ Removed Sphere::SquaredDistance method, use Vector3::SquaredDistance with its center instead. (5b017ae)
  • Fixed SceneAmbient shader uniform not being sent by DepthRenderTechnique. (83e345a)
  • Fixed light selection bug (causing an object to not have any light on it although it is within its radius). (9c04d79)
  • Renderer::SetTexture and Renderer::SetTextureSampler now takes unsigned int instead of UInt8 texture indexes. (09c2cbf)
  • When a shader fails to validate, its uniform are now dumped to the log. (0d37a3d)
  • When a shader fails to compile, its code is now dumped to the log. (53ee891)
  • ⚠️ Texture units used by Nazara are now static, fixes a bug with shadow. (b290a12)
  • Nz::Signal move constructor and assignement operators are now noexcept. (00144e9)
  • Nz::EventHandler is now a handled object. (498b84f).
  • Added a way to specify receive and send buffer size per socket. (c4459f5).
  • Fixed ObjectHandle <= operator. (6f60110)
  • Fixed Nz::UdpSocket::Receive failing when peers suddenly closes its socket. (12401e0)
  • All noises classes now uses std::mt19937 as a random number generator, to ensure the same results on every machine. (1f5ea98)

The following changes were made to the Nazara Development Kit:

  • Added basic widgets. (c8a1208)
  • VelocitySystem will no longer affect entities with PhysicsComponent2D. (a685323)
  • Fixed EulerAngles constructor in Lua. (d55149a)
  • Fixed Component::OnDetached not being called on entity destruction. (5b777eb)

Known issues:

  • RUDPConnection is still very experimental and may fail to handle packet loss, do not use. (#74)

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.3.0-x86-DW2
MinGW-6.3.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.