Devlogs
NutshellEngine 0.3.1
NutshellEngine 0.3.1 brings more changes to animation, add new functions and add quality-of-life improvements.
Runtime
The Runtime is the part of the engine that runs the games made with the editor.
Features
- /!\ Breaking Change! Textures, such as in Materials or Particles are now using ImageID to point to an image, instead of an Image*.
- This change allows to use images that don't have a CPU-side representation as textures.
- Added new functions to get access to the names of all assets of a type stored in the asset manager (for example: getImageNames to access the names of all loaded images).
- /!\ Breaking Change! Colliders have been modified:
- /!\ Breaking Change! In ImageSampler, anisotropyLevel has been renamed to maxAnisotropy.
- Added level-of-detail settings to ImageSampler to configure the minimal and maximal levels of mipmaps to sample.
- Added a new createEntitiesFromScene function to load Entities from a scene file without leaving the scene.
- It can be used as a way to define templates in different scene files to load complete Entities into the scene at runtime.
- /!\ Breaking Change! Animations got more changes:
- In functions related to Animations, the animationIndex parameter has been replaced by a pointer to an Animation.
- Entities can now play Animations that don't come from the model file of their mesh.
- The Mesh structure does not contain the Animations of the model file they were in anymore. Instead, they have a pointer to the Model they come from.
- Animations are now treated like any other assets, with createAnimation, destroyAnimation, findAnimationByName, getAnimationName and getAnimationNames functions.
- When loaded from a model file, they are stored with the name "nameOfModelFile:nameOfTheAnimation".
- Added a getPlayingAnimation function returning the animation currently played by an Entity.
- Removed Screen-Space Ambient Occlusion from the provided Graphics Module.
- This method caused performance and visual issues with screen-door transparent objects.
- Initial window width and height can be specified in the options file (assets/options/options.ntop).
Bug fixes
- Fixed a situation when playing a non-looping Animation locked the application in the provided Graphics Module.
- More text can be renderer on the screen in the provided Graphics Module.
- Changed the default Occlusion-Roughness-Metalness texture in the provided Graphics Module.
- Fixed an issue where anisotropy could be enabled when between 0 and 1 as it should only be enabled when anisotropy is superior to 1, in the provided Graphics Module.
Editor
The Editor is the software used to make games with.
Features
- When an Entity is created, it is now directly open for renaming.
- Project settings contained in assets/options/options.ntop can now be opened through the Options menu.
- Added the possibility to set the initial window width and height in the project settings.
- Entity Cameras' displayed aspect ratio depend on the specified window width and height in the project settings.
- When building and running an application, a console will not open anymore.
- Disabled some material's attributes when other contradictory attributes were used (for example: diffuse color and diffuse opacity are now disabled when a diffuse texture is set).
- The entire scripts directory can now be opened inside the specified code editor from the scripts list contextual menu.
- Scripts can now be dragged and dropped to the Entities on the renderer.
Bug fixes
- Fix log not appearing correctly when renaming an Entity to an already taken name.
- Opening the specified code editor should be quicker.