diff --git a/AUTHORS b/AUTHORS index 64c17942e..8ac1c056b 100644 --- a/AUTHORS +++ b/AUTHORS @@ -75,9 +75,11 @@ Orx authors: Fritz 'acksys' Mahnke Grey Hezekiah 'hcarty' Carty + Jonas Ohrn Kevin Watters Konrad 'Graag' Klimaszewski OneArb Ray Yee Sergei Gnezdov Wayne 'Sausage' Johnson + Kristoffer 'Znakeye' diff --git a/CHANGELOG b/CHANGELOG index 415dbd382..3874a2fb3 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -1,6 +1,65 @@ Orx - Portable Game Engine ========================== +orx 1.12 +----- +* IMPORTANT: orxCLOCK_TYPE, orxClock_FindFirst & orxClock_FindNext have been removed, use newly added orxClock_Get(orxCLOCK_KZ_CORE) to retrieve the core clock +* IMPORTANT: Clock modifiers can now be stacked & defined in config, replaced ModifierType/ModifierValue with ModifierList, added new modifier orxCLOCK_MODIFIER_AVERAGE, command/config modifier values are now expressed in seconds (formerly Hz) +* IMPORTANT: Clock's fixed modifier now accept -1 to match the clock's frequency if defined (new default behavior) +* IMPORTANT: Clock's frequency now accept 'display' as value to match display's refresh rate at anytime (new default behavior) +* IMPORTANT: Retired Clock.MainClockFrequency property in favor of core properties being defined inside the core clock's section +* IMPORTANT: orxSTRINGID: 32bit CRCs have been replaced with 64bit Hashes, orxString_[N]ToCRC() -> orxString_[N]Hash() (orxString_CRC() has been kept as an alias to orxString_Hash()) +* IMPORTANT: Major speed & scalability improvements: from 65k to 16M concurrent objects in memory, complete rewrite of orxBANK module, object update rewrite, add support for early exit events handling, ... +* IMPORTANT: Added orxObject_GetNextEnabled() to iterate over enabled objects (with or without grouping) +* IMPORTANT: Spherical vector's Phi component has been shifted by -Pi/2 for convenience (Phi=0 now matches Z=0), similar to azimuth/longitude +* IMPORTANT: Viewport's config properties RelativePosition/RelativeSize have now been folded into Position/Size with the addition of UseRelativeSize +* IMPORTANT: Spawners now only track children when an active limit or CleanOnDelete has be set on them (optimization) +* IMPORTANT: Spawner's UseRelativeSpeed property can now be 'false', 'spawner' (similar to former true), 'object' or 'both'/'true' +* IMPORTANT: Objects with a valid animation set will now use the first anim's first frame as default Graphic when none is provided +* IMPORTANT: orxObject_GetChild()/orxObject_GetSibling() now filter out non-object structures (camera, spawner, ...), added orxObject_GetNextChild() to access non-objects structures in a hierarchy +* IMPORTANT: Added JoyIDList config property for generic inputs definition (JoyIDList = 1 # 2 + JOY_A = Action <=> JOY_A_1 = Action + JOY_A_2 = Action) +* IMPORTANT: Reworked Android build pipeline which doesn't require separate ndk build calls any longer +* IMPORTANT: Added complete support for joysticks on Android-Native +* IMPORTANT: orxMemory_Reallocate() now takes an extra orxMEMORY_TYPE parameter +* IMPORTANT: orxInput_GetMultiplier() now returns a negative value if the input isn't found +* IMPORTANT: New video mode event will now containt the actual real refresh rate while the config property Display.RefreshRate will contain the requested one (switching from fullscreen to windowed and back will now retain the desired refresh rate) +* IMPORTANT: Both boundaries for orxMath_GetSteppedRandomFloat() are now inclusive +* IMPORTANT: Replaced freeglut3 with mesaGL dependency on Linux + +* Added color literals for all HTML web colors (can be modified/expanded directly inside the Color config section), can be used for Object, Graphic & FX Color values +* Added color space conversion commands: From[RGB|HSL|HSV]To[RGB|HSL|HSV] +* Added suport for mouse cursor grab with orxMouse_Grab() function, Mouse.Grab command & Mouse.Grab config property +* Added config property SphericalPosition for objects (only used if Position isn't defined) +* Added optional extension for Nuklear to Init script + C/C++ language selection option +* Improved variable DT handling in LiquidFun plugin's physics simulation update (fixed micro-stuttering) +* Physics interpolation is now on by default when a simulation step is provided +* Replaced dlmalloc with rpmalloc (+ memory alignment has changed from 8 to 16 bytes) +* Added recursive versions of orxObject_ functions AddTimeLineTrack(), Add[Unique][Delayed]FX(), AddShader(), RemoveShader(), RemoveFX() & RemoveTimeLineTrack() +* Added FrameIndex config property to animation frames: when defined the frame's TextureOrigin will be computed using this value along the animation's FrameSize & Direction, when defined for file-based animation, it's used a a suffix +* Added support for empty animation in config using the 'empty' keyword (ex. MyAnim = empty) +* Added support for resetting target animation in Object.SetAnim command (by using an empty name) +* Added optional recursive parameter for Object. commands: SetAnimFrequency, AddTrack, AddFX, AddShader, RemoveShader, RemoveFX & RemoveTrack +* FrameSize for single frame animations will now default to TextureSize +* A child object's owner is now available during its creation (set in the prepare phase) +* Supports up to 25 buttons for joysticks (previously 16) +* Added multiple maths commands (random, vectors, cartesian/spherical, ...) +* Fixed LiquidFun physics plugin not taking dimension ratio into account in orxPhysics_ApplyForce() +* Fixed issue in contact handlin in LiquidFun physics plugin when too many contacts were added/removed within the same frame +* Null step value is now accepted when retrieving random vectors (ie. all components are unconstrained) +* Added orxSpawner_SetNextWaveDelay() +* Added orxGraphic_Clone() +* Removed all calls to glFinish() in GLFW display plugin +* Many fixes and improvements for multiple animation edge use cases +* Each input can now support up to 16 bindings (previously 8) +* Added commands Input.HasBeenActivated & Input.HasBeenDeactivated +* Added Dummy Physics plugin when physics isn't needed +* Misc fixes when exiting/re-initializing orx within the same process +* Added support for volume keys inputs to Android +* Better support for ORX environment variable definition in setup script on OSX/Linux (including ZSH & fish) +* Updated Dear ImGUI to 1.83 WIP/docking, stb_image_write from 1.02 to 1.15 & stb_image 2.12 to 2.26 +* JPEG is now supported when saving an image +* Misc fixes, optimizations and additions + orx 1.11 ----- * IMPORTANT: Init script now support optional extensions through templates: current available extensions are Scroll, Dear ImGui and orxArchive diff --git a/README.html b/README.html index 6b1e4b3a6..4153affe9 100644 --- a/README.html +++ b/README.html @@ -1,10 +1,6 @@ README

Join the chat on https://orx-project.org/discord -Travis build -Build status

+README

Join the chat on https://orx-project.org/discord +Travis build +Build status

-Orx - Portable Game Engine (Version 1.11)

+Orx - Portable Game Engine (Version 1.12)

Email iarwain [at] orx-project.org to contact the author; or, better, check orx's homepage for the most up-to-date contact information. You can also come chat with us @@ -745,7 +994,7 @@

Summary

Orx is a 2D-oriented, data-driven, portable game engine focused primarily on ease of use and powerful features. See below for a list of supported platforms.

-

This is a release candidate for orx v1.11. If you find any bugs, +

This is a release candidate for orx v1.12. If you find any bugs, please report them on the forum, in the "Bug report - Feature request" board, or via orx's issue page/tracker.

Some notable features of the engine are:

@@ -838,59 +1087,59 @@

Here is a list with a small description for each package.

  • -orx-doc-1.11.zip : orx's API doxygen documentation
  • +orx-doc-1.12.zip : orx's API doxygen documentation
  • -orx-src-1.11.zip : orx's source code, ready for compile after running the setup script
  • +orx-src-1.12.zip : orx's source code, ready for compile after running the setup script
  • -orx-dev-linux32-1.11.tar.bz2 : dynamic embedded binaries for Linux (x86), release/profile/debug + tools.
  • +orx-dev-linux32-1.12.tar.bz2 : dynamic embedded binaries for Linux (x86), release/profile/debug + tools.
  • -orx-dev-linux64-1.11.tar.bz2 : dynamic embedded binaries for Linux (x86-64), release/profile/debug + tools.
  • +orx-dev-linux64-1.12.tar.bz2 : dynamic embedded binaries for Linux (x86-64), release/profile/debug + tools.
  • -orx-dev-mac-1.11.zip : dynamic embedded binaries for MacOS X (x86/x86-64), release/profile/debug + tools.
  • +orx-dev-mac-1.12.zip : dynamic embedded binaries for MacOS X (x86/x86-64), release/profile/debug + tools.
  • -orx-dev-mingw-32-1.11.zip : dynamic embedded binaries for Windows (mingw/x86), release/profile/debug + tools.
  • +orx-dev-mingw-32-1.12.zip : dynamic embedded binaries for Windows (mingw/x86), release/profile/debug + tools.
  • -orx-dev-mingw-64-1.11.zip : dynamic embedded binaries for Windows (mingw/x86-64), release/profile/debug + tools.
  • +orx-dev-mingw-64-1.12.zip : dynamic embedded binaries for Windows (mingw/x86-64), release/profile/debug + tools.
  • -orx-dev-vs2015-32-1.11.zip : dynamic embedded binaries for Windows (Visual Studio 2015, x86), release/profile/debug + tools.
  • +orx-dev-vs2015-32-1.12.zip : dynamic embedded binaries for Windows (Visual Studio 2015, x86), release/profile/debug + tools.
  • -orx-dev-vs2015-64-1.11.zip : dynamic embedded binaries for Windows (Visual Studio 2015, x86-64), release/profile/debug + tools.
  • +orx-dev-vs2015-64-1.12.zip : dynamic embedded binaries for Windows (Visual Studio 2015, x86-64), release/profile/debug + tools.
  • -orx-dev-vs2017-32-1.11.zip : dynamic embedded binaries for Windows (Visual Studio 2017, x86), release/profile/debug + tools.
  • +orx-dev-vs2017-32-1.12.zip : dynamic embedded binaries for Windows (Visual Studio 2017, x86), release/profile/debug + tools.
  • -orx-dev-vs2017-64-1.11.zip : dynamic embedded binaries for Windows (Visual Studio 2017, x86-64), release/profile/debug + tools.
  • +orx-dev-vs2017-64-1.12.zip : dynamic embedded binaries for Windows (Visual Studio 2017, x86-64), release/profile/debug + tools.
  • -orx-dev-vs2019-32-1.11.zip : dynamic embedded binaries for Windows (Visual Studio 2019, x86), release/profile/debug + tools.
  • +orx-dev-vs2019-32-1.12.zip : dynamic embedded binaries for Windows (Visual Studio 2019, x86), release/profile/debug + tools.
  • -orx-dev-vs2019-64-1.11.zip : dynamic embedded binaries for Windows (Visual Studio 2019, x86-64), release/profile/debug + tools.
  • +orx-dev-vs2019-64-1.12.zip : dynamic embedded binaries for Windows (Visual Studio 2019, x86-64), release/profile/debug + tools.
  • -orx-full-ios-1.11.zip : static embedded binaries for iOS, release/profile/debug, simulator/device + doc + source + XCode project file.
  • +orx-full-ios-1.12.zip : static embedded binaries for iOS, release/profile/debug, simulator/device + doc + source + XCode project file.
  • -orx-dev-android-1.11.zip : static embedded binaries for Android, release/profile/debug (device).
  • +orx-dev-android-1.12.zip : static embedded binaries for Android, release/profile/debug (device).
  • -orx-dev-android-native-1.11.zip : static embedded binaries for Android Native, release/profile/debug (device).
  • +orx-dev-android-native-1.12.zip : static embedded binaries for Android Native, release/profile/debug (device).
  • -orx-tutorial-linux32-1.11.tar.bz2 : tutorials for Linux (x86)
  • +orx-tutorial-linux32-1.12.tar.bz2 : tutorials for Linux (x86)
  • -orx-tutorial-linux64-1.11.tar.bz2 : tutorials for Linux (x86-64)
  • +orx-tutorial-linux64-1.12.tar.bz2 : tutorials for Linux (x86-64)
  • -orx-tutorial-mac-1.11.zip : tutorials for MacOS X (x86/x86-64)
  • +orx-tutorial-mac-1.12.zip : tutorials for MacOS X (x86/x86-64)
  • -orx-tutorial-mingw-32-1.11.zip : tutorials for Windows (mingw/x86)
  • +orx-tutorial-mingw-32-1.12.zip : tutorials for Windows (mingw/x86)
  • -orx-tutorial-mingw-64-1.11.zip : tutorials for Windows (mingw/x86-64)
  • +orx-tutorial-mingw-64-1.12.zip : tutorials for Windows (mingw/x86-64)
  • -orx-tutorial-vs2015-32-1.11.zip : tutorials for Windows (Visual Studio 2015, x86)
  • +orx-tutorial-vs2015-32-1.12.zip : tutorials for Windows (Visual Studio 2015, x86)
  • -orx-tutorial-vs2015-64-1.11.zip : tutorials for Windows (Visual Studio 2015, x86-64)
  • +orx-tutorial-vs2015-64-1.12.zip : tutorials for Windows (Visual Studio 2015, x86-64)
  • -orx-tutorial-vs2017-32-1.11.zip : tutorials for Windows (Visual Studio 2017, x86)
  • +orx-tutorial-vs2017-32-1.12.zip : tutorials for Windows (Visual Studio 2017, x86)
  • -orx-tutorial-vs2017-64-1.11.zip : tutorials for Windows (Visual Studio 2017, x86-64)
  • +orx-tutorial-vs2017-64-1.12.zip : tutorials for Windows (Visual Studio 2017, x86-64)
  • -orx-tutorial-vs2019-32-1.11.zip : tutorials for Windows (Visual Studio 2019, x86)
  • +orx-tutorial-vs2019-32-1.12.zip : tutorials for Windows (Visual Studio 2019, x86)
  • -orx-tutorial-vs2019-64-1.11.zip : tutorials for Windows (Visual Studio 2019, x86-64)
  • +orx-tutorial-vs2019-64-1.12.zip : tutorials for Windows (Visual Studio 2019, x86-64)

All the *-dev-* packages above include:

    diff --git a/README.md b/README.md index a624b73d5..e2a170b96 100644 --- a/README.md +++ b/README.md @@ -2,7 +2,7 @@ [![Travis build](https://travis-ci.org/orx/orx.svg?branch=master)](https://travis-ci.org/orx/orx) [![Build status](https://ci.appveyor.com/api/projects/status/alwm4il7x1w6g1o4?svg=true)](https://ci.appveyor.com/project/iarwain/orx) -Orx - Portable Game Engine (Version 1.11) +Orx - Portable Game Engine (Version 1.12) ======================================== @@ -21,7 +21,7 @@ Summary [Orx](https://orx-project.org) is a 2D-oriented, data-driven, portable game engine focused primarily on ease of use and powerful features. See below for a list of supported platforms. -This is a release candidate for orx v1.11. If you find any bugs, +This is a release candidate for orx v1.12. If you find any bugs, please report them on the [forum](https://forum.orx-project.org), in the "Bug report - Feature request" board, or via orx's [issue page/tracker](https://bitbucket.org/orx/orx/issues?status=new&status=open). @@ -123,33 +123,33 @@ Packages You can download all the packages from [sourceforge](https://sf.net/projects/orx) or [github](https://github.com/orx/orx/releases). Here is a list with a small description for each package. -- `orx-doc-1.11.zip` : orx's API doxygen documentation -- `orx-src-1.11.zip` : orx's source code, ready for compile after running the setup script -- `orx-dev-linux32-1.11.tar.bz2` : dynamic embedded binaries for Linux (x86), release/profile/debug + tools. -- `orx-dev-linux64-1.11.tar.bz2` : dynamic embedded binaries for Linux (x86-64), release/profile/debug + tools. -- `orx-dev-mac-1.11.zip` : dynamic embedded binaries for MacOS X (x86/x86-64), release/profile/debug + tools. -- `orx-dev-mingw-32-1.11.zip` : dynamic embedded binaries for Windows (mingw/x86), release/profile/debug + tools. -- `orx-dev-mingw-64-1.11.zip` : dynamic embedded binaries for Windows (mingw/x86-64), release/profile/debug + tools. -- `orx-dev-vs2015-32-1.11.zip` : dynamic embedded binaries for Windows (Visual Studio 2015, x86), release/profile/debug + tools. -- `orx-dev-vs2015-64-1.11.zip` : dynamic embedded binaries for Windows (Visual Studio 2015, x86-64), release/profile/debug + tools. -- `orx-dev-vs2017-32-1.11.zip` : dynamic embedded binaries for Windows (Visual Studio 2017, x86), release/profile/debug + tools. -- `orx-dev-vs2017-64-1.11.zip` : dynamic embedded binaries for Windows (Visual Studio 2017, x86-64), release/profile/debug + tools. -- `orx-dev-vs2019-32-1.11.zip` : dynamic embedded binaries for Windows (Visual Studio 2019, x86), release/profile/debug + tools. -- `orx-dev-vs2019-64-1.11.zip` : dynamic embedded binaries for Windows (Visual Studio 2019, x86-64), release/profile/debug + tools. -- `orx-full-ios-1.11.zip` : static embedded binaries for iOS, release/profile/debug, simulator/device + doc + source + XCode project file. -- `orx-dev-android-1.11.zip` : static embedded binaries for Android, release/profile/debug (device). -- `orx-dev-android-native-1.11.zip` : static embedded binaries for Android Native, release/profile/debug (device). -- `orx-tutorial-linux32-1.11.tar.bz2` : tutorials for Linux (x86) -- `orx-tutorial-linux64-1.11.tar.bz2` : tutorials for Linux (x86-64) -- `orx-tutorial-mac-1.11.zip` : tutorials for MacOS X (x86/x86-64) -- `orx-tutorial-mingw-32-1.11.zip` : tutorials for Windows (mingw/x86) -- `orx-tutorial-mingw-64-1.11.zip` : tutorials for Windows (mingw/x86-64) -- `orx-tutorial-vs2015-32-1.11.zip` : tutorials for Windows (Visual Studio 2015, x86) -- `orx-tutorial-vs2015-64-1.11.zip` : tutorials for Windows (Visual Studio 2015, x86-64) -- `orx-tutorial-vs2017-32-1.11.zip` : tutorials for Windows (Visual Studio 2017, x86) -- `orx-tutorial-vs2017-64-1.11.zip` : tutorials for Windows (Visual Studio 2017, x86-64) -- `orx-tutorial-vs2019-32-1.11.zip` : tutorials for Windows (Visual Studio 2019, x86) -- `orx-tutorial-vs2019-64-1.11.zip` : tutorials for Windows (Visual Studio 2019, x86-64) +- `orx-doc-1.12.zip` : orx's API doxygen documentation +- `orx-src-1.12.zip` : orx's source code, ready for compile after running the setup script +- `orx-dev-linux32-1.12.tar.bz2` : dynamic embedded binaries for Linux (x86), release/profile/debug + tools. +- `orx-dev-linux64-1.12.tar.bz2` : dynamic embedded binaries for Linux (x86-64), release/profile/debug + tools. +- `orx-dev-mac-1.12.zip` : dynamic embedded binaries for MacOS X (x86/x86-64), release/profile/debug + tools. +- `orx-dev-mingw-32-1.12.zip` : dynamic embedded binaries for Windows (mingw/x86), release/profile/debug + tools. +- `orx-dev-mingw-64-1.12.zip` : dynamic embedded binaries for Windows (mingw/x86-64), release/profile/debug + tools. +- `orx-dev-vs2015-32-1.12.zip` : dynamic embedded binaries for Windows (Visual Studio 2015, x86), release/profile/debug + tools. +- `orx-dev-vs2015-64-1.12.zip` : dynamic embedded binaries for Windows (Visual Studio 2015, x86-64), release/profile/debug + tools. +- `orx-dev-vs2017-32-1.12.zip` : dynamic embedded binaries for Windows (Visual Studio 2017, x86), release/profile/debug + tools. +- `orx-dev-vs2017-64-1.12.zip` : dynamic embedded binaries for Windows (Visual Studio 2017, x86-64), release/profile/debug + tools. +- `orx-dev-vs2019-32-1.12.zip` : dynamic embedded binaries for Windows (Visual Studio 2019, x86), release/profile/debug + tools. +- `orx-dev-vs2019-64-1.12.zip` : dynamic embedded binaries for Windows (Visual Studio 2019, x86-64), release/profile/debug + tools. +- `orx-full-ios-1.12.zip` : static embedded binaries for iOS, release/profile/debug, simulator/device + doc + source + XCode project file. +- `orx-dev-android-1.12.zip` : static embedded binaries for Android, release/profile/debug (device). +- `orx-dev-android-native-1.12.zip` : static embedded binaries for Android Native, release/profile/debug (device). +- `orx-tutorial-linux32-1.12.tar.bz2` : tutorials for Linux (x86) +- `orx-tutorial-linux64-1.12.tar.bz2` : tutorials for Linux (x86-64) +- `orx-tutorial-mac-1.12.zip` : tutorials for MacOS X (x86/x86-64) +- `orx-tutorial-mingw-32-1.12.zip` : tutorials for Windows (mingw/x86) +- `orx-tutorial-mingw-64-1.12.zip` : tutorials for Windows (mingw/x86-64) +- `orx-tutorial-vs2015-32-1.12.zip` : tutorials for Windows (Visual Studio 2015, x86) +- `orx-tutorial-vs2015-64-1.12.zip` : tutorials for Windows (Visual Studio 2015, x86-64) +- `orx-tutorial-vs2017-32-1.12.zip` : tutorials for Windows (Visual Studio 2017, x86) +- `orx-tutorial-vs2017-64-1.12.zip` : tutorials for Windows (Visual Studio 2017, x86-64) +- `orx-tutorial-vs2019-32-1.12.zip` : tutorials for Windows (Visual Studio 2019, x86) +- `orx-tutorial-vs2019-64-1.12.zip` : tutorials for Windows (Visual Studio 2019, x86-64) All the `*-dev-*` packages above include: diff --git a/code/demo/iOS/ReadMe-iOS.html b/code/demo/iOS/ReadMe-iOS.html index 7d71cce2a..a4f59a4b1 100644 --- a/code/demo/iOS/ReadMe-iOS.html +++ b/code/demo/iOS/ReadMe-iOS.html @@ -1,10 +1,6 @@ ReadMe-iOS

    -Orx - Portable Game Engine (Version iOS 1.11)

    +Orx - Portable Game Engine (Version iOS 1.12)

Email iarwain [at] orx-project -dot- org to contact the author; or better, check orx's homepage for the most up-to-date contact information. You can also come chat with us diff --git a/code/demo/iOS/ReadMe-iOS.md b/code/demo/iOS/ReadMe-iOS.md index ba2c2e843..ca3526df5 100644 --- a/code/demo/iOS/ReadMe-iOS.md +++ b/code/demo/iOS/ReadMe-iOS.md @@ -1,4 +1,4 @@ -Orx - Portable Game Engine (Version iOS 1.11) +Orx - Portable Game Engine (Version iOS 1.12) ================================================ Email iarwain [at] orx-project -dot- org to contact the author; or better, check