Skip to main content
Background Image

2024

Table of Contents

December 2024

Breaking Changes

  • Renamed ncine.audiobuffer to ncine.audio_buffer in the Lua API
  • Renamed ncine.audiobuffer_player to ncine.audio_buffer_player in the Lua API
    • Renamed get_audiobuffer() and set_audiobuffer() to get_audio_buffer() and set_audio_buffer()
  • Renamed ncine.audiostream_player to ncine.audio_stream_player in the Lua API
    • Renamed num_samples_in_streambuffer() and streambuffer_size() to num_samples_in_stream_buffer() and stream_buffer_size()

Improvements

  • The version of the integrated ImGui has been updated to v1.91.6
  • The version of the integrated Google Benchmark has been updated to v1.9.1
  • The GameController mapping database has been updated to the one in SDL 2.30.10

November 2024

Breaking Changes

  • Renamed permissions() to get_permissions() in the filesystem table of the Lua API
  • Removed the get_ prefix from get_num_vertices(), get_num_bytes(), and get_num_indices() in the mesh sprite Lua functions

Improvements

  • Lua statistics are now disabled by default to enable hooking by external debuggers like the Lua Local Debugger
  • The version of the integrated ImGui has been updated to v1.91.5
  • Multiple additions, fixes, and expansions to the Doxygen documentation
  • Added some new Lua API functions
    • Added input.num_joymappings() to return the number of available mappings for joysticks
    • Added particle_affector.get_base_scale() to return the base scale factor of a size affector
    • Added a constructor overload that takes the position as a vector for animated and mesh sprites
  • Many viewport, shader, and shaderstate Lua functions now return a boolean to indicate the result
  • When calling the Lua particle_system.add_size_affector() function, you can now use a vec2 for the scale factors

Fixes

  • Added missing overload constructors for mesh and animated sprites in the Lua API
  • Added some missing button names for mapped joysticks in the Lua API
  • Minimum CMake version has been raised to 3.10 to avoid a deprecation warning
  • Added the missing dpi field to the Lua table returned by gfx_device.get_monitor()
  • Fixed the Lua viewport.set_camera() function to accept nil as a camera parameter
  • Added missing joystick buttons to Lua input event tables

October 2024

Improvements

  • Add MemoryFile class constructors that own a memory buffer
  • The version of the integrated ImGui has been updated to v1.91.4
  • The version of the integrated Google Test has been updated to v1.15.2
  • The version of the integrated Google Benchmark has been updated to v1.9.0

September 2024

Improvements

  • The version of the integrated ImGui has been updated to v1.91.2
  • The version of the integrated Tracy has been updated to v0.11.1
  • Swap deprecated ALooper_pollAll() function for ALooper_pollOnce() on Android

July 2024

Improvements

  • The version of the integrated ImGui has been updated to v1.90.9

June 2024

New Features

  • Added many new OpenAL source properties to the audio players
  • Added support for some useful OpenAL extensions
    • pause_device, deferred_updates, source_spatialize
  • Added optional support for EFX effects and filters, also in the Lua API

Improvements

  • The sound sources are now arranged in a pool for the players to pick, fixing some issues with playing
  • Handling the OV_HOLE vorbisfile error code by continue decoding instead of fatal asserting
  • Added a stress test mode to apptest_audio
  • Added support for joystick axes mapped as buttons
  • The version of the integrated ImGui has been updated to v1.90.8
  • The version of the integrated Google Benchmark has been updated to v1.8.4

Fixes

  • Fixed a couple of alignment faults with Emscripten and some apptests

April 2024

Breaking Changes

  • Renamed nc::IAudioDevice::PlayerType::AUDIOSTREAM to nc::IAudioDevice::PlayerType::STREAM

March 2024

Breaking Changes

  • The freezePlayers()/unfreezePlayers() methods of the audio device have been removed
    • The Lua functions freeze_players()/unfreeze_players() have been removed too

February 2024

Improvements

  • Added support for custom memory allocators and window position hints of GLFW 3.4
  • Some minor changes to the IAllocator methods that handle debug allocation entries
  • The version of the integrated ImGui has been updated to v1.90.4

January 2024

Improvements

  • The version of the integrated ImGui has been updated to v1.90.1

Fixes

  • Fixed compilation when enabling the custom memory allocators
  • Moved Particle.h to public headers to fix compilation warnings
    • The header should not be directly included by users