Skip to content

Releases: AntonioND/nitro-engine

Version 0.15.2

15 Jan 18:32
Compare
Choose a tag to compare
  • Fix ar binary used to build the library.
  • Update documentation.
  • Fix build of examples in devkitARM.
  • Improve setup instructions.

Version 0.15.1

22 Dec 23:42
Compare
Choose a tag to compare
  • Install licenses with the rest of the library.
  • Clarify some comments in examples.

Version 0.15.0

22 Dec 23:41
Compare
Choose a tag to compare
  • Allow users to specify the transformation matrix of a model manually.
  • Fix a devkitARM Makefile in an example.

Version 0.14.0

10 Sep 17:21
Compare
Choose a tag to compare
  • Use stdint.h types instead of libnds types.
  • Update BlocksDS makefiles.
  • Update libdsf to v0.1.3.
  • Fix some memory leaks/use-after-free bugs in the RichText module.

Version 0.13.0

08 Jun 12:05
Compare
Choose a tag to compare
  • Define BlocksDS as the main toolchain to use with Nitro Engine.
  • Simplify build and installation instructions of the library.
  • Update md5_2_dsma to correctly export the base animation of models.
  • Stop using NE_RGB5 in the examples, this format is discouraged.
  • Optimize copy of NE_RGB5 textures to VRAM.

Version 0.12.0

30 Mar 11:43
Compare
Choose a tag to compare
  • Deprecate NE_ShadingEnable(). The name was misleading. All examples that
    use it have stopped calling it.
  • For sprites, add a way to specify texture coordinates inside the material to
    use a small part of the texture instead of the whole texture:
    NE_SpriteSetMaterialCanvas(). This is now used in the sprites example.
  • Stop using global variables in most examples. Instead, the rendering functions
    get values through the arguments of NE_ProcessArg() and
    NE_ProcessDualArg().
  • Don't expect palette objects when loading GRF files if the file doesn't
    contain a palette.
  • Allow loading BMFont fonts from RAM, not just nitroFS. Add an example of
    using rich text fonts from RAM.
  • Added a function to reset the rich text font system. Also add a function to
    return the size that a specific text string would have if drawn.
  • Add shadow volume example.
  • Build some functions that do lots of multiplications as ARM to increase
    performance.
  • Fix compilation with devkitARM.
  • Fix linker invocation for C++ with BlocksDS.
  • Update libDSF to version 0.1.2, with some speed improvements.
  • Relicensed libDSF under "Zlib OR MIT" to simplify licensing with Nitro Engine.
  • Some minor documentation improvements.

Version 0.11.0

02 Mar 14:22
Compare
Choose a tag to compare
  • Added a rich text system. This allows the user to draw non-monospaced text, and it's based on BMFont. An example has been added to show how to use it to render text. It can render
    text by using one quad per character, or by rendering to a texture which is then drawn as a single quad.
  • Fix "properties" typo. This involves renaming some functions, but compatibilty definitions have been added.
  • Update calls to GRF libnds functions after their prototypes have changed.
  • Cleanup setup of dual 3D modes that involve setting up 2D sprites to be used as a framebuffer.
  • Now the size of a sprite is set to the size of the material it is assigned. It can be modified later as usual.

Version 0.10.0

28 Jan 02:37
Compare
Choose a tag to compare
  • Create variants of NE_Process() and NE_ProcessDual() that can pass an
    argument to the screen draw callbacks.

  • Add function to load textures in GRF format (BlocksDS only).

  • Add functions to load compressed textures (Texel 4x4 format).

  • Add examples to load assets from the filesystem, both in binary and GRF
    function.

  • Cleanup code style: Use stdint types, turn some functions static inline...

  • Remove unneeded call to DC_FlushAll().

  • obj2dl: Improve error message. Fix vertical coordinates being flipped.

  • img2ds: Deprecate it except for generating DEPTHBMP binaries.

  • The makefile for BlocksDS now installs the tools to /opt/blockds/external,
    not only the library and headers.

  • Migrate all examples to using grit instead of img2ds.

Version 0.9.1

12 Nov 01:31
Compare
Choose a tag to compare
  • Update Makefiles to build on BlocksDS.

  • Fix functions used to load assets from FAT.

Version 0.9.0

19 Oct 01:05
Compare
Choose a tag to compare
  • Introduce two new dual 3D modes. They are resilient and they will always show
    the same output on both screens even if the framerate drops. This isn't the
    case with the previous dual 3D mode.

  • Fix 2D projection used to display 3D sprites. The Y coordinate didn't work
    correctly for numbers close to 192. This means that an ugly hack to apply an
    offset to the texture coordinates of 2D polygons is no longer needed.

  • Fix initialization of the library. Sometimes, depending on the loader, the
    game would start in a different time in the screen rendering cycle. This would
    swap the images of the screens until the framerate dropped when loading
    assets, for example.

  • The code that switches between screens in dual 3D mode has been more reliable.
    Nitro Engine now swaps screens after they are actually drawn, not in the
    vertical blanking interrupt handler, when it switched every frame even if no
    new frame had been drawn by the game.

  • Switch a lot of assert() in the library into permanent runtime checks. Several
    functions now return error codes instead of not returning any value.

  • Use safe DMA copy functions if the libnds of the toolchain provides them (they
    are only available in BlocksDS at the moment).

  • The library now supports sending display lists to the GPU in different ways to
    work around a hardware bug in the ARM9 DMA when it is set to GFX FIFO mode.

  • Fix debug build of the library.

  • Fix build of the NFlib template with devkitPro libraries.

  • Update examples and add some more, particularly about comparisons between dual
    3D modes.