Ouzel Versions Save

C++ game engine for Windows, macOS, Linux, iOS, tvOS, Android, and web browsers

v0.40-alpha

5 years ago

This version contains the following new features and fixes:

  • Gamepads are now supported on Linux
  • International keyboards now report correct scan codes on Windows
  • OpenGL renderer now works on macOS Mojave
  • Debug markers can now be used with OpenGL
  • The anisotropic filter is now supported for OpenGL 4.6 and above
  • float32 samples are now supported in OpenAL audio backend
  • Every input device now has its own class (e.g. Mouse, Keyboard, Gamepad etc.)
  • Added support for multiple keyboards and mice on Linux
  • Back buttons are now handled correctly on Android, iOS, and tvOS (they close the application if the user returns false from the keyboard handler)
  • Implemented input device connect/disconnect events
  • Emscripten target now supports touchpads
  • Implemented scroll and touch events on ARM Linux
  • The current executable path is now being detected correctly on Windows 10
  • Fixed the numpad key support
  • Power, media, volume, application, AC, and Japanese key scan codes are now reported
  • Lots of smaller bug fixes

v0.39-alpha

5 years ago

New features in this release:

  • Remade the renderer so that all the graphics commands are executed immediately on the graphics thread
  • The window is now centered on Linux
  • The cursor is now hidden properly on macOS
  • ARM (Raspbian) and x86 Linux code is now merged into a single code base
  • Ouzel now uses exceptions for error handling
  • Emscripten target now supports fullscreen
  • Long filenames (longer than PATH_MAX) are now supported on Windows
  • Update thread can now be forced to wait on v-sync instead of running continuously
  • Resources can (and must) now be loaded and unloaded in bundles
  • Touch events are now supported on macOS
  • A bunch of other small fixes and improvements

v0.38-alpha

6 years ago

Fixes and new features in this release:

  • Implemented exclusive fullscreen support on macOS (Metal and OpenGL) and Windows (D3D11)
  • Now it is possible to execute code on the update thread
  • Touch force on iOS and Android is now supported
  • Implemented supported resolution getter on macOS and Linux
  • Now XDG_DATA_HOME is used to get the home directory on Linux
  • Android orientation change events are now being dispatched
  • Implemented v-sync support for Emscripten target
  • Fixed URL opening on Android
  • True type fonts are now supported
  • Non-resizable windows are now supported on Linux
  • Implemented basic material support
  • Added mesh renderer
  • Implemented pluggable asset loading system
  • Implemented.mtl and .obj loaders (added a 3D box to the perspective sample)
  • System keys are now supported on Windows
  • Custom JSON and XML parsers
  • Unsigned integer uniforms are now supported by the OpenGL renderer (if supported by the hardware)
  • Back buttons are now handled on Android, iOS (gamepads), and tvOS
  • Added support for the HoriPad Ultimate and Acme GA07 gamepads
  • zip file archives are now supported
  • Menus now work correctly when controlled with gamepads
  • Fixed race condition when running code on the main thread of macOS, iOS, and tvOS
  • Sprite animations are now seekable
  • Improved the Makefiles so that make can now be run from any directory
  • Fixed MinGW build
  • Raspbian is now selected as a default target when running make on ARM Linux
  • Replace Ant build scripts with Gradle scripts for Android
  • Lots of other small bugfixes

v0.37-alpha

6 years ago

This version contains the following new features and fixes:

  • ALSA audio backend
  • Software audio mixer with a mixer graph functionality
  • Implemented task execution on Android GUI thread
  • Screenshots can now be disabled on Android
  • Hidden cursor can now be shown again for Emscripten target
  • Added support for Vorbis audio
  • Added support for float PCM wav files
  • Implemented face culling
  • Rendering is now being done on separate threads on iOS, tvOS and Android
  • Added material support to Sprite class
  • MFI controllers are now supported on macOS
  • GamePads' menu button is now handled my Ouzel engine on iOS and tvOS
  • Render target clear depth can now be configured
  • Left shift, right shift, left alt and right alt are now handled separately on Windows and Emscripten
  • V-sync can now be disabled on iOS and tvOS
  • iOS and tvOS targets can now be built with make
  • Gamma correction performance improvements by using a lookup table
  • OpenGL context is now being recreated after losing it on Android
  • Added touch support to Linux target
  • Needed submodules can now be configured through Config.h

v0.36-alpha

6 years ago

New features in this release:

  • Implemented INI file parser and encoder
  • Implemented automatic Engine initialization, settings are being read from settings.ini
  • Added RESET and FINISH events that are being posted when animation ends or is being reset
  • Added support for dynamic texture upload for Direct3D 11
  • Implemented pitch and volume control for DirectSound audio backend
  • Implemented control, shift, alt and command button state change events on macOS
  • Audio and graphics backends can now be disabled in CompileConfig.h
  • Added OpenGL 4 support
  • Fixed lots of crashes that happened sometimes when the engine exited
  • Implemented screenshot capturing for Direct3D 11 with MSAA enabled
  • Now system-wide or user-specific AppData directory can be retrieved on Windows and macOS
  • Implemented AppData and temporary directory getter for Linux, Raspbian, Android, iOS, and tvOS
  • Fixed OpenGL screenshot capturing
  • Fixed OBF string encoding
  • Fixed a bug that caused the widgets not being added to menu after the removal from it
  • Small bug fixes, memory leak fixes and optimizations for Metal and Direct3D renderers

v0.35-alpha

6 years ago

New features and bug fixes in this release:

  • Gamepad support for Emscripten target
  • Customizable hardware cursor support on Windows, macOS, and Linux
  • Added support for custom camera projection
  • Implemented frustum culling for 3D objects
  • Added color write mask to blend stat
  • Added MinGW and Cygwin support to Ouzel Makefile
  • Implemented screensaver disabling on X11
  • Now touch functionality is fully implemented for Windows platform
  • Fixed a bug that caused the depth buffer to not be initialized for OpenGL 2 renderer on Linux
  • Fixed a bug that caused OpenGL resolution to not be updated on macOS retina displays
  • Now correct pixel formats are picked for OpenGL ES 2
  • Fixed a bug that caused the engine to crash on exit because of the incorrect release of sound resources
  • Lots of small performance improvements

v0.34-alpha

6 years ago

Fixes, optimizations, and new features in this release:

  • High DPI support on Windows
  • Now gamepad discovery is started automatically on iOS and tvOS
  • Color can now be constructed from strings like "#FFFFFF"
  • Shape renderer can now render lines with a specified thickness
  • Added helper for converting UTF-32 back to UTF-8
  • Now a console window is being created for debug builds on Windows
  • Now it is possible to disable or enable screensavers while Ouzel is running
  • Mip-map generation is now significantly faster
  • Scene nodes now can be passed as raw pointers or unique_ptr (to transfer ownership)
  • Engine now dispatches start/stop events when it begins/finishes running
  • Scissor rectangle can now be passed to Component's draw method
  • Textures can now have custom pixel format
  • Animators are now components
  • Now debug renderer can be enabled with a debugRenderer setting
  • Resource paths now can also be absolute and now a flag can be passed to search for resources in current directory only
  • Perspective projection is now being calculated correctly
  • Buffers are now being cleared in correct order and depth buffer clear flag is being respected
  • Now interval can be passed to UpdateCallback to call it with a specified frequency

v0.33-alpha

7 years ago

Fixes and new features in this release:

  • Added support for DirectInput gamepads on WIndows
  • Added support for IOKit gamepads on macOS
  • Now Metal renderer is using display link and not the MetalKit
  • Fixed memory leaks in D3D11 renderer
  • Fixed OpenGL render target support
  • Fixed a bug that caused the audio thread to start up too early
  • Lots of other small bug fixes

v0.32-alpha

7 years ago

Changes and new features in this release:

  • Ouzel is now using shared_ptr for scene classes
  • Implemented audio updating on a separate thread
  • Implemented Bezier curve drawing functionality into ShapeDrawable
  • Implemented listener position for OpenAL
  • Fixed Direct3D 10 support
  • Fixed OpenGL 2 support
  • Implemented mouse down modifiers for Emscripten, Linux and Raspbian targets
  • Fixed Emscripten mouse position detection
  • Implemented configurable texture wrap mode
  • Implemented cursor locking for macOS, Emscripten, X11 and Windows targets
  • Implemented OpenSL volume control

v0.31-alpha

7 years ago

Changes and new features:

  • OpenGL support for Windows
  • Anisotropic filtering for all render drivers
  • Now OpenGL renderer is initialized in JNI instead of Java
  • Now using glBufferSubData instead of buffer mapping, because it is faster
  • Fixed race conditions in Window class (now all the attributes are updated on game thread)
  • Reduced the size of memory used by graphics resources by uploading data in critical section
  • Allow using framebuffers only if framebuffer extension is present for OpenGL
  • Now the default OpenGL framebuffer is used for rendering
  • Add Doxygen documentation generator (generated documentation is available here: http://www.ouzelengine.org/docs/)
  • 3D sound support for OpenAL
  • Lots of other small bug fixes and improvements