Releases: elnormous/ouzel
Releases · elnormous/ouzel
Version 0.40-alpha
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
Version 0.39-alpha
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
Version 0.38-alpha
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
Version 0.37-alpha
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
Version 0.36-alpha
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
Version 0.35-alpha
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
Version 0.34-alpha
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
Version 0.33-alpha
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
Version 0.32-alpha
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
Version 0.31-alpha
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