4.3 KiB
EGNX
This is another more radical fork of cocos2d-x v4
, use OpneAL for all platforms, single texture multi GPU texture handler, C++14/17 etc.
Purpose Summary:
- C++14/17
- Focus on native game dev
- Bugfixes ASAP
- Review/Merge PR ASAP
- Excellent PRs from YOU are welcome.
Highlight Features:
- Refactor AudioEngine, OpenAL for all platforms
- [openal-soft](https://github.com/kcat/openal-s14 oft), 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, very fast
- 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 deplyment
- Use fast pugixml instead of tinyxml2
- Using curl for transferring data with URL syntax
- Use SAX parser for all plist file, remove apple platform spec for getValueMapFromFile stubs
- Spine-3.8 support
- Add engine extension
FairyGUI
support
Roadmap
Quick Start
Common Requirement python
- python-2.7.17+, python-3.7+ also works
Windows
- Install CMake 3.6+
- Install Visual Studio 2019 build(we strong recommend you install this version)
- 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
-
Install Android Studio 4.0+
-
When first start Android Studio, It will guide you to install sdk and other tools, just install them
-
Start Android and choose [Open an existing Android Studio Project] to open
engine-x\tests\cpp-tests\proj.android
-
Start Android Studio and Open [Tools][SDKManager], then switch to
SDK Tools
, check theShow Package Details
, choose follow tools and click the buttonApply
to install them:- Android SDK Platform 28 r3
- Android SDK Build-Tools 29.0.2
- NDK r16b+
- CMake 3.6
-
Waiting for
Gradle sync
finish. -
Remark: If you use non-sdk provided CMake edition, you need download
ninja
from https://github.com/ninja-build/ninja/releases, and copyninja.exe
to cmake's bin directory
iOS
- Ensure xcode11+ & cmake-3.18.2+ installed
- Install brew:
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
when finish, install follow tools:
brew update
brew install git
brew install autoconf
brew install automake
brew install libtool
- Execute follow command
sudo xcode-select -switch /Applications/Xcode.app/Contents/Developer
- Generate xcode project
cmake -S . -B build -GXcode -DCMAKE_SYSTEM_NAME=iOS
-
After cmake generate finish, you can open xcode project at
build
folder and run cpp-tests or other test targets. -
Notes
a. If you don't want upgrade your cmake to 3.18.2, please click here to see xcode generate command.
b. The code sign required to run ios app on device, just change bundle identifier until the auto manage siging solved
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
Reference links
- engine-x-3rd: https://github.com/c4games/engine-x-3rd
- official v4: https://github.com/cocos2d/cocos2d-x