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