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 3bea76ee4d Refine STMGT 2020-02-15 02:36:02 +08:00
cmake Add ios.toolchain.cmake 2020-02-07 18:59:44 +08:00
cocos Refine STMGT 2020-02-15 02:36:02 +08:00
docs update error link 2019-12-12 23:55:05 +08:00
extensions Use '/' instead "/" for find & string append. 2019-11-25 17:10:25 +08:00
external Update deps to v29 2020-02-14 19:14:39 +08:00
licenses Remove license files. 2019-12-12 23:53:27 +08:00
templates set xcode installation path to (#20402) 2020-01-18 20:40:21 +08:00
tests Merge remote-tracking branch 'upstream/master' 2020-02-12 16:58:47 +08:00
tools fix ios openssl link error 2020-02-08 22:10:08 +08:00
.appveyor.yml Disable lua binding gen test, fix later 2020-02-08 17:03:14 +08:00
.gitattributes fix line end in windows 2013-09-20 22:23:13 +08:00
.gitignore update ignores. 2019-11-24 13:47:32 +08:00
.gitmodules Remove jsb/h5 (#19621) 2019-04-18 23:56:12 -07:00
.travis.yml disable other jobs exclude android & ios 2020-02-07 16:41:34 +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 set default minimum deployment target (#20323) 2019-11-14 09:43:37 +08:00
CONTRIBUTING.md rename contribute.md to contributing.md 2015-08-28 14:10:41 +08:00
README.ccv4.md Rename README.md to README.ccv4.md 2019-11-25 10:20:29 +08:00
README.md Update README.md 2020-02-11 21:03:22 +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

engine-v5

Build Status Windows Build Status

This is another more radical fork of cocos2d-x game engine, use opanal for all platforms, single texture multi gpu texture handler, c++17...

The readme of cocos2d-x v4: https://github.com/simdsoft/engine-v5/blob/master/README.ccv4.md

Goals summary:

  1. C++17
  2. forcus on native game dev only
  3. Remove unnecessary sources
  4. build engine as static or dynamic library support
  5. If you have any other excellent goals, welcome
  6. Excellent PRs from any guys are welcome, I will review & merge ASAP

preprocessors notes:

CC_STATIC  
  
_USRDLL  
_USEGUIDLL  
_USREXDLL  
_EXPORT_DLL_  
  
_USRSTUDIODLL  
_USRSTUDIOPDLL  

Refactor core & extensions libs

  • engine-v5-core.dll(node tree, multi-renderer-backends, filesystem, audio, platform spec, and other):

    • 1. Refactor audio engine, OpenAL for all platforms.
    • 2. Remove SimpleAudio
    • 3. Remove offthread file operation
    • 4. Remove getSutiableFOpen, avoid reduce performance, there is another better solution for support: just doesn't convert path to utf-8 in FileUtils manually implementation
    • 5. Refactor CCDownloader, curl for all platforms, don't use scheduler to retrive progress info, make it more reuseable
    • 7. Refactor engine-v5-deps, all compile as vs2019 MSVC 19.22.27905.0
    • 8. minizip-1.2.0
    • 9. ccMessageBox
    • 10. BMP support with stb_image
    • 11. Remove unused libuv
    • 12. Reorder child support
    • 13. Remove tinyxml2 dep, use pugixml instead
    • 14. Use xsxml for SAX parser only
    • 15. Multi meta textures v1.0
    • 16. ProgramStateRegistry
    • 17. Optimize CCFileUtils
    • 18. ANGLE support.
    • 19. Use curl for HttpClient all platforms
    • 20. AES encrypt system
    • 21. Remove xxtea
    • 22. Remove rapidxml dep
    • 23. fix etc1 alpha test case, content size incorrect
    • 24. Since getSuitableFopen removed, don't convert to utf-8 for win32, or in the future, windows 10 will support utf-8 file path, such as: For Chinese system language users: 在 控制面板-区域-更改系统区域设置 中 勾选 Beta版使用 Unicode UTF=8 提供全球语言支持(U) 选项
    • XX1. Cache ProgramState or use object_pool
    • XX2. Remove socket.io websockets, use yasio for socket connection solution
    • XX3. Fully streaming play for all media file: .mp4, .mp3, .ogg, .wav
    • XX4. Streaming load for .ttf with freetype2
    • XX5. Remove CCB(already removed in v4)
    • XX6. Sync 3rd bin
    • XX7. Purely offthread load texture, use shared gl context
    • XX8. Use git submodule to manage 3rd libs.
  • Upgrade 3rd stubs to latest stable edition for all platforms

    • zlib to 1.2.11

  • engine-v5.ui.dll: The original v3-ui framework may remove in the future
  • engine-v5.ext.lib: old GUI ui(could be remove), physics-nodes, pu3d
  • engine-v5.dragonbones.lib
  • engine-v5.ccs20.dll: x-studio
  • engine-v5.ccs21.dll: x-studio
  • engine-v5.xs.dll: x-studio
  • engine-v5.spine.lib

  • engine-v5-lua.lib:
    • Lua53 compat
    • make lua test works well
    • Remvoe luasocket, use yasio for socket connection solution

!!! Custom APK support, don't compress .mp4, .mp3, .ogg, .wav, .ttf

!!!! future of future:

  • Use sol2 for binding framework instead tolua++
  • Use bgfx for multi renderer backend support

快速开始

windows

安装CMake要求3.6以上
根据安装的 Visual Studio 版本,执行下面的命令,解决方案就生成在 build 目录下了。
打开cpp-tests.sln编译运行。

cd engine-v5\tests\cpp-tests
cmake -S .\ -B .\build -G “Visual Studio 14 2015 Win32”
or 
cmake -S .\ -B .\build -G “Visual Studio 16 2019” -A Win32

android

安装 Android Studio (推荐3.5.3),打开 SDKManager安装下列工具。
打开project目录在engine-v5\tests\cpp-tests\proj.android
等待Gradle sync完成后Build APKs安装运行

  LLDB 推荐3.1
  CMake 推荐 3.10.2
  NDK 推荐 20.1

ios

确保最新版xcode已安装 安装brew: /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
brew安装完成后确保如下工具安装:

  brew update
  brew install git
  brew install cmake
  brew install autoconf
  brew install automake
  brew install libtool

执行如下命令确保cmake能成功生成xcode工程:
sudo xcode-select -switch /Applications/Xcode.app/Contents/Developer
生成xcode工程, 进入engine-v5根目录执行如下命令:

  mkdir build
  cd build
  cmake .. -GXcode -DCMAKE_SYSTEM_NAME=iOS -DCMAKE_OSX_SYSROOT=iphonesimulator

之后就可以用xcode打开, 选择cpp-tests编译运行其他targets目前均无法编译或运行