Axmol Engine – A Multi-platform Engine for Desktop, XBOX (UWP) and Mobile games. (A radical fork of Cocos2d-x-4.0)
Go to file
halx99 afdb91651a Update thirdparties
- curl-7.82.0
- openssl-3.0.2
- luajit-c4fe76d
- libjpegturbo-2.1.3
2022-03-17 09:35:01 +08:00
.github Update genbindings-ci.yml 2022-02-24 18:55:19 +08:00
cmake [cmake] Rename BUILD_LUA_LIBS to AX_ENABLE_EXT_LUA 2022-02-17 21:31:39 +08:00
core Improve shader compatible 2022-03-13 13:07:58 +08:00
docs Update readme & copyright year 2022-02-24 20:34:24 +08:00
extensions Update README.md [skip ci] 2022-02-25 19:09:06 +08:00
templates Update project urls 2022-02-24 18:45:25 +08:00
tests Fix ci 2022-02-25 19:38:31 +08:00
thirdparty Update thirdparties 2022-03-17 09:35:01 +08:00
tools Sync lua bindings 2022-02-24 18:53:14 +08:00
.clang-format Fix some warnings 2021-10-09 13:48:56 +08:00
.gitattributes Restore prebuilt libs from git lfs storage 2021-06-06 10:16:44 +08:00
.gitignore Rename core folder name 2021-12-31 14:39:08 +08:00
APPENDIX.md Update readme files and changelog 2022-02-26 15:24:20 +08:00
AUTHORS Update AUTHORS 2016-07-26 21:55:06 +08:00
CHANGELOG Update readme files and changelog 2022-02-26 15:24:20 +08:00
CMakeLists.txt [cmake] Rename BUILD_LUA_LIBS to AX_ENABLE_EXT_LUA 2022-02-17 21:31:39 +08:00
CMakeOptions.md Create CMakeOptions.md 2022-02-24 20:50:58 +08:00
CONTRIBUTING.md rename contribute.md to contributing.md 2015-08-28 14:10:41 +08:00
LICENSE Update readme & copyright year 2022-02-24 20:34:24 +08:00
README.md Update readme files and changelog 2022-02-26 15:24:20 +08:00
README_CN.md Update readme files and changelog 2022-02-26 15:24:20 +08:00
install-deps-linux.sh Install linux dep 2021-09-20 17:13:40 +08:00
setup.py Rename core folder name 2021-12-31 14:39:08 +08:00

README.md

adxe

dev LICENSE Codacy Badge PRs Welcome

Windows Build Status Android Build Status iOS Build Status Linux Build Status macOS Build Status

This is another more radical fork of Cocos2d-x-4.0, it has Full Support OpenAL for all platforms, single texture multi GPU texture handler, C++ 17 and more! (see 'Highlighted Features' for more info).

View code with vscode online:

  • github1s
  • vscode.dev

简体中文

Purpose Summary

  • C++ 17
  • Focuses on native game dev (easy to use, fast deployment, intuitive)
  • Bugfixes ASAP

Highlighted Features

  • Improve windows workflow, support linking with engine prebuilt libs, read windows workflow guide
  • Windows video player support (based on microsoft media foundation)
  • Windows x64 build support
  • Reimplement HttpClient based on yasio for concorrent http requests processing.
  • clearer third-party libs 'Upstream-Version-License' for easier publishing of your commercial apps based on adxe. Also some links to third party libs which support adxe too.
  • Refactor AudioEngine, OpenAL for all platforms
    • OpenAL Soft, pass -DAX_USE_ALSOFT=ON to cmake to force enabling it
    • OpenAL.framework, if no AX_USE_ALSOFT option specified, cmake script will choose it on osx/ios, even though it was marked as deprecated, but still available.
  • Refactor UserDefault with mio
  • Modularize all optional extensions, move from engine core folder to an extensions folder
  • Implement all .wav formats supported by OpenAL Soft, such as MS-ADPCM, ADPCM, ...
  • Use a modern GL loader Glad
  • Google angle renderer backend support
  • C++ 17 standard
  • IOS SDK 9.0 as minimal deployment
  • Use fast pugixml
  • Use curl for transferring data with URL syntax
  • Use SAX parser for all plist files
  • Spine-3.8 support
  • Extension FairyGUI support
  • ASTC 4x4/6x6/8x8 support (if hardware decoding is not supported, then software decoding is used)
  • ETC2 RGB/RGBA support (if hardware decoding is not supported, then software decoding is used)
  • Supported 2D physics engines (see also APPENDIX.md):
    • Box2D
    • Box2D-optimized
    • Chipmunk2D
  • Supported 3D physics engines:
    • Bullet Physics SDK
  • ImGui 1.87 integrated, easy to write game embedded tools, very easy to use, read ImGui for more info

Read Full changes since cocos2d-x-4.0

Open APPENDIX.md for additional information and see Milestones for planed features too.

Quick Start

Common Requirement Python

  • Python-2.7.17+, Python-3.7+

Prerequisites

  1. Enter adxe root directory
  2. Run python setup.py, restart the console after it has finished for environment variables to take effect

Windows (64/32 bit Visual Studio 2019/2022)

  1. Install CMake 3.14+

  2. Install Visual Studio 2019/2022 (it's recommended that you only use these versions)

  3. Execute the following commands in a command line (Console, Window Terminal or Powershell)

    cd adxe

    • for 32 bit Visual Studio 2019: cmake -S . -B build -G "Visual Studio 16 2019" -A Win32
    • for 64 bit Visual Studio 2019: cmake -S . -B build -G "Visual Studio 16 2019" -A x64
    • for 32 bit Visual Studio 2022: cmake -S . -B build -G "Visual Studio 17 2022" -A Win32
    • for 64 bit Visual Studio 2022: cmake -S . -B build -G "Visual Studio 17 2022" -A x64

Build excecutable in a command line (e.g. cpp-tests): msbuild .\build\adxe.sln -target:cpp-tests -maxCpuCount

Android

  1. Install Android Studio 2021.1.1+
  2. When starting Android Studio for the first time, It will guide you to install the SDK and other tools, just install them
  3. Start Android and choose [Open an existing Android Studio Project] and select adxe\tests\cpp-tests\proj.android
  4. Start Android Studio and Open [Tools][SDKManager], then switch to SDK Tools, check the Show Package Details, choose the following tools and click the button Apply to install them:
    • Android SDK Platform 29 r5
    • Android SDK Build-Tools 29.0.2
    • NDK r19c+
    • CMake 3.10+
  5. Wait for Gradle sync finish.
  6. Note: If you use non-sdk provided CMake edition, you will need to download ninja from https://github.com/ninja-build/ninja/releases, and copy ninja.exe to cmake's bin directory

iOS

  1. Ensure xcode11+ & cmake3.21+ are installed, install cmake command line support: sudo "/Applications/CMake.app/Contents/bin/cmake-gui" --install

  2. Execute the following command
    sudo xcode-select -switch /Applications/Xcode.app/Contents/Developer

  3. Generate xcode project

    • for any device
      cmake -S . -B build -GXcode -DCMAKE_TOOLCHAIN_FILE=cmake/ios.mini.cmake
    • for arm64:
      cmake -S . -B build -GXcode -DCMAKE_TOOLCHAIN_FILE=cmake/ios.mini.cmake -DCMAKE_OSX_ARCHITECTURES=arm64
    • for armv7,arm64 combined:
      cmake -S . -B build -GXcode -DCMAKE_TOOLCHAIN_FILE=cmake/ios.mini.cmake "-DCMAKE_OSX_ARCHITECTURES=armv7;arm64"
    • for simulator x86_64:
      cmake -S . -B build -GXcode -DCMAKE_TOOLCHAIN_FILE=cmake/ios.mini.cmake -DCMAKE_OSX_ARCHITECTURES=x86_64
  4. After cmake finishes generating, you can open the xcode project at build folder and run cpp-tests or other test targets.

  5. Notes

    • The code signing is required to run the ios app on your device, just change the bundle identifier until the auto manage signing is solved
    • adxe only provides armv7, arm64, x86_64 prebuilt libraries for ios

New Project

  • Cpp: adxe new -p org.adxe.hellocpp -d D:\dev\projects\ -l cpp --portrait HelloCpp
  • Lua: adxe new -p org.adxe.hellolua -d D:\dev\projects\ -l lua --portrait HelloLua

Notes

  • ThreadLocalStorage (TLS)
    • ios x86 simulator ios>=10 and adxe no longer provide x86 libraries
    • ios x64 or devices (armv7, arm64) ios sdk>=9.0
    • the 'OpenAL Soft' maintained by kcat uses TLS

Contributing guide

https://github.com/adxeproject/adxe/discussions/411

The adxe Active Contributors

  • @halx99
  • @rh101
  • @aismann
  • @weiwest

Alt