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 7926f99655 Improve code style 2021-12-06 13:00:44 +08:00
.github Merge: b5e1e78417 53272c6532 2021-09-20 18:24:11 +08:00
cmake Always enable string pooling for msvc 2021-12-04 13:45:25 +08:00
cocos Improve code style 2021-12-06 13:00:44 +08:00
docs For doxgen happy 2021-07-06 15:22:07 +08:00
extensions change all setString(const std::string & ...) to setString(std::string_view ...) 2021-11-30 20:35:34 +01:00
templates Optimize cmake scripts 2021-10-12 15:39:37 +08:00
tests Improve performance on cpp-tests release version controlling COCOS2D_DEBUG 2021-12-01 15:03:57 +01:00
tools Fix #528 2021-10-27 10:27:46 +08:00
.appveyor.yml Merge: f36866a99b 313a2ac09b 2020-08-27 17:37:49 +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 Improve lua workflow on windows 2021-10-07 18:44:34 +08:00
.travis.yml Use pyenv manage python version for travis-ci (#229) 2020-10-07 22:45:05 +08:00
AUTHORS Init Commit 2019-11-23 20:27:39 +08:00
CHANGELOG Update CHANGELOG 2021-11-10 14:04:10 +08:00
CMakeLists.txt Merge empty project 2021-09-07 17:24:07 +08:00
CONTRIBUTING.md Init Commit 2019-11-23 20:27:39 +08:00
LICENSE Merge: 2aa2d69151 b7506fed0c 2021-04-23 00:01:47 +10:00
README.md Update README.md 2021-11-29 22:04:31 +08:00
README_CN.md Update README files 2021-11-09 15:59:17 +08:00
install-deps-linux.sh Merge: b5e1e78417 53272c6532 2021-09-20 18:24:11 +08:00
setup.py Python3 support 2021-10-05 20:57:41 +08:00

README.md

adxe

Codacy Badge dev LICENSE

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, use OpenAL for all platforms, single texture multi GPU texture handler, C++ 14/17 and some more (see 'Highlight Features' for more info).

View code with vscode online:

  • github1s
  • github1s

简体中文

Purpose Summary

  • C++ 14/17
  • Focus on native game dev (quick starting, easy to use, fast)
  • Bugfixes ASAP
  • Usefull PRs from you are welcome (review/merge ASAP)

Highlight Features

  • Windows x64 build support
  • Reimplement HttpClient based on yasio for process http request concorrently.
  • More clearly third-party libs 'Upstream-Version-License' for easy to publish your commercial apps based on adxe. Also some links to third party libs which supporting adxe too.
  • Refactor AudioEngine, OpenAL for all platforms
    • OpenAL Soft, pass -DBUILD_DEP_ALSOFT=ON to cmake to force enable it
    • OpenAL.framework, if no BUILD_DEP_ALSOFT option specified, cmake script will choose it on osx/ios, even through it was mark as deprecated, but still available.
  • Refactor UserDefault with mio
  • Modularize all optional extension, move from engine core to folder extensions
  • Implement all .wav formats supported by OpenAL Soft, such as MS-ADPCM, ADPCM, ...
  • Use modern GL loader Glad
  • Google angle renderer backend support
  • C++ 14 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 file
  • Spine-3.8 support
  • Extension FairyGUI support
  • ASTC 4x4/6x6/8x8 support (if hardware decoder not present, use software decoder)
  • ETC2 RGB/RGBA support (if hardware decoder not present, use software decoder)
  • Supported 2D physics engines (see also Wiki):
    • Box2D
    • Box2D-optimized
    • Chipmunk2D
  • Supported 3D physics engines:
    • Bullet Physics SDK
  • ImGui integrated, easy to write game embedded tools, very ease to use, please read ImGuiEXT

Open Wiki for additional information and see Milestones for planed feature 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 console after finish

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

  1. Install CMake 3.14+

  2. Install Visual Studio 2019/2022 (it's recommend you use only this versions)

  3. Execute follow command at 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 on command line (e.g. cpp-tests): msbuild .\build\adxe.sln -target:cpp-tests -maxCpuCount

Android

  1. Install Android Studio 4.2+
  2. When first start Android Studio, It will guide you to install sdk and other tools, just install them
  3. Start Android and choose [Open an existing Android Studio Project] to open 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 follow 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. Waiting for Gradle sync finish.
  6. Remark: If you use non-sdk provided CMake edition, you need 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+ installed, install cmake command line support: sudo "/Applications/CMake.app/Contents/bin/cmake-gui" --install

  2. Execute follow 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 generate finish, you can open xcode project at build folder and run cpp-tests or other test targets.

  5. Notes

    • The code sign required to run ios app on device, just change bundle identifier until the auto manage signing solved
    • adxe only provide 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 use TLS

Contributing guide

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

The adxe Active Contributors

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