Orx Changelog

What's new in Orx 1.7

Feb 16, 2016
  • IMPORTANT: Simplified compile targets to: Debug, Profile and Release (the Core targets are used for tools and don't embed the plugins)
  • IMPORTANT: New lighter-weight hg/git repository of orx, setup.bat/setup.sh needs to be called (the first time only) to gather dependencies
  • IMPORTANT: Added sound bus feature (for grouped volume & pitch control)
  • IMPORTANT: Renamed orxRENDER_EVENT_OBJECT_PAYLOAD to orxRENDER_EVENT_PAYLOAD + modified its layout to use struct hierarchy
  • IMPORTANT: Added orxConfig_SetBootstrap() that allow user code to be executed after config module init but *beforeany config file has been loaded
  • IMPORTANT: Added Webp support (load) to all platforms
  • IMPORTANT: Android's target surface is now driven by Display.ScreenWidth or Display.ScreenHeight properties but will maintain device's aspect ratio
  • IMPORTANT: Engine will now pause/resume when receiving focus events (Android)
  • IMPORTANT: Owner-less shaders are not supported anymore (for full screen shaders, use viewport-attached ones instead)
  • IMPORTANT: orxDisplay_SetVideoMode(orxNULL) will now reinit client states/arrays to help with a Steam overlay bug on some Mac computers
  • IMPORTANT: orxRENDER_EVENT_STOP is now sent after all extra rendering (FPS, console, profiler)
  • IMPORTANT: Added half-axis support to input module
  • IMPORTANT: Added optional "sub-frame" interpolation to spawners, off by default
  • IMPORTANT: Simplified module dependency scheme (will affect users that do not use the orx_Execute*() helpers)
  • IMPORTANT: Physics update now uses absolute fix step update, based on Physics.StepFrequency property, adaptable update is still optionally available
  • IMPORTANT: Added Size/Pivot support to objects that do not have graphics, compatible with picking functions
  • IMPORTANT: Removed OpenGL ES 1.x support on iOS
  • orxHashtable can now use 64bit keys
  • Reactivated Neon support in stb_image (iOS, device only)
  • Android's external dependencies are now compiled with gcc 4.9
  • Added support for iOS 64bit
  • Added orxAnimSet_GetName()
  • Added orx_LogAllStructures(), for tracking purposes
  • Added commands Command.IsGreater and Command.IsLesser
  • Added command Config.ClearValue
  • Added orxTexture_GetLoadCounter + associated command
  • Fixed scale propagation for physical bodies in object hierarchies
  • Fixed CRC32 to use the actual CRC32B reference algorithm + added slice-by-8 optimization
  • Fixed Win64 support in file module
  • orxFile_GetSize() now support 64bit sizes on all platforms
  • Added commands to access object colors in all supported color spaces
  • Added resource commands
  • Added orxVECTOR constants for secondary colors (RGB)
  • Removed all manual CPU/GPU sync points -> no more calls to glFinish()/glFlush()
  • Updated all display plugins with VS2013BO-based optimizations
  • SoundPointers can now be paused/stopped right after creation
  • When a localized string/font isn't found when switching to a different language, the text won't get modified
  • Renamed default font -=DefaultFont=- to default
  • Misc fixes, optimizations and additions

New in Orx 1.6 (Jan 15, 2015)

  • IMPORTANT: Added VS2013 (win32 & x64) support + precompiled binaries
  • IMPORTANT: Added VS2012 (win32) support + precompiled binaries
  • IMPORTANT: Removed official support for VS2008 & VS2010
  • IMPORTANT: orxDISPLAY_EVENT_PAYLOAD has been refactored (field renaming)
  • IMPORTANT: orxANIM_EVENT_PAYLOAD has been refactored (field renaming)
  • IMPORTANT: Android builds are now using hard-float ABI and NDK r10b
  • IMPORTANT: Android builds have been migrated from Eclipse to Android Studio
  • IMPORTANT: Added support for Android TV
  • Param config section will now be populated with parameters provided on the command line (full names only)
  • Debug-only: orx will try to detect and warn about case config errors
  • Optional context can now be provided when registering event handlers
  • Animations (both current & target) can now be changed from within an animation event callback
  • Added Joystick support to Android, conditional upon Android.UseJoystick config property
  • Added Nexus player remote support to Android
  • orxSTRUCTURES ordered as lists will not be ordered as FIFO anymore (use instead a cache friendly strategy)
  • Added orxDISPLAY_EVENT_LOAD_BITMAP, orxTEXTURE_EVENT_LOAD and orxANIM_EVENT_UPDATE events
  • Added Display.ShaderVersion config property, defaults to 120 on Windows, Linux & OSX
  • Spawner can now handle random/list values for WaveSize, WaveDelay and ObjectSpeed
  • Android audio thread is paused when application is sent to the background
  • AnimSets can now contain up to 1024 anims (previously: 256)
  • Command Object.Delete will now handle disabled objects correctly
  • Updated stb_image to v2.0b
  • Updated stb_image_write to v0.95
  • Updated stb_vorbis to v1.04
  • Misc fixes, optimizations and additions

New in Orx 1.6.0 RC (Aug 12, 2014)

  • IMPORTANT: Added Multi-threading support
  • IMPORTANT: MinGW32 build is now using gcc 4.8.1 instead of gcc 4.6.2
  • IMPORTANT: Textures and sounds will be loaded asynchronously on all platforms, by default
  • IMPORTANT: Added orxThread_RunTask() to run asynchronous tasks
  • IMPORTANT: Orx's API (beside orxThread module) is *NOTthread safe (don't use it inside tasks)
  • IMPORTANT: Added orxFile_GetApplicationSaveDirectory() (and orxFile_GetHomeDirectory())
  • IMPORTANT: Android native version is back!
  • IMPORTANT: Added immediate command evaluation in config, using % as line prefix
  • Added support for insert/overwrite modes in console
  • Profiler display supports multi-threading: PageUp/PageDown to navigate between threads
  • Added support for Bezier curves (orxVector_Bezier())
  • Added orxVIEWPORT_EVENT_RESIZE
  • Added nameless key inheritance (@.MyKey) to config
  • Added orxDisplay_SetTempBitmap() to control temporary bitmap used for objects while their texture is being loaded
  • Rewrote objectbodyphysics communication with cleaner&better parenting/time-stretching support
  • Added 'Immediate' config property to timeline tracks
  • Fixed a bug in orxFontGen regarding advance scaling and ascender
  • Updated OpenAL-Soft
  • OpenAL-Soft's thread is paused on Android when application is in the background
  • orxFile_Open() will now create missing intermediate directories when used with a write mode
  • Added orxFile_Remove() and orxFile_MakeDirectory()
  • Removed SOIL dependency (use stb_image & co instead)
  • Command Texture.Save can now either take a Texture (ID) or a name as argument
  • Command Object.FindNext can now accept the character as first argument to consider all objects
  • Added a bunch of new commands
  • Misc fixes, optimizations and additions

New in Orx 1.5 (Apr 29, 2014)

  • IMPORTANT: Fixed screen saving in GLFW display plugin (affected screenshot feature as well)
  • IMPORTANT: Added flip & animation support for text objects
  • IMPORTANT: Added config property AutoResize to Viewport
  • IMPORTANT: Added config property BackgroundAlpha to Viewport
  • IMPORTANT: orxOBJECT_EVENT_ENABLE/_DISABLE are now only sent if there's an actual change of status
  • IMPORTANT: Added virtual keyboard support for Android + orxKeyboard_Show()
  • Improved orxFontGen's font generation when used in compressed/filtered textures
  • Android: a few refactoring & fixes
  • Added orxOBJECT_EVENT_PAUSE/_UNPAUSE events
  • Added random seeds accessors (useful for backup & restore purposes in replays, for example)
  • Added orxString_IsCharacterAlphaNumeric()
  • Added orxAnimSet_FindNextAnim() to peek at next anim in queue
  • Added orxBody_GetJointReactionForce()/orxBody_GetJointReactionTorque()
  • Fixed a bug in hotreload of timeline tracks
  • Fixed rare bug in orxObject_GetChild()/orxObject_GetSibling()
  • Misx fixes, optimizations and additions

New in Orx 1.0 RC1 Build 1506 (Jun 20, 2009)

  • Migrated all SFML plugins on all platforms to SFML 1.5: linux was using SFML 1.3, other platforms were using SFML 1.4
  • Fixed the reload of config history: logic was broken and it could even crash.
  • Physics plugin now can handle negative scales (mirror effect).
  • Fixed spawner not using scale when setting spawned object's relative speed
  • Added orxLOG_CONSOLE(), orxLOG_FILE() and orxLOG_RAW() helpers.
  • Config section are not allowed anylonger to have leading or trailing spaces + trimmed all requests accordingly.
  • Fixed spawner wave timestamp not being correctly cleared when a spawner was reset.
  • Removed obsolete files.
  • Misc minor updates in comments/doc files.

New in Orx 1.0 RC0 Build 1460 (May 18, 2009)

  • Added MacOS X support
  • Added generic input system
  • Added fragment (pixel) shader support
  • Much much more!

New in Orx 0.9.1 (Oct 22, 2008)

  • Added more config file controls (section.key referring, file include, automatic encryption, filtered save, ...)
  • Engine will now compile/link out-of-the-box when using the externlibs package
  • Easy UI object placing through config file (helps supporting mulitiple aspect ratio)
  • Simplified release/debug plugin handling (no need to specify to separate sets of plugins anymore)
  • Added orxSPAWNER that can creates wavec of objects (configurable from config file)
  • Added LifeTime support for objects (makes particles and FXs easy to handle, fire-and-forget style)
  • Added mouse cursor control (move + hide/show)
  • Added windows decoration control through config files
  • Added sound spacialization with listeners
  • Added priorities for clock callbacks
  • Enhanced clock ticks (no more precision degradation after some hours)
  • Added more events for creation/run/destructions of orxOBJECT, orxFX, orxSOUND, ...
  • Added names from config files for most of objects (helps debugging and sorting in event handlers)
  • Added new blend modes: add and multiply (only alpha blending was previously supported)
  • Added oriented bounding box module (and completed previous axis aligned box and vector modules)
  • Fixed display bug that made scrolling (and movement) not completetly smooth
  • Added some debug code to help tracking wrong user allocation/free requests
  • Added lot of error messages (300+) that should cover most of failure cases (thanks to M1SF17)
  • Doxygen doc is warning free now
  • Some speed optimizations
  • Some bug fixes