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 a824eb4050 Checking condition for dirty ImGui device objects [skip appveyor][skip travis] 2020-09-08 14:21:26 +08:00
cmake Don't config c standard on windows 2020-08-30 13:48:12 +08:00
cocos Move getFileDataFromZip from FileUtils to ZipFile and mark it as deprecated 2020-09-06 17:00:20 +08:00
docs update error link 2019-12-12 23:55:05 +08:00
extensions Checking condition for dirty ImGui device objects [skip appveyor][skip travis] 2020-09-08 14:21:26 +08:00
external Update config.json 2020-09-05 23:57:38 +08:00
licenses Remove license files. 2019-12-12 23:53:27 +08:00
templates Add utils::createInstance to instead macro CREATE_FUNC 2020-08-25 13:49:45 +08:00
tests Update CMake scripts and readme 2020-09-08 13:44:59 +08:00
tools Enable mac build for ci 2020-09-04 16:47:32 +08:00
.appveyor.yml Update .appveyor.yml 2020-08-27 13:54:27 +08:00
.gitattributes fix line end in windows 2013-09-20 22:23:13 +08:00
.gitignore Add CMake -DCC_FORCE_USE_GLES to control whether force use gles on win32,iOS 2020-08-28 12:57:00 +08:00
.gitmodules Remove jsb/h5 (#19621) 2019-04-18 23:56:12 -07:00
.travis.yml fix travis.yml[skip appveyor] 2020-09-08 09:52:17 +08:00
AUTHORS Update AUTHORS 2016-07-26 21:55:06 +08:00
CHANGELOG [ci skip]Release note (#20234) 2019-10-24 14:34:48 +08:00
CMakeLists.txt Make core lib can be build as dll, fix link issue for external 2020-08-18 12:36:44 +08:00
CONTRIBUTING.md rename contribute.md to contributing.md 2015-08-28 14:10:41 +08:00
LICENSE Create LICENSE 2020-08-18 09:21:36 +08:00
README.md Merge pull request #188 from halx99/etc2-support 2020-09-01 00:16:01 -07:00
README_CN.md Update readme files [skip appveyor] [skip travis] 2020-08-31 15:56:50 +08:00
download-deps.py fix folder error if path is not start with v (#19328) 2019-01-21 11:47:15 +08:00
install-deps-linux.sh fix issue that can not run release mode with lua projects (#20291) 2019-11-05 10:19:27 +08:00
issue_template.md Fix minor typo in issue_template (#16672) 2016-10-11 09:30:18 +08:00
setup.py delete ANT check on setup.py (#19042) 2018-09-14 14:24:07 +08:00

README.md

EGNX

Build Status Windows Build Status dev

This is another more radical fork of cocos2d-x v4, use OpenAL for all platforms, single texture multi GPU texture handler, C++14/17, etc.

简体中文

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:

  • Refactor AudioEngine, OpenAL for all platforms
    • openal-soft, pass -DBUILD_EXT_ALSOFT=ON to cmake to force enable it
    • OpenAL.framework, if no BUILD_EXT_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, all 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 to instead glew
  • Add google angle renderer backend support
  • C++14 standard
  • IOS SDK 9.0 as minimal deployment
  • Use fast pugixml instead of tinyxml2
  • Using curl for transferring data with URL syntax
  • Use SAX parser for all plist file
  • Spine-3.8 support
  • Add engine extension FairyGUI support
  • Add ASTC 4x4/8x8 support, if hardware decoder not present, use software decoder
  • Add ETC2 RGB/RGBA support, if hardware decoder not present, use software decoder

Roadmap

Quick Start

Common Requirement python

  • python-2.7.17+, python-3.7+

Windows

  1. Install CMake 3.6+
  2. Install Visual Studio 2019 build(we strong recommend you use this version)
  3. Execute follow command at command line(Console, Window Terminal or Powershell)
cd engine-x\
cmake -S . -B build -G "Visual Studio 16 2019" -A Win32

Android

  1. Install Android Studio 4.0+

  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 engine-x\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 28 r3
    • Android SDK Build-Tools 29.0.2
    • NDK r16b+
    • CMake 3.6
  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.6+ 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 device arm64
  cmake -S . -B build -GXcode -DCMAKE_TOOLCHAIN_FILE=cmake/ios.mini.cmake

  # for device combined armv7,arm64
  # 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_SYSROOT=iphonesimulator
  1. After cmake generate finish, you can open xcode project at build folder and run cpp-tests or other test targets.

  2. Notes
    a. The code sign required to run ios app on device, just change bundle identifier until the auto manage siging solved
    b. EGNX only provide armv7,arm64,x86_64 prebuilt libraries for ios

Pitfalls

  • ThreadLocalStorage(TLS)
    • ios x86 simulator ios>=10
    • ios x64 or devices(armv7,arm64) ios sdk>=9.0
    • the openal-soft maintained by kcat use TLS