v2.1.0
The 2.1.0 release is a major LTS
maintenance release, thanks to all contributers of axmol, especially
- @rh101 @DelinWorks @aismann : very activity in axmol github community
- @iAndyHD3 create and mantaining axmol discord server
- @danialias create and mantaining wiki pages and axmol.org home page, mantaining axmol reddit community
Significant changes relative to 2.0.0:
- Migrate Windows UWP from C++/CX to cppwinrt for c++20 codebase by @halx99
- Refactor Target Platforms Enums
- Update AGP to 8.2.1 Android Studio 2023.1.1+
- Update android API to 34
- Add support for enabling TTF SDF rendering globally by @halx99
- Add extension: SDFGen to generate prebaked font atlas by @halx99
- Add API:
FontAtlasCache::preloadFontAtlas
to support label SDF rendering with prebaked atlas by @halx99 - Add API
Device::getPixelRatio
by @halx99 - Add ImGui android DPI scaling support by @halx99
- Add winuwp FPS control support by @halx99
- Add API:
compressGZ
,decompressGZ
by @halx99 - Combine
backend::Device
andbackend::DeviceInfo
intobackend::DriverBase
by @halx99 - Improve axmol console scripts by @halx99
- Rebase main repo, repo size reduce from 1.1GB+ to ~80MB by @halx99
- Add simple cmake pkg manager aka
1k/fetch.cmake
to download all prebuilts,optionals,sample-assets at cmake config step - pkg config is in
$AX_ROOT/manifest.json
- Download cache dir is
$AX_ROOT/cache
- Also support simple mirror to gitee.com for china region via create a empty file name with
.gitee
in dir$AX_ROOT/1k/
- Add simple cmake pkg manager aka
- Add extension: JSONDefault by @sarooptech
- Add virtual file system support to WICImageLoader by @rh101
- Add support for Richtext vertical alignment by @rh101
- Add support for ActionCoroutine like Unity by @lich426
- Add API:
DrawNode::drawPie
by @aismann - Add support for window resized and positioned by @lich426
- Add extension: Inspector by @iAndyHD3
- Add experimental WebSocket support for both wasm and native platforms by @halx99 & @rh101
- Add extension: DrawNodeEx by @aismann
- Add fairygui lua support by @Samoongeer
- Enable Mat4 SSE Istructions acceleration by @halx99
- Add dotnet API styled class
JsonWriter
based on rapidjson by @halx99 - Add donation page
- Add multi UserDefault support by @armanhossiny
- Add fixedUpdate method to Scene by @lich426
Mark as deprecated, and will be removed in next release axmol-2.2.0
- 32bit build
- Extensions
- DragonBones
- GUI
- Zwoptex (Commented on cpp-test)
BugFixs
- Fix translated metal shader texture order does not follow GLSL binding order
- Fix GLES3 shader scalar array layout incorrect
- Fix Android ImGUI coord conversions
- Fix Lua build on windows
- Fix
axmol new
not support absolute path - Fix some ImGui issues
- Fix crash
- Fix wasm touch event not handle properly
- Fix add/remove render loop problem
- Fix wasm HelloLua/lua_tests error
- Fix wasm render system font aliasing problem, caused by incorrect premultiply alpha
- Fix text rendering layout incorrect due to kernings not multiply content scale factor
- Fix wasm RandomHelper always return 0 problem
- Fix label outline not work on metal graphics backend
- Fix command
axmol build
can't build android on macos - Fix cmake may geneate 2 targets for sync axslc folder
- Fix windows prebuilt cache issue
- Fix Lua
FileUtils getDataFromFile
may return path of file - Fix issue where RichText URL touch listener does not activate on touch by @rh101
- Fix for missing scripts and resources in lua tests project by @rh101
- Fix for UWP build issues by @rh101
- Fix UWP issues in
EditBoxWinRT
by @rh101 - Fix for TextField keyboard not opening on receiving focus on android by @rh101
- Fix plist data and version by @paulocoutinhox
- Fix build cannot correctly handle '-' on the project name
- Fix TMX Camera Culling by @DelinWorks
- Fix cmake project generation on platforms other than Android by @rh101
- Fix UILayout crash problem by @aismann
- Fix replace scene missing nullcheck for next scene by @armanhossiny
- Fix a crash caused by missing android view nullcheck by @Arvant
- Fix shader cache leak by @j-jorge
- Fix AXASSERT() not working with more complex msg arguments by @smilediver
- Fix assertion fail when re-create axmol imgui backend by @Samoongeer
- Fix AudioPlayer seek to incorrect frame after setTime invoked by @GuoliangWang
Improvements
- Improve
setup.ps1
, auto set windowspowershell.exe
execution policy toBypass
- Reduce memory usage when using getFileMD5Hash function by @rh101
- Improve install-pwsh.sh
- Apple platforms require cmake-3.28.0
- Rename
AX_USE_SHARED_PREBUILT
toBUILD_SHARED_LIBS
in AXLinkHelper.cmake - Rename GLFW view name to
axmol2
- Remove Apple Controller deprecated .gamePad check branch
- Remove dep: libzip-dev for linux
- Auto setup llvm for win32 target platform
- Optimize Label memory size, reduce 40 bytes
- Support adding custom properties to the inspector for derived types by @rh101
- Use std containers instead uthash
- Imgui and Inspector enhancements by @rh101
- [Android] Reset the OpenGL state cache if the context is lost by @rh101
- [Android] Fix corrupted FPS stats font textures on OpenGL context lost by @rh101
- Update Live2D to work with Axmol 2.x by @rh101
- [Android] Enable support for restarting application process if OpenGL context is lost by @rh101
- Make AxmolEditBox invisible by default by @rh101
- [UWP] Use Package to get app version information by @rh101
- Improve
class DrawNode
by @aismann - [CMake] Use execute_process instead of deprecated exec_program by @rh101
- Move fmt folder to Thirdparty folder within project by @rh101
- Remove duplicated libz for ios/tvos
- Improve info.plist for apple platforms by @paulocoutinhox
- Improve android build.gradle by @paulocoutinhox
- Fix large number of generated warnings by @rh101
- Add useful chipmunk function to
axmol's internal physics engine
by @DelinWorks - Replace 'CCAssert' with 'AXASSERT' by @aismann
- Improve the default templates by @aismann
- Call Android native renderer while opengl context is still valid by @rh101
- Make
FileUtils::openFileStream
a const method by @rh101 - Improve cmake scripts for managing 3rd libs
- Add
Get TMXTilesetInfo
by name support by @lich426 - Include hpp and c files in CMakeLists.txt of cpp template by @@lich426
- Improve gradle scripts, config each build-variants for easy add custom build-variant, refer #1571
- Allow to override AX_USE_COMPAT_GL from user's
CMakeLists.txt
by @smilediver - Fix android gradle AGP8 warnings, and rename keystore props:
- RELEASE_STORE_FILE ==> KEY_STORE_FILE
- RELEASE_KEY_STORE_PASSWORD ==> KEY_STORE_PASSWORD
- RELEASE_KEY_ALIAS ==> KEY_ALIAS
- RELEASE_KEY_PASSWORD ==> KEY_PASSWORD
- Enable template projects'
aidl
by default for In-app purchases by @armanhossiny
Break changes
- Rename glview to correct representative name:
OpenGLView
==>GLView
by @paulocoutinhox
3rdparties updates
- astcenc: 4.5.0 ==> 4.7.0
- c-ares: 1.19.1 ==> 1.25.0
- clipper2: 1.2.2 ==> 1.3.0
- curl: 8.2.1 ==> 8.5.0
- jpeg-turbo: 3.0.0 ==> 3.0.1
- llhttp: 9.0.1 ==> 9.1.3
- ntcvt: 1.0.0 ==> 1.0.1
- oboe: 1.7.0 ==> 1.8.0
- openssl: 3.0.10 ==> 3.0.12
- rapidjson: 1.0.0 ==> 1.0.0-b4a6da3
- simdjson(NEW): 3.6.3
- webp: 1.3.1 ==> 1.3.2
- yasio: 4.1.0 ==> 4.1.4
- fmt: 10.1.1 ==> 10.2.1
- imgui: 1.89.8 ==> 1.90.1
Notes:
- WASM require win8.1+ on windows
- Wiki & axmol.org home page by @danialias
- axmol reddit community by @danialias
MD5 Hash of the release artifacts
axmol-2.1.0.zip
: FC428D0E4F920920B3A4B6CB8FB316A0