[engine-x] A game-engine which is based on cocos2d-x-4.0

Which editor is engine-x using?

same with cocos2d-x-4.0

Which one do you recommend? Creator or FairyGUI?

well, fairy gui not adapte yet, currently, may continue use cocostudio

cocos studio is still available?, where do you get it from?
(sorry haven’t used it yet, therefore don’t know much about it)

It still works on Windows and older versions of MacOS.

1 Like

We are happy to inform you, fairygui now success integrate to engine-x, see the PR: https://github.com/c4games/engine-x/pull/141


egnx-1.0-a14 (2020.8.27)

  • [BugFix] Sync listFilesRecursively from https://github.com/cocos2d/cocos2d-x/pull/20518
  • [BugFix] Fix Label crashing, see https://github.com/c4games/engine-x/pull/167
  • [Feature] Add API cocos2d::FontFreeType::setStreamParsingEnabled to enable freetype stream parsing support
  • [Feature] Add API cocos2d::utils::createInstance to create object which inherited from cocos2d::Node
  • [Feature] Add API cocos2d::utils::killCurrentProcess to kill game immediately
  • [Refine] Make UserDefault encrypt algorithm can be customized
  • [Refine] Simplify CMake xcode project generation, use cmake/ios.mini.cmake instead ios.toolchain.cmake
  • [Refine] Change PXFileStream to CCFileStream, and make it support std::move
  • [Refine] Refine README.md
  • [Refine] Rename project name to EGNX
  • [Refine] By default, disable any guard declare for FileUtils
  • [Refine] Sync missing code from official-v3, spriteFrameCache parsed plist file not check
  • [Refine] Make CustomCommand safe to copyable and moveable
  • [Refine] Make ui::LayoutHelper APIs available
    Other code quality and improvements, please see https://github.com/c4games/engine-x/compare/egnx-1.0-a13...egnx-1.0-a14

Other changes since 2020.7.30, please see: https://github.com/c4games/engine-x/releases

1 Like

egnx-1.0-a15 (2020.9.1)

  • [Feature] Add ETC2 RGB/RGBA support
  • [Improve] Improve Image load, fast forward hardware compression texels data to GPU, see: CCImage.cpp#L2086
  • [BugFix] Fix multi-textures support for Metal, and code improvements, see: https://github.com/c4games/engine-x/commit/baa4447973cc52f4644e31edb493c834ed45f4cd
  • [BugFix] Fix ASTC bytesPerRow calculation
  • [BugFix] Fix osx/ios listFiles contains “.” and “…”
  • [BugFix] Sync missing fixes from official-v3
  • [Refine] Use std::move for API FileUtils::listFiles
  • [Refine] Using FastTileMap instead of TileMap
  • [Refine] Sync feature TMX animation support from official-v3
  • [Refine] Explicit sets code sign required at CMake script for ios arm devices
  • [Refine] Use CMake option -DCC_FORCE_USE_GLES to control whether use GLES renderer backend on win32(angle) and iOS.

Other code quality and improvements, please see https://github.com/c4games/engine-x/compare/egnx-1.0-a14...egnx-1.0-a15

1 Like

When will the official version be released?

I think I can’t give you explicit date about this question, just try it, if you find any bug or have any suggestion, please feel free to report, we will response ASAP.

Now EGNX finish ImGui integration, see: https://github.com/c4games/engine-x/tree/master/extensions/ImGuiEXT/README.md
And test case is here:https://github.com/c4games/engine-x/blob/master/tests/cpp-tests/Classes/ImGuiEXTTest/ImGuiEXTTest.cpp


egnx-1.0-a16 (2020.9.22)

  • [Feature] Add extension ImGuiEXT for more easy to write game embedded tools
  • [BugFix] Fix GL renderer backend API updateCompressedSubData will cause OpenGL 502 error
  • [BugFix] Fix crashing when resize std::vector<MeshCommand>
  • [BugFix] Sync bugfix pr from cocos2d/cocos2d-x#20580
  • [Refine] Bring mac build back.
  • [Refine] Remove unused member func from CustomCommand
  • [Refine] Add common API getHandler for Texture to get GPU handler, should as GLuint for OpenGL, id<MTLTexture> for Metal
  • [Refine] Add ASTC6x6 support
  • [Refine] Add CC_REDUCE_PAUSED_CPU_USAGE ccConfig.h to control whether reduce cpu usage after paused
  • [Refine] Sync fairygui extension to latest master to fix important issue
  • [Refine] Use glMapBuffer to readPixels if available

For detail changes: https://github.com/c4games/cocos-re/compare/egnx-1.0-a15...egnx-1.0-a16


egnx-1.0-a17 (2020.9.29)

  • [Feature] RenderTarget abstract #210
  • [BugFix] Fix AtlasNode, needs update atlas values when ignore content scale factor changed
  • [BugFix] Fix macro CC_LOG_TO_CONSOLE doesn’t work for win32
  • [BugFix] Initialize UserDefault::_encryptEnabled=false to avoid crash
  • [Refine] Reduce depth stencil state create, don’t create it per draw call, cache state for metal backend
  • [Refine] Refactor render pipeline state #211
  • [Refine] Refactor pixel format manipulate #217
  • [Refine] Clearly texture usage and TextureGL initWithZeros usage #219
  • [Refine] Delete duplicated member _mv from TrianglesCommand

For detail changes: https://github.com/c4games/cocos-re/compare/egnx-1.0-a16...egnx-1.0-a17


Can you add osx target to cmake? Have you any plans for win64 target in a future? Thank you for excellent fork!

osx target supported, please see: https://github.com/c4games/cocos-re/blob/master/tools/travis-scripts/run-script.sh#L42

1 Like

Thank you. Unfortunately, your command line is incomplete and failed to generate xcode project with error (at least in osx catalina and xcode 12.0.1):

No architectures to compile for (ONLY_ACTIVE_ARCH=YES, active arch=arm64, VALID_ARCHS=arm64 arm64e i386 x86_64, EXCLUDED_ARCHS=(

The only proper way to generate cmake project for me was to add valid osx architecture


to command line.

I’m not use xcode12 yet

I will check it later

And yet another problem: if building for osx with -DBUILD_EXT_ALSOFT=ON, compiling failed with

clang: error: no such file or directory: '/Users/hexerror/engine-x/external/openal/prebuilt/mac/libopenal.a'

and indeed, “prebuilt” folder not contain any mac subfolder with proper osx openal lib.