Skip to content

Arcan 0.4.0

Compare
Choose a tag to compare
@letoram letoram released this 08 Mar 16:18
· 3325 commits to master since this release

General changes

  • Monitoring mode now uses the same namespace as themes, can now load .lua crashdumps
  • The core-engine builds and runs on arm/egl devices (e.g. raspberry PI), no working input layer or resolution switching controls yet. _math performance is horrible before we get working ARMv6 + NEON optimized options.
  • Frameserver API cleaned up, reworked build-system and source organisation.
  • Optional avfeed- frameserver added, this is just a skeleton to ease writing custom data sources ( corresponding lua calls are launch_avfeed) and needs to be enabled build-time.
  • Frameservers can now (except on windows) be built in a split- mode, where each subtype (movie, encode, libretro etc.) gets its own binary.
  • Alignment issues when running SIMD optimized math adjusted
  • OSX support partially re-added, no packaging / UI work as of yet.
  • Monitoring mode changed slightly, instead of forking, we now set envvar and re-exec ourselves to accommodate for systems with broken broken fork() support (seriously OSX...)

LUA API changes

  • initial API documentation coverage now at 100%, language and descriptive qualities for individual pages still have a lot to go, this will be improved gradually.
  • system_load now accepts an optional trigger to disable _fatal calls when asked to load a broken script
  • target_coreopt added to force key,val options to target frameserver
  • target_verbose hints frameservers and their internal processing to expose more detailed data (e.g. pts/framecount/frameskipping for decode and encode)
  • define_calctarget added, similar in style to a recordtarget (without any audio) that exposes buffer data as a callback to a provided lua function
  • target_synchronous disables PTS enforcement and blocks on sync with frameserver and with GPU (only for very specific uses)
  • exposing lua api to the VM is delayed until just before the themename() entry-point
  • all C<->LUA functions are now mapped to a LUA_TRACE(luasymbolname) macro (where ctx refers to the lua_State pointer) for engine dev. to ease customized tracing, by default, the macro is just empty.
  • system_snapshot function added (similar to a crashdump but can be invoked by script dev.)
  • image_children now returns correct VIDs
  • more functions aggressively shut down if a broken VID is provided

Libretro frameserver

  • Support for Core Options
  • Support for 3D Cores (may cause some problems with certain window managers
    as we need to spawn full windows to get access to an off-screen FBO)
  • Improved support for analog devices and filtering
  • Rollback based input latency masking support added (experimental)

Database tool

  • Improved builddb times and fixes for libretro core scanning
  • Now adds support for .descr files in games/target folder to disable and override scanning