diff --git a/spine-cocos2dx/README.md b/spine-cocos2dx/README.md index 46c03653f..aa5d0a10b 100644 --- a/spine-cocos2dx/README.md +++ b/spine-cocos2dx/README.md @@ -1,4 +1,4 @@ -# spine-cocos2dx v3.x +# spine-cocos2dx v3.x & v4.x The spine-cocos2dx runtime provides functionality to load, manipulate and render [Spine](http://esotericsoftware.com) skeletal animation data using [cocos2d-x](http://www.cocos2d-x.org/). spine-cocos2dx is based on [spine-cpp](../spine-cpp). @@ -22,17 +22,27 @@ spine-cocos2dx supports all Spine features. The setup for cocos2d-x differs from most other Spine Runtimes because the cocos2d-x distribution includes a copy of the Spine Runtime files. This is not ideal because these files may be old and fail to work with the latest Spine editor. Also it means if cocos2d-x is updated, you may get newer Spine Runtime files which can break your application if you are not using the latest Spine editor. For these reasons, we have requested cocos2d-x to cease distributing the Spine Runtime files, but they continue to do so. The following instructions allow you to use the official Spine cocos2d-x runtime with your cocos2d-x project. -1. Create a new cocos2d-x project. See [the cocos2d-x documentation](http://www.cocos2d-x.org/docs/static-pages/installation.html) +### Cocos2d-x v3.x +1. Create a new cocos2d-x project. See [the cocos2d-x documentation](https://docs.cocos2d-x.org/cocos2d-x/v3/en/installation/) 2. Delete the folder `cocos2d/cocos/editor-support/spine`. This will remove the outdated Spine cocos2d-x runtime shipped by cocos2d-x. 3. Open your project in your IDE of choice, then open the cocos2d_libs sub project and delete the `editor-support/spine` group. This will remove the outdated Spine cocos2d-x runtime shipped by cocos2d-x from your build. 3. Download the Spine Runtimes source using git (`git clone https://github.com/esotericsoftware/spine-runtimes`) or download it as a zip via the download button above. 4. Add the sources from `spine-cpp/spine-cpp/src/spine` and `spine-cocos2dx/src/spine` to your project 4. Add the folders `spine-cpp/spine-cpp/include` and `spine-cocos2dx/src` to your header search path. Note that includes are specified as `#inclue `, so the `spine` directory cannot be omitted when copying the source files. +### Cocos2d-x v4.x +TBD + +1. Create a new Cocos2D-x project. See [the cocos2d-x documentation](https://docs.cocos2d-x.org/cocos2d-x/v4/en/installation/) +2. Delete the folder `cocos2d/cocos/editor-support/spine` in your project. This will remove the outdated Spine cocos2d-x runtime shipped by cocos2d-x. +3. TBD Integration in `CMakeLists.txt` + ## Example The Spine cocos2d-x example works on Windows, Mac OS X, iOS and Android. -### Windows +### Cocos2d-x v3.x + +#### Windows 1. Install [Visual Studio 2019 Community](https://www.visualstudio.com/en-us/downloads/download-visual-studio-vs.aspx) 2. Install CMake via the [Windows installer package](https://cmake.org/download/). 3. Download the Spine Runtimes repository using git (`git clone https://github.com/esotericsoftware/spine-runtimes`) or download it as a zip via the download button above. @@ -47,7 +57,7 @@ The Spine cocos2d-x example works on Windows, Mac OS X, iOS and Android. 9. Right click the `spine-cocos2d-x` project in the solution explorer and select `Set as Startup Project` from the context menu 10. Click `Local Windows Debugger` to run the example -### macOS/iOS +#### macOS/iOS 1. Install [Xcode](https://developer.apple.com/xcode/) 2. Install [Homebrew](http://brew.sh/) 3. Open a terminal and install CMake via `brew install cmake` @@ -58,7 +68,57 @@ The Spine cocos2d-x example works on Windows, Mac OS X, iOS and Android. 7. Expand the `cocos2d_libs.xcodeproj` sub project, delete the group `editor-support/spine`. This will remove the outdated Spine cocos2d-x runtime shipped by cocos2d-x. 8. Click the `Run` button or type `CMD+R` to run the example -### Android +#### Android (on macOS) +1. Install the prerequisits for [cocos2d-x Android development](http://www.cocos2d-x.org/docs/installation/Android-terminal/) +2. Install [Homebrew](http://brew.sh/) +3. Open a terminal and install CMake via `brew install cmake` +3. Download the Spine Runtimes repository using git (`git clone https://github.com/esotericsoftware/spine-runtimes`) or download it as a zip via the download button above. +4. Open a terminal, and `cd` into the `spine-runtimes/spine-cocos2dx` folder +5. Type `mkdir build && cd build && cmake ../..`. This will download the cocos2d-x dependency and wire it up with the example source code in `spine-runtimes/spine-cocos2dx/example`. The download is 400mb, so get yourself a cup of tea. +6. Delete `spine-runtimes/spine-cocos2dx/example/cocos2d/cocos/editor-support/spine` +7. Open `spine-runtimes/spine-cocos2dx/example/cocos2d/cocos/Android.mk` and remove the lines `LOCAL_STATIC_LIBRARIES += spine_static` and `$(call import-module,editor-support/spine) +8. Switch to `spine-runtimes/spine-cocos2dx/example/proj.android/jni` and execute `cocos compile -p android -m debug --ndk-mode debug` to compile the example for Android +9. In the same directory, execute `cocos run -p android -m debug` to deploy to the device +10. For debugging, run `ndk-debug` in the `proj.android/jni` folder. This will attach to the running app via GDB. + +### Cocos2d-x v4.x + +#### Windows +1. Install [Visual Studio 2019 Community](https://www.visualstudio.com/en-us/downloads/download-visual-studio-vs.aspx) +2. Install CMake via the [Windows installer package](https://cmake.org/download/). +3. Download the Spine Runtimes repository using git (`git clone https://github.com/esotericsoftware/spine-runtimes`) or download it as a zip via the download button above. +4. Run CMake GUI from the start menu +5. Click `Browse Source` and select the directory `spine-runtimes` +6. Click `Browse Build` and select the `spine-runtimes/spine-cocos2dx/build` directory. You can create the `build` folder directly in the file dialog via `New Folder`. +7. Click `Configure`. Check `SPINE_COCOS2D_X` +8. Click `Configure` again. This will download the cocos2d-x dependency and wire it up with the example source code in `spine-runtimes/spine-cocos2dx/example`. The download is 400mb, so get yourself a cup of tea. +7. Open the file `spine-cocos2dx\example\cocos2d\cocos\2d\cocos2dx.props` and remove the `libSpine.lib` entry from the `` tag. +8. Open the `spine-runtimes/spine-cocos2dx/example/proj.win32/spine-cocos2d-x.sln` file in Visual Studio 2019. Visual Studio may ask you to install the Windows XP/7 SDK, which you should install. +9. Expand `References` of the libcocos2d sub project, and remove the entry for `libSpine`, which should be marked with an error. +9. Right click the `spine-cocos2d-x` project in the solution explorer and select `Set as Startup Project` from the context menu +10. Click `Local Windows Debugger` to run the example + +#### macOS +1. Install [Xcode](https://developer.apple.com/xcode/) +2. Install [Homebrew](http://brew.sh/) +3. Open a terminal and install CMake via `brew install cmake` +3. Download the Spine Runtimes repository using git (`git clone https://github.com/esotericsoftware/spine-runtimes`) or download it as a zip via the download button above. +4. Open a terminal, and `cd` into the `spine-runtimes/spine-cocos2dx` folder +5. Type `mkdir build-v4 && cd build-v4 && cmake -GXcode -DUSE_COCOS2DX_V4=on ..`. This will download the cocos2d-x dependency and wire it up with the example source code in `spine-runtimes/spine-cocos2dx/example`. The download is 400mb, so get yourself a cup of tea. +6. Open the Xcode project in `spine-runtimes/spine-cocos2dx/build-v4` +7. Make sure you select `spine-cocos2dx-example > My Mac` as the target and click the `Run` button or type `CMD+R` to run the example. + +#### iOS +1. Install [Xcode](https://developer.apple.com/xcode/) +2. Install [Homebrew](http://brew.sh/) +3. Open a terminal and install CMake via `brew install cmake` +3. Download the Spine Runtimes repository using git (`git clone https://github.com/esotericsoftware/spine-runtimes`) or download it as a zip via the download button above. +4. Open a terminal, and `cd` into the `spine-runtimes/spine-cocos2dx` folder +5. Type `mkdir build-v4 && cd build-v4 && cmake -GXcode -DUSE_COCOS2DX_V4=on -DCMAKE_SYSTEM_NAME=iOS -DCMAKE_OSX_SYSROOT=iphoneos ..`. This will download the cocos2d-x dependency and wire it up with the example source code in `spine-runtimes/spine-cocos2dx/example`. The download is 400mb, so get yourself a cup of tea. +6. Open the Xcode project in `spine-runtimes/spine-cocos2dx/build-v4` +7. Make sure you select `spine-cocos2dx-example > Device` as the target, where `Device` is either a simulator or a physically connected device. Click the `Run` button or type `CMD+R` to run the example. + +#### Android (on macOS) 1. Install the prerequisits for [cocos2d-x Android development](http://www.cocos2d-x.org/docs/installation/Android-terminal/) 2. Install [Homebrew](http://brew.sh/) 3. Open a terminal and install CMake via `brew install cmake` diff --git a/spine-cocos2dx/src/spine/SkeletonRenderer.cpp b/spine-cocos2dx/src/spine/SkeletonRenderer.cpp index 6275f240b..f7c67a236 100644 --- a/spine-cocos2dx/src/spine/SkeletonRenderer.cpp +++ b/spine-cocos2dx/src/spine/SkeletonRenderer.cpp @@ -1085,7 +1085,7 @@ namespace spine { Color4B ColorToColor4B(const Color& color) { - return { (GLubyte)(color.r * 255.f), (GLubyte)(color.g * 255.f), (GLubyte)(color.b * 255.f), (GLubyte)(color.a * 255.f) }; + return { (uint8_t)(color.r * 255.f), (uint8_t)(color.g * 255.f), (uint8_t)(color.b * 255.f), (uint8_t)(color.a * 255.f) }; } }