Arcan 0.4.0
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