Prechádzať zdrojové kódy

Merge branch '4.1-beta-cocos2dx-refactor' into 4.1-beta

Mario Zechner 3 rokov pred
rodič
commit
c016c21de2
100 zmenil súbory, kde vykonal 247 pridanie a 5205 odobranie
  1. 5 0
      .gitignore
  2. 0 12
      CMakeLists.txt
  3. 0 61
      spine-cocos2dx/CMakeLists.txt
  4. 65 104
      spine-cocos2dx/README.md
  5. 0 4
      spine-cocos2dx/example-v4/.cocos-project.json
  6. 0 171
      spine-cocos2dx/example-v4/CMakeLists.txt
  7. BIN
      spine-cocos2dx/example-v4/Resources/common/coin-pro.skel
  8. 0 18
      spine-cocos2dx/example-v4/Resources/common/coin.atlas
  9. BIN
      spine-cocos2dx/example-v4/Resources/common/coin.png
  10. 0 1232
      spine-cocos2dx/example-v4/Resources/common/goblins-pro.json
  11. 0 96
      spine-cocos2dx/example-v4/Resources/common/goblins.atlas
  12. BIN
      spine-cocos2dx/example-v4/Resources/common/goblins.png
  13. BIN
      spine-cocos2dx/example-v4/Resources/common/mix-and-match-pro.skel
  14. 0 362
      spine-cocos2dx/example-v4/Resources/common/mix-and-match.atlas
  15. BIN
      spine-cocos2dx/example-v4/Resources/common/mix-and-match.png
  16. 0 692
      spine-cocos2dx/example-v4/Resources/common/raptor-pro.json
  17. 0 100
      spine-cocos2dx/example-v4/Resources/common/raptor.atlas
  18. BIN
      spine-cocos2dx/example-v4/Resources/common/raptor.png
  19. 0 541
      spine-cocos2dx/example-v4/Resources/common/spineboy-pro.json
  20. 0 101
      spine-cocos2dx/example-v4/Resources/common/spineboy.atlas
  21. BIN
      spine-cocos2dx/example-v4/Resources/common/spineboy.png
  22. BIN
      spine-cocos2dx/example-v4/Resources/common/tank-pro.skel
  23. 0 56
      spine-cocos2dx/example-v4/Resources/common/tank.atlas
  24. BIN
      spine-cocos2dx/example-v4/Resources/common/tank.png
  25. 0 36
      spine-cocos2dx/example-v4/proj.ios_mac/ios/AppController.h
  26. 0 153
      spine-cocos2dx/example-v4/proj.ios_mac/ios/AppController.mm
  27. 0 45
      spine-cocos2dx/example-v4/proj.ios_mac/ios/Info.plist
  28. 0 12
      spine-cocos2dx/example-v4/proj.ios_mac/ios/Prefix.pch
  29. 0 34
      spine-cocos2dx/example-v4/proj.ios_mac/ios/RootViewController.h
  30. 0 122
      spine-cocos2dx/example-v4/proj.ios_mac/ios/RootViewController.mm
  31. 0 7
      spine-cocos2dx/example-v4/proj.ios_mac/ios/main.m
  32. BIN
      spine-cocos2dx/example-v4/proj.ios_mac/mac/Icon.icns
  33. 0 36
      spine-cocos2dx/example-v4/proj.ios_mac/mac/Info.plist
  34. 0 11
      spine-cocos2dx/example-v4/proj.ios_mac/mac/Prefix.pch
  35. 0 34
      spine-cocos2dx/example-v4/proj.ios_mac/mac/main.cpp
  36. 0 38
      spine-cocos2dx/example-v4/proj.linux/main.cpp
  37. 0 8
      spine-cocos2dx/example-v4/proj.win32/build-cfg.json
  38. 0 86
      spine-cocos2dx/example-v4/proj.win32/game.rc
  39. 0 41
      spine-cocos2dx/example-v4/proj.win32/main.cpp
  40. 0 37
      spine-cocos2dx/example-v4/proj.win32/main.h
  41. BIN
      spine-cocos2dx/example-v4/proj.win32/res/game.ico
  42. 0 44
      spine-cocos2dx/example-v4/proj.win32/resource.h
  43. 1 1
      spine-cocos2dx/example/.cocos-project.json
  44. 0 7
      spine-cocos2dx/example/.gitignore
  45. 111 108
      spine-cocos2dx/example/CMakeLists.txt
  46. 0 9
      spine-cocos2dx/example/proj.android/.classpath
  47. 0 185
      spine-cocos2dx/example/proj.android/.cproject
  48. 0 23
      spine-cocos2dx/example/proj.android/.externalToolBuilders/org.eclipse.cdt.managedbuilder.core.genmakebuilder.launch
  49. 0 0
      spine-cocos2dx/example/proj.android/.gitignore
  50. 0 71
      spine-cocos2dx/example/proj.android/.project
  51. 0 68
      spine-cocos2dx/example/proj.android/.settings/org.eclipse.cdt.codan.core.prefs
  52. 0 3
      spine-cocos2dx/example/proj.android/.settings/org.eclipse.cdt.core.prefs
  53. 0 2
      spine-cocos2dx/example/proj.android/.settings/org.eclipse.ltk.core.refactoring.prefs
  54. 0 38
      spine-cocos2dx/example/proj.android/AndroidManifest.xml
  55. 0 17
      spine-cocos2dx/example/proj.android/ant.properties
  56. 0 0
      spine-cocos2dx/example/proj.android/app/.gitignore
  57. 0 0
      spine-cocos2dx/example/proj.android/app/AndroidManifest.xml
  58. 2 0
      spine-cocos2dx/example/proj.android/app/build.gradle
  59. 0 0
      spine-cocos2dx/example/proj.android/app/jni/hellocpp/main.cpp
  60. 0 0
      spine-cocos2dx/example/proj.android/app/proguard-rules.pro
  61. 0 0
      spine-cocos2dx/example/proj.android/app/res/mipmap-hdpi/ic_launcher.png
  62. 0 0
      spine-cocos2dx/example/proj.android/app/res/mipmap-mdpi/ic_launcher.png
  63. 0 0
      spine-cocos2dx/example/proj.android/app/res/mipmap-xhdpi/ic_launcher.png
  64. 0 0
      spine-cocos2dx/example/proj.android/app/res/mipmap-xxhdpi/ic_launcher.png
  65. 0 0
      spine-cocos2dx/example/proj.android/app/res/values/strings.xml
  66. 0 0
      spine-cocos2dx/example/proj.android/app/src/org/cocos2dx/cpp/AppActivity.java
  67. 0 13
      spine-cocos2dx/example/proj.android/build-cfg.json
  68. 1 1
      spine-cocos2dx/example/proj.android/build.gradle
  69. 0 83
      spine-cocos2dx/example/proj.android/build.xml
  70. 0 6
      spine-cocos2dx/example/proj.android/gen/R.java.d
  71. 0 6
      spine-cocos2dx/example/proj.android/gen/com/esotericsoftware/cocos2dx/BuildConfig.java
  72. 0 19
      spine-cocos2dx/example/proj.android/gen/com/esotericsoftware/cocos2dx/R.java
  73. 0 0
      spine-cocos2dx/example/proj.android/gradle.properties
  74. 0 0
      spine-cocos2dx/example/proj.android/gradle/wrapper/gradle-wrapper.jar
  75. 2 1
      spine-cocos2dx/example/proj.android/gradle/wrapper/gradle-wrapper.properties
  76. 0 0
      spine-cocos2dx/example/proj.android/gradlew
  77. 0 0
      spine-cocos2dx/example/proj.android/gradlew.bat
  78. 0 109
      spine-cocos2dx/example/proj.android/jni/Android.mk
  79. 0 15
      spine-cocos2dx/example/proj.android/jni/Application.mk
  80. 0 15
      spine-cocos2dx/example/proj.android/jni/hellocpp/main.cpp
  81. 0 10
      spine-cocos2dx/example/proj.android/local.properties
  82. 0 20
      spine-cocos2dx/example/proj.android/proguard-project.txt
  83. 0 13
      spine-cocos2dx/example/proj.android/project.properties
  84. BIN
      spine-cocos2dx/example/proj.android/res/drawable-hdpi/icon.png
  85. BIN
      spine-cocos2dx/example/proj.android/res/drawable-ldpi/icon.png
  86. BIN
      spine-cocos2dx/example/proj.android/res/drawable-mdpi/icon.png
  87. 0 4
      spine-cocos2dx/example/proj.android/res/values/strings.xml
  88. 0 0
      spine-cocos2dx/example/proj.android/settings.gradle
  89. 0 32
      spine-cocos2dx/example/proj.android/src/org/cocos2dx/cpp/AppActivity.java
  90. 26 1
      spine-cocos2dx/example/proj.ios_mac/ios/AppController.h
  91. 34 31
      spine-cocos2dx/example/proj.ios_mac/ios/AppController.mm
  92. BIN
      spine-cocos2dx/example/proj.ios_mac/ios/[email protected]
  93. BIN
      spine-cocos2dx/example/proj.ios_mac/ios/[email protected]
  94. BIN
      spine-cocos2dx/example/proj.ios_mac/ios/[email protected]
  95. BIN
      spine-cocos2dx/example/proj.ios_mac/ios/Default-Landscape~ipad.png
  96. BIN
      spine-cocos2dx/example/proj.ios_mac/ios/Default.png
  97. BIN
      spine-cocos2dx/example/proj.ios_mac/ios/[email protected]
  98. BIN
      spine-cocos2dx/example/proj.ios_mac/ios/Icon-100.png
  99. BIN
      spine-cocos2dx/example/proj.ios_mac/ios/Icon-114.png
  100. BIN
      spine-cocos2dx/example/proj.ios_mac/ios/Icon-120.png

+ 5 - 0
.gitignore

@@ -158,3 +158,8 @@ spine-monogame/spine-monogame-example/obj
 spine-libgdx/spine-libgdx/out
 spine-libgdx/spine-skeletonviewer/out
 spine-cocos2d-objc/cocos2d/
+cmake-build-release
+spine-cocos2dx/example-v4/build-ios
+spine-cocos2dx/example-v4/build-macos
+spine-cocos2dx/example/build-ios
+spine-cocos2dx/example/proj.android/app/.cxx

+ 0 - 12
CMakeLists.txt

@@ -4,8 +4,6 @@ project(spine)
 set(CMAKE_INSTALL_PREFIX "./")
 set(CMAKE_VERBOSE_MAKEFILE ON)
 set(SPINE_SFML FALSE CACHE BOOL FALSE)
-set(SPINE_COCOS2D_OBJC FALSE CACHE BOOL FALSE)
-set(SPINE_COCOS2D_X FALSE CACHE BOOL FALSE)
 set(SPINE_SANITIZE FALSE CACHE BOOL FALSE)
 
 if(MSVC)
@@ -29,15 +27,5 @@ if((${SPINE_SFML}) OR (${CMAKE_CURRENT_BINARY_DIR} MATCHES "spine-sfml"))
 	add_subdirectory(spine-sfml/cpp)
 endif()
 
-if((${SPINE_COCOS2D_OBJC}) OR (${CMAKE_CURRENT_BINARY_DIR} MATCHES "spine-cocos2d-objc"))
-	if (${CMAKE_SYSTEM_NAME} MATCHES "Darwin")
-		add_subdirectory(spine-cocos2d-objc)
-	endif()
-endif()
-
-if((${SPINE_COCOS2D_X}) OR (${CMAKE_CURRENT_BINARY_DIR} MATCHES "spine-cocos2dx"))
-	add_subdirectory(spine-cocos2dx)
-endif()
-
 # add_subdirectory(spine-c/spine-c-unit-tests)
 add_subdirectory(spine-cpp/spine-cpp-unit-tests)

+ 0 - 61
spine-cocos2dx/CMakeLists.txt

@@ -1,61 +0,0 @@
-cmake_minimum_required(VERSION 3.6)
-
-project(spine-cocos2dx-example)
-
-set(EXAMPLE_DIR "${CMAKE_CURRENT_LIST_DIR}/example")
-option(USE_COCOS2DX_V4 "Use cocos2d-x version 4.0+" OFF)
-
-if(USE_COCOS2DX_V4)
-	set(COCOS_FOLDER_NAME "cocos2d-x-4.0")	
-	set(COCOS_DOWNLOAD_URL "https://digitalocean.cocos2d-x.org/Cocos2D-X/${COCOS_FOLDER_NAME}.zip")
-	set(COCOS_SHORT_VERSION "v4")
-	set(EXAMPLE_DIR "${CMAKE_CURRENT_LIST_DIR}/example-v4")
-else()
-	set(COCOS_FOLDER_NAME "cocos2d-x-3.17.2")
-	set(COCOS_DOWNLOAD_URL "https://digitalocean.cocos2d-x.org/Cocos2D-X/${COCOS_FOLDER_NAME}.zip")
-	set(COCOS_SHORT_VERSION "v3")
-endif()
-
-if((NOT ${COCOS_CURRENT_VERSION} STREQUAL ${COCOS_SHORT_VERSION}) AND (NOT ${COCOS_CURRENT_VERSION} STREQUAL ""))
-	message(STATUS "Target Cocos2d-x version ${COCOS_SHORT_VERSION}, current ${COCOS_CURRENT_VERSION}")
-	message(STATUS "remove current folder ${EXAMPLE_DIR}/cocos2d")
-	file(REMOVE_RECURSE ${EXAMPLE_DIR}/cocos2d ${EXAMPLE_DIR}/cocos2dx.zip)
-endif()
-
-if (NOT EXISTS ${EXAMPLE_DIR}/cocos2d)
-
-	if(NOT EXISTS ${EXAMPLE_DIR}/cocos2dx.zip)
-		message(STATUS "Downloading cocos2dx ${COCOS_SHORT_VERSION} from ${COCOS_DOWNLOAD_URL}, this may take some time!")
-		# download cocos2d-x package
-		file(DOWNLOAD ${COCOS_DOWNLOAD_URL} "${EXAMPLE_DIR}/cocos2dx.zip" SHOW_PROGRESS)
-	else()
-		message(STATUS "${EXAMPLE_DIR}/cocos2dx.zip found!")
-	endif()
-
-
-	# untar
-	message(STATUS "untar ${EXAMPLE_DIR}/cocos2dx.zip ...")
-	execute_process(
-		COMMAND ${CMAKE_COMMAND} -E tar x ${EXAMPLE_DIR}/cocos2dx.zip
-		WORKING_DIRECTORY ${EXAMPLE_DIR}
-	)
-	# rename folder
-	execute_process(
-		COMMAND ${CMAKE_COMMAND} -E rename
-		"${EXAMPLE_DIR}/${COCOS_FOLDER_NAME}" "${EXAMPLE_DIR}/cocos2d"
-	)
-
-	set(COCOS_CURRENT_VERSION ${COCOS_SHORT_VERSION} CACHE STRING "update current version" FORCE)
-
-	# remove spine source code in cocos2d-x's source tree
-	execute_process(
-		COMMAND ${CMAKE_COMMAND} -E remove_directory "${EXAMPLE_DIR}/cocos2d/cocos/editor-support/spine"
-		COMMAND ${CMAKE_COMMAND} -E make_directory "${EXAMPLE_DIR}/cocos2d/cocos/editor-support/spine"
-	)
-else()
-	message(STATUS "${EXAMPLE_DIR}/cocos2d is already exists, current version ${COCOS_SHORT_VERSION}.")
-endif()
-
-if(USE_COCOS2DX_V4)
-	add_subdirectory("${EXAMPLE_DIR}")
-endif()

+ 65 - 104
spine-cocos2dx/README.md

@@ -22,116 +22,77 @@ 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.
 
-### 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 <spine/file.h>`, so the `spine` directory cannot be omitted when copying the source files.
+spine-cocos2dx works with both Cocos2d-x v3 and v4. The setup process is identical in both cases. The preferred way to integrate spine-cocos2dx into your Cocos2d-x project is to use the [Cocos2d-x CMake build system].
 
-### 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`
+1. [Create a new C++ cocos2d-x project](https://docs.cocos2d-x.org/cocos2d-x/v4/en/editors_and_tools/cocosCLTool.html). Let's assume you created your project in a folder `/path/to/MyGame/` somewhere on your disk.
+2. 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. Let's assume you cloned the Spine Runtimes to a folder `/path/to/spine-runtimes/` somewhere on your disk.
+3. Open `MyGame/CMakeLists.txt` in a text editor and modify it as follows:
+	* After the line `project(${APP_NAME})` add the following line:
+	 	```
+		include(/path/to/spine-runtimes/spine-cocos2dx/spine-cocos2dx.cmake)
+		```	  
+	* Before the line `target_link_libraries(${APP_NAME} cocos2d)`add the following line:
+		```
+		target_link_libraries(${APP_NAME} spine-cpp spine-cocos2dx)
+		```
+4. [Proceed with generating IDE files via CMake](https://docs.cocos2d-x.org/cocos2d-x/v4/en/installation/CMake-Guide.html) and build and run your project.
+
+For reference, have a look at our spine-cocos2dx example project in this repository described below.
 
 ## Example
-The Spine cocos2d-x example works on Windows, Mac OS X, iOS and Android.
-
-### 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.
-4. Run CMake GUI from the start menu
-5. Click `Browse Source` and select the directory `spine-runtimes/spine-cocos2dx/`
-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` 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.
-8. Open the file `spine-cocos2dx\example\cocos2d\cocos\2d\cocos2dx.props` and remove the `libSpine.lib` entry from the `<AdditionalDependencies>` 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/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 && 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. Open the Xcode project in `spine-runtimes/spine-cocos2dx/example/proj.ios_mac`
-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. Open `cocos2d_lib/audio/mac/CDXMacOSXSupport.h` and remove lines 43-46, deleting the `AudioSessionProperties` enum. This will allow cocos2d-x 3.7 to compile with the latest Xcode version.
-8. 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`
-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
-
-Please note the [new prerequisits to compile Cocos2d-x v4 projects on different platforms](https://docs.cocos2d-x.org/cocos2d-x/v4/en/installation/prerequisites.html). This includes an installation of Python 2.7.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. Install Python and make sure the `python.exe` is in your `PATH` environment variable. Python is required by cocos2d-x`s build system.
-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-v4` directory. You can create the `build-v4` folder directly in the file dialog via `New Folder`.
-7. Click `Configure`. Check `USE_COCOS2DX_V4`
-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.
-9. Click `Generate` this will create the Visual Studio solution in `spine-runtimes/spine-cocos2dx/build-v4`.
-8. Open the `spine-runtimes/spine-cocos2dx/build-v4/spine-cocos2dx-example.sln` file in Visual Studio 2019. Visual Studio may ask you to install the Windows XP/7 SDK, which you should install.
-9. Right click the `spine-cocos2dx-example` project in the solution explorer and select `Set as Startup Project` from the context menu
-10. Click `Local Windows Debugger` to run the example
-
-Make sure to build the example for Windows 32-bit!
-
-#### 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`
-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 -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. Execute `cocos run -s . -p android`, this will build, deploy and run the APK on a connected device.
+The spine-cocos2dx example works on Windows, Linux, macOS, iOS, Linux, and Android, for both cocos2d-x v3 and v4.
+
+Please [install the reprequisit software](https://docs.cocos2d-x.org/cocos2d-x/v4/en/installation/prerequisites.html) as per the Cocos2d-x documentation. Ensure that the following programs are executable from the command line:
+
+* Git
+* CMake
+* Python
+
+Before you can compile and run the example project for a specific target platform, you need to clone the [Cocos2d-x repository](https://github.com/cocos2d/cocos2d-x) to `spine-runtimes/spine-cocos2dx/example/cocos2d` and download the dependencies:
+
+```
+cd spine-runtimes/spine-cocos2dx/example
+git clone -b v4 --depth 1 https://github.com/cocos2d/cocos2d-x cocos2d
+python cocos2d/download-deps.py -r yes
+```
+
+> **NOTE:** If you want to run the example with Cocos2d-x version 3, replace `-b v4` with `-b v3` in the `git clone` command.
+
+> **NOTE:** On macOS Big Sur, replace `python` with `python3`.
+
+You can now use CMake to create IDE projects for the target platform you want to compile and run the example on.
+
+### macOS
+Execute the following on the command line:
+
+```
+cd spine-runtimes/spine-cocos2dx/example
+mkdir build-macos && cmake . -GXcode -Bbuild-macos
+open build-macos/spine-cocos2dx-example.xcodeproj
+```
+
+This will generate an Xcode project in `build-macos/spine-cocos2dx-example.xcodeproj` and open it in Xcode. To build and run the example, select the `spine-cocos2dx-example` scheme and press `CMD + R`.
+
+### iOS
+Execute the following on the command line:
+
+```
+cd spine-runtimes/spine-cocos2dx/example
+cmake . -GXcode -DCMAKE_SYSTEM_NAME=iOS -DCMAKE_OSX_SYSROOT=iphoneos -Bbuild-ios
+open build-ios/spine-cocos2dx-example.xcodeproj
+```
+
+This will generate an Xcode project in `build-ios/spine-cocos2dx-example.xcodeproj` and open it in Xcode. To build and run the example, select the `spine-cocos2dx-example` scheme and select a device or simulator to build for and run on. Finally, press `CMD + R` to build and run the example.
+
+### Android
+Open the project in `proj.android` in Android Studio. Make sure you have NDK version `24.0.8215888` installed via the SDK Manager. Alternatively, you can set the `ndkVersion` property in `proj.android/app/build.gradle` to the NDK version you have installed locally.
+
+### Windows
+**TBD**
 
 ## Notes
 
 * Images are premultiplied by cocos2d-x, so the Spine atlas images should *not* use premultiplied alpha.
 * Two color tinting needs to be enabled on a per-skeleton basis. Call `SkeletonRenderer::setTwoColorTine(true)` or `SkeletonAnimation::setTwoColorTint(true)` after you created the skeleton instance. Note that two color tinting requires a custom shader and vertex format. Skeletons rendered with two color tinting can therefore not be batched with single color tinted skeletons or other 2D cocos2d-x elements like sprites. However, two-color tinted skeletons will be batched if possible when rendered after one another. Attaching a child to a two color tinted skeleton will also break the batch.
+

+ 0 - 4
spine-cocos2dx/example-v4/.cocos-project.json

@@ -1,4 +0,0 @@
-{
-    "engine_version": "cocos2d-x-4.0", 
-    "project_type": "cpp"
-}

+ 0 - 171
spine-cocos2dx/example-v4/CMakeLists.txt

@@ -1,171 +0,0 @@
-#/****************************************************************************
-# Copyright (c) 2013-2014 cocos2d-x.org
-# Copyright (c) 2015-2017 Chukong Technologies Inc.
-#
-# http://www.cocos2d-x.org
-#
-# Permission is hereby granted, free of charge, to any person obtaining a copy
-# of this software and associated documentation files (the "Software"), to deal
-# in the Software without restriction, including without limitation the rights
-# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-# copies of the Software, and to permit persons to whom the Software is
-# furnished to do so, subject to the following conditions:
-
-# The above copyright notice and this permission notice shall be included in
-# all copies or substantial portions of the Software.
-
-# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-# THE SOFTWARE.
-# ****************************************************************************/
-
-cmake_minimum_required(VERSION 3.6)
-
-set(APP_NAME spine-cocos2dx-example)
-
-project(${APP_NAME})
-set(BUILD_EDITOR_SPINE OFF CACHE BOOL "Build editor support for spine" FORCE)
-set(BUILD_EXTENSIONS OFF CACHE BOOL "Build extensions" FORCE)
-
-if(XCODE)
-    if(NOT DEFINED CMAKE_XCODE_ATTRIBUTE_IPHONEOS_DEPLOYMENT_TARGET)
-        SET (CMAKE_XCODE_ATTRIBUTE_IPHONEOS_DEPLOYMENT_TARGET 8.0)
-    endif()
-endif()
-
-if(NOT DEFINED BUILD_ENGINE_DONE) # to test spine-cocos2dx-example into root project
-    set(COCOS2DX_ROOT_PATH ${CMAKE_CURRENT_SOURCE_DIR}/cocos2d)
-    set(CMAKE_MODULE_PATH ${COCOS2DX_ROOT_PATH}/cmake/Modules/)
-
-    include(CocosBuildSet)
-    add_subdirectory(${COCOS2DX_ROOT_PATH}/cocos ${ENGINE_BINARY_PATH}/cocos/core)
-endif()
-
-
-# Add spine-cpp library
-file(GLOB SPINE_CPP_HEADER "${CMAKE_CURRENT_SOURCE_DIR}/../../spine-cpp/spine-cpp/include/**/*.h")
-file(GLOB SPINE_CPP_SOURCE "${CMAKE_CURRENT_SOURCE_DIR}/../../spine-cpp/spine-cpp/src/**/*.cpp")
-add_library(spine-cpp STATIC ${SPINE_CPP_SOURCE} ${SPINE_CPP_HEADER})
-target_include_directories(spine-cpp PUBLIC "${CMAKE_CURRENT_SOURCE_DIR}/../../spine-cpp/spine-cpp/include/")
-
-# Add spine-cocos2dx library
-file(GLOB_RECURSE SPINE_COCOS2DX_HEADER "${CMAKE_CURRENT_SOURCE_DIR}/../src/**/*.h")
-file(GLOB_RECURSE SPINE_COCOS2DX_SOURCE "${CMAKE_CURRENT_SOURCE_DIR}/../src/**/*.cpp")
-add_library(spine-cocos2dx STATIC ${SPINE_COCOS2DX_SOURCE} ${SPINE_COCOS2DX_HEADER})
-target_include_directories(spine-cocos2dx PUBLIC "${CMAKE_CURRENT_SOURCE_DIR}/../../spine-cpp/spine-cpp/include/")
-target_include_directories(spine-cocos2dx PUBLIC "${CMAKE_CURRENT_SOURCE_DIR}/../src/")
-target_link_libraries(spine-cocos2dx PRIVATE cocos2d)
-
-# record sources, headers, resources...
-set(GAME_RES_FOLDER
-    "${CMAKE_CURRENT_SOURCE_DIR}/../example/Resources"
-    )
-if(APPLE OR WINDOWS)
-    cocos_mark_multi_resources(common_res_files RES_TO "Resources" FOLDERS ${GAME_RES_FOLDER})
-endif()
-
-# add cross-platforms source files and header files
-file(GLOB_RECURSE GAME_SOURCE "${CMAKE_CURRENT_SOURCE_DIR}/../example/Classes/*.cpp")
-file(GLOB_RECURSE GAME_HEADER "${CMAKE_CURRENT_SOURCE_DIR}/../example/Classes/*.h")
-set(GAME_INCLUDE "${CMAKE_CURRENT_SOURCE_DIR}/../example/Classes")
-
-if(ANDROID)
-    # change APP_NAME to the share library name for Android, it's value depend on AndroidManifest.xml
-    set(APP_NAME MyGame)
-    list(APPEND GAME_SOURCE
-         proj.android/app/jni/hellocpp/main.cpp
-         )
-elseif(LINUX)
-    list(APPEND GAME_SOURCE
-         proj.linux/main.cpp
-         )
-elseif(WINDOWS)
-    list(APPEND GAME_HEADER
-         proj.win32/main.h
-         proj.win32/resource.h
-         )
-    list(APPEND GAME_SOURCE
-         proj.win32/main.cpp
-         proj.win32/game.rc
-         ${common_res_files}
-         )
-elseif(APPLE)
-    if(IOS)
-        list(APPEND GAME_HEADER
-             proj.ios_mac/ios/AppController.h
-             proj.ios_mac/ios/RootViewController.h
-             )
-        set(APP_UI_RES
-            proj.ios_mac/ios/LaunchScreen.storyboard
-            proj.ios_mac/ios/LaunchScreenBackground.png
-            proj.ios_mac/ios/Images.xcassets
-            )
-        list(APPEND GAME_SOURCE
-             proj.ios_mac/ios/main.m
-             proj.ios_mac/ios/AppController.mm
-             proj.ios_mac/ios/RootViewController.mm
-             proj.ios_mac/ios/Prefix.pch
-             ${APP_UI_RES}
-             )
-    elseif(MACOSX)
-        set(APP_UI_RES
-            proj.ios_mac/mac/Icon.icns
-            proj.ios_mac/mac/Info.plist
-            )
-        list(APPEND GAME_SOURCE
-             proj.ios_mac/mac/main.cpp
-             proj.ios_mac/mac/Prefix.pch
-             ${APP_UI_RES}
-             )
-    endif()
-    list(APPEND GAME_SOURCE ${common_res_files})
-endif()
-
-# mark app complie info and libs info
-set(all_code_files
-    ${GAME_HEADER}
-    ${GAME_SOURCE}
-    )
-if(NOT ANDROID)
-    add_executable(${APP_NAME} ${all_code_files})
-	target_link_libraries(${APP_NAME} spine-cpp spine-cocos2dx)
-else()
-    add_library(${APP_NAME} SHARED ${all_code_files})
-    add_subdirectory(${COCOS2DX_ROOT_PATH}/cocos/platform/android ${ENGINE_BINARY_PATH}/cocos/platform)
-	target_link_libraries(${APP_NAME} -Wl,--whole-archive cpp_android_spec -Wl,--no-whole-archive)
-    target_link_libraries(${APP_NAME} spine-cocos2dx)
-	target_link_libraries(${APP_NAME} spine-cpp)
-endif()
-
-target_link_libraries(${APP_NAME} cocos2d)
-target_include_directories(${APP_NAME}
-        PRIVATE ${GAME_INCLUDE}
-        PRIVATE ${COCOS2DX_ROOT_PATH}/cocos/audio/include/
-)
-
-# mark app resources
-setup_cocos_app_config(${APP_NAME})
-if(APPLE)
-    set_target_properties(${APP_NAME} PROPERTIES RESOURCE "${APP_UI_RES}")
-
-    if(MACOSX)
-        set_target_properties(${APP_NAME} PROPERTIES MACOSX_BUNDLE_INFO_PLIST "${CMAKE_CURRENT_SOURCE_DIR}/proj.ios_mac/mac/Info.plist")
-    elseif(IOS)
-        set_target_properties(${APP_NAME} PROPERTIES MACOSX_BUNDLE_INFO_PLIST "${CMAKE_CURRENT_SOURCE_DIR}/proj.ios_mac/ios/Info.plist")
-        set_xcode_property(${APP_NAME} ASSETCATALOG_COMPILER_APPICON_NAME "AppIcon")
-    endif()
-
-    # For code-signing, set the DEVELOPMENT_TEAM:
-    #set_xcode_property(${APP_NAME} DEVELOPMENT_TEAM "GRLXXXX2K9")
-elseif(WINDOWS)
-    cocos_copy_target_dll(${APP_NAME})
-endif()
-
-if(LINUX OR WINDOWS)
-    cocos_get_resource_path(APP_RES_DIR ${APP_NAME})
-    cocos_copy_target_res(${APP_NAME} LINK_TO ${APP_RES_DIR} FOLDERS ${GAME_RES_FOLDER})
-endif()

BIN
spine-cocos2dx/example-v4/Resources/common/coin-pro.skel


+ 0 - 18
spine-cocos2dx/example-v4/Resources/common/coin.atlas

@@ -1,18 +0,0 @@
-coin.png
-	size: 1024, 1024
-	filter: Linear, Linear
-coin-front-logo
-	bounds: 2, 570, 305, 302
-coin-front-shine-logo
-	bounds: 2, 286, 282, 282
-coin-front-shine-spineboy
-	bounds: 305, 283, 282, 282
-coin-front-spineboy
-	bounds: 309, 567, 305, 302
-	rotate: 90
-coin-side-round
-	bounds: 2, 2, 144, 282
-coin-side-straight
-	bounds: 286, 286, 17, 282
-shine
-	bounds: 148, 39, 72, 245

BIN
spine-cocos2dx/example-v4/Resources/common/coin.png


+ 0 - 1232
spine-cocos2dx/example-v4/Resources/common/goblins-pro.json

@@ -1,1232 +0,0 @@
-{
-"skeleton": {
-	"hash": "CdaHvXeCMjE",
-	"spine": "4.1.23-beta",
-	"x": -134.12,
-	"y": -3.28,
-	"width": 266.94,
-	"height": 349.61,
-	"images": "./images/",
-	"audio": ""
-},
-"bones": [
-	{ "name": "root" },
-	{ "name": "hip", "parent": "root", "x": 0.65, "y": 114.41, "color": "ffcf00ff" },
-	{
-		"name": "torso",
-		"parent": "hip",
-		"length": 85.83,
-		"rotation": 93.93,
-		"x": -6.42,
-		"y": 1.98,
-		"color": "ffcf00ff"
-	},
-	{
-		"name": "neck",
-		"parent": "torso",
-		"length": 18.38,
-		"rotation": -1.52,
-		"x": 81.68,
-		"y": -6.35,
-		"color": "ffcf00ff"
-	},
-	{
-		"name": "head",
-		"parent": "neck",
-		"length": 68.29,
-		"rotation": -13.92,
-		"x": 20.94,
-		"y": 11.59,
-		"color": "ffcf00ff"
-	},
-	{
-		"name": "left-shoulder",
-		"parent": "torso",
-		"length": 35.43,
-		"rotation": -156.96,
-		"x": 74.05,
-		"y": -20.39,
-		"color": "ff0000ff"
-	},
-	{
-		"name": "left-arm",
-		"parent": "left-shoulder",
-		"length": 35.62,
-		"rotation": 28.17,
-		"x": 37.86,
-		"y": -2.35,
-		"color": "ff0000ff"
-	},
-	{
-		"name": "left-upper-leg",
-		"parent": "hip",
-		"length": 50.4,
-		"rotation": -89.1,
-		"x": 14.45,
-		"y": 2.81,
-		"color": "ff0000ff"
-	},
-	{
-		"name": "left-lower-leg",
-		"parent": "left-upper-leg",
-		"length": 49.9,
-		"rotation": -16.66,
-		"x": 56.34,
-		"y": 0.99,
-		"color": "ff0000ff"
-	},
-	{
-		"name": "left-foot",
-		"parent": "left-lower-leg",
-		"length": 46.5,
-		"rotation": 102.43,
-		"x": 58.94,
-		"y": -7.61,
-		"color": "ff0000ff"
-	},
-	{
-		"name": "left-hand",
-		"parent": "left-arm",
-		"length": 11.52,
-		"rotation": 2.7,
-		"x": 35.62,
-		"y": 0.08,
-		"color": "ff0000ff"
-	},
-	{ "name": "pelvis", "parent": "hip", "x": 1.41, "y": -6.58, "color": "ffcf00ff" },
-	{
-		"name": "right-shoulder",
-		"parent": "torso",
-		"length": 37.25,
-		"rotation": 133.89,
-		"x": 76.02,
-		"y": 18.15,
-		"color": "62ff00ff"
-	},
-	{
-		"name": "right-arm",
-		"parent": "right-shoulder",
-		"length": 36.75,
-		"rotation": 36.33,
-		"x": 37.61,
-		"y": 0.31,
-		"color": "62ff00ff"
-	},
-	{
-		"name": "right-upper-leg",
-		"parent": "hip",
-		"length": 42.46,
-		"rotation": -97.5,
-		"x": -20.08,
-		"y": -6.84,
-		"color": "62ff00ff"
-	},
-	{
-		"name": "right-lower-leg",
-		"parent": "right-upper-leg",
-		"length": 58.53,
-		"rotation": -14.34,
-		"x": 43,
-		"y": -0.62,
-		"color": "62ff00ff"
-	},
-	{
-		"name": "right-foot",
-		"parent": "right-lower-leg",
-		"length": 45.46,
-		"rotation": 110.31,
-		"x": 64.89,
-		"y": 0.04,
-		"color": "62ff00ff"
-	},
-	{
-		"name": "right-hand",
-		"parent": "right-arm",
-		"length": 15.32,
-		"rotation": 2.36,
-		"x": 36.9,
-		"y": 0.35,
-		"color": "62ff00ff"
-	},
-	{
-		"name": "spear1",
-		"parent": "left-hand",
-		"length": 65.07,
-		"rotation": 102.43,
-		"x": 0.48,
-		"y": 17.03,
-		"color": "ffcf00ff"
-	},
-	{
-		"name": "spear2",
-		"parent": "spear1",
-		"length": 61.42,
-		"rotation": 0.9,
-		"x": 65.06,
-		"y": 0.04,
-		"color": "ffcf00ff"
-	},
-	{
-		"name": "spear3",
-		"parent": "spear2",
-		"length": 76.8,
-		"rotation": -0.9,
-		"x": 61.89,
-		"y": 0.57,
-		"color": "ffcf00ff"
-	}
-],
-"slots": [
-	{ "name": "left-shoulder", "bone": "left-shoulder", "attachment": "left-shoulder" },
-	{ "name": "left-arm", "bone": "left-arm", "attachment": "left-arm" },
-	{ "name": "left-hand-item", "bone": "left-hand", "attachment": "spear" },
-	{ "name": "left-hand", "bone": "left-hand", "attachment": "left-hand" },
-	{ "name": "left-foot", "bone": "left-foot", "attachment": "left-foot" },
-	{ "name": "left-lower-leg", "bone": "left-lower-leg", "attachment": "left-lower-leg" },
-	{ "name": "left-upper-leg", "bone": "left-upper-leg", "attachment": "left-upper-leg" },
-	{ "name": "neck", "bone": "neck", "attachment": "neck" },
-	{ "name": "torso", "bone": "torso", "attachment": "torso" },
-	{ "name": "pelvis", "bone": "pelvis", "attachment": "pelvis" },
-	{ "name": "right-foot", "bone": "right-foot", "attachment": "right-foot" },
-	{ "name": "right-lower-leg", "bone": "right-lower-leg", "attachment": "right-lower-leg" },
-	{ "name": "undie-straps", "bone": "pelvis", "attachment": "undie-straps" },
-	{ "name": "undies", "bone": "pelvis", "attachment": "undies" },
-	{ "name": "right-upper-leg", "bone": "right-upper-leg", "attachment": "right-upper-leg" },
-	{ "name": "head", "bone": "head", "attachment": "head" },
-	{ "name": "eyes", "bone": "head" },
-	{ "name": "right-shoulder", "bone": "right-shoulder", "attachment": "right-shoulder" },
-	{ "name": "right-arm", "bone": "right-arm", "attachment": "right-arm" },
-	{ "name": "right-hand-thumb", "bone": "right-hand", "attachment": "right-hand-thumb" },
-	{ "name": "right-hand-item", "bone": "right-hand", "attachment": "dagger" },
-	{ "name": "right-hand", "bone": "right-hand", "attachment": "right-hand" },
-	{ "name": "right-hand-item2", "bone": "right-hand", "attachment": "shield" }
-],
-"skins": [
-	{
-		"name": "default",
-		"attachments": {
-			"left-hand-item": {
-				"dagger": { "x": 7.88, "y": -23.46, "rotation": 10.48, "width": 26, "height": 108 },
-				"spear": {
-					"type": "mesh",
-					"uvs": [ 1, 0.11236, 0.77096, 0.13278, 0.76608, 0.21781, 0.75642, 0.386, 0.74723, 0.54607, 0.72117, 1, 0.28838, 1, 0.24208, 0.54328, 0.2259, 0.38362, 0.20891, 0.21605, 0.20043, 0.13243, 0, 0.1152, 0.4527, 0, 0.58399, 0 ],
-					"triangles": [ 4, 7, 3, 6, 7, 4, 5, 6, 4, 10, 11, 12, 1, 13, 0, 12, 13, 1, 10, 12, 1, 9, 10, 1, 2, 9, 1, 8, 9, 2, 3, 8, 2, 7, 8, 3 ],
-					"vertices": [ 1, 20, 38.54, -10.89, 1, 1, 20, 30.97, -5.93, 1, 2, 19, 61.48, -5.59, 0.5116, 20, -0.31, -6.16, 0.4884, 2, 18, 64.73, -5.03, 0.50272, 19, -0.4, -5.07, 0.49728, 1, 10, 4.57, 23.91, 1, 1, 10, 41.7, -138.95, 1, 1, 10, 32.43, -141.1, 1, 1, 10, -6.49, 22.41, 1, 2, 18, 65.48, 6.65, 0.50272, 19, 0.53, 6.6, 0.49728, 2, 19, 62.19, 6.67, 0.5116, 20, 0.2, 6.1, 0.4884, 1, 20, 30.97, 6.62, 1, 1, 20, 37.26, 11.09, 1, 1, 20, 79.75, 1.6, 1, 1, 20, 79.78, -1.29, 1 ],
-					"hull": 14,
-					"edges": [ 24, 22, 22, 20, 10, 12, 2, 0, 24, 26, 0, 26, 8, 10, 12, 14, 6, 8, 14, 16, 2, 4, 4, 6, 16, 18, 18, 20, 20, 2 ],
-					"width": 22,
-					"height": 368
-				}
-			},
-			"right-hand-item": {
-				"dagger": {
-					"type": "mesh",
-					"uvs": [ 0.78092, 0.38453, 1, 0.38406, 1, 0.44882, 0.73954, 0.4687, 0.74642, 0.81344, 0.34023, 1, 0.15434, 1, 0.11304, 0.78858, 0.23007, 0.47368, 0, 0.45047, 0, 0.38622, 0.22368, 0.38573, 0.24384, 0, 1, 0 ],
-					"triangles": [ 0, 12, 13, 11, 12, 0, 0, 1, 2, 9, 10, 11, 3, 11, 0, 3, 0, 2, 8, 11, 3, 9, 11, 8, 5, 6, 7, 4, 5, 8, 4, 8, 3, 5, 7, 8 ],
-					"vertices": [ 15.49, -12.83, 21.14, -13.57, 20.16, -20.5, 13.16, -21.68, 8.13, -58.57, -5.14, -77.04, -9.92, -76.37, -7.8, -53.61, -0.03, -20.36, -5.61, -17.04, -4.64, -10.17, 1.13, -10.93, 7.47, 30.24, 26.93, 27.5 ],
-					"hull": 14,
-					"edges": [ 22, 20, 24, 26, 22, 24, 2, 0, 0, 22, 0, 26, 12, 14, 14, 16, 18, 20, 16, 18, 2, 4, 4, 6, 6, 8, 10, 12, 8, 10 ],
-					"width": 26,
-					"height": 108
-				}
-			},
-			"right-hand-item2": {
-				"shield": { "rotation": 93.5, "width": 70, "height": 72 }
-			}
-		}
-	},
-	{
-		"name": "goblin",
-		"attachments": {
-			"eyes": {
-				"eyes-closed": { "name": "goblin/eyes-closed", "x": 29.19, "y": -24.9, "rotation": -88.93, "width": 34, "height": 12 }
-			},
-			"head": {
-				"head": {
-					"name": "goblin/head",
-					"type": "mesh",
-					"uvs": [ 0, 0.60495, 0.14172, 0.51451, 0.24218, 0.55229, 0.32668, 0.67807, 0.37969, 0.79352, 0.53505, 0.93015, 0.86057, 1, 0.94071, 0.94169, 0.92099, 0.69924, 0.9888, 0.65498, 0.99003, 0.51643, 0.89633, 0.43562, 0.94487, 0.41917, 1, 0.39713, 1, 0.2836, 0.94017, 0.27027, 0.87906, 0.25666, 0.80755, 0.16045, 0.66699, 0.01998, 0.4734, 0.01806, 0.29215, 0.19893, 0.25393, 0.31824, 0.09117, 0.32401, 0, 0.44331, 0.43271, 0.69154, 0.46601, 0.47795, 0.35997, 0.31246, 0.73474, 0.68594, 0.72216, 0.57426, 0.8818, 0.5583, 0.80268, 0.51016 ],
-					"triangles": [ 5, 27, 6, 7, 27, 8, 7, 6, 27, 4, 24, 5, 5, 24, 27, 4, 3, 24, 27, 29, 8, 8, 29, 9, 24, 28, 27, 24, 25, 28, 24, 3, 25, 29, 28, 30, 29, 27, 28, 25, 2, 26, 25, 3, 2, 9, 29, 10, 0, 23, 1, 28, 25, 30, 29, 11, 10, 29, 30, 11, 2, 21, 26, 2, 1, 21, 23, 22, 1, 1, 22, 21, 30, 16, 11, 30, 17, 16, 30, 25, 17, 17, 26, 18, 18, 26, 19, 26, 17, 25, 11, 15, 12, 11, 16, 15, 12, 15, 13, 15, 14, 13, 21, 20, 26, 26, 20, 19 ],
-					"vertices": [ 14.56, 50.42, 23.12, 35.48, 17.47, 26.36, 11.58, 16.87, 3.75, 11.71, -5.9, -3.92, -11.83, -37.24, -8.32, -45.64, 7.75, -44.24, 10.4, -51.34, 19.53, -51.83, 25.21, -43.16, 26.13, -47.43, 27.36, -53.16, 34.84, -53.46, 35.97, -47.34, 37.11, -41.09, 43.75, -33.98, 53.59, -19.88, 54.51, 0.04, 43.32, 19.17, 35.61, 23.41, 35.89, 40.18, 28.4, 49.87, 10.26, 5.99, 24.21, 2, 35.55, 12.48, 9.39, -25.11, 16.8, -24.31, 17.21, -40.66, 20.69, -33.02 ],
-					"hull": 24,
-					"edges": [ 0, 2, 6, 8, 8, 10, 10, 12, 12, 14, 14, 16, 16, 18, 18, 20, 20, 22, 26, 28, 32, 34, 34, 36, 36, 38, 38, 40, 40, 42, 42, 44, 44, 46, 0, 46, 6, 48, 48, 50, 50, 52, 52, 42, 2, 4, 4, 6, 4, 52, 2, 44, 22, 32, 22, 24, 24, 26, 28, 30, 30, 32, 24, 30, 16, 54, 54, 56, 20, 58, 58, 54, 16, 58, 22, 60, 60, 56, 58, 60 ],
-					"width": 103,
-					"height": 66
-				}
-			},
-			"left-arm": {
-				"left-arm": {
-					"name": "goblin/left-arm",
-					"type": "mesh",
-					"uvs": [ 0.68993, 0.29284, 1, 0.46364, 1, 0.74644, 0.8409, 1, 0.66344, 1, 0.33766, 0.64284, 0, 0.44124, 0, 0, 0.34296, 0 ],
-					"triangles": [ 3, 4, 2, 4, 5, 2, 5, 0, 2, 0, 1, 2, 0, 5, 8, 5, 6, 8, 6, 7, 8 ],
-					"vertices": [ 18.6, 8.81, 32.2, 10.32, 38.02, 1.63, 38.08, -9.63, 32.32, -13.5, 14.37, -9.62, -0.76, -10.78, -9.85, 2.78, 1.29, 10.25 ],
-					"hull": 9,
-					"edges": [ 14, 16, 16, 0, 0, 2, 2, 4, 6, 4, 6, 8, 8, 10, 12, 14, 10, 12 ],
-					"width": 37,
-					"height": 35
-				}
-			},
-			"left-foot": {
-				"left-foot": {
-					"name": "goblin/left-foot",
-					"type": "mesh",
-					"uvs": [ 0.15734, 0.31874, 0.08195, 0.78503, 0.15884, 0.99367, 0.41633, 0.96805, 0.68823, 0.97637, 1, 0.96388, 0.99386, 0.73501, 0.85295, 0.51863, 0.61479, 0.31056, 0.46992, 0, 0.48033, 0.75604, 0.75995, 0.77706 ],
-					"triangles": [ 0, 9, 8, 10, 0, 8, 10, 8, 7, 11, 10, 7, 11, 7, 6, 1, 0, 10, 11, 6, 5, 3, 1, 10, 4, 10, 11, 4, 11, 5, 3, 10, 4, 2, 1, 3 ],
-					"vertices": [ 2.28, 13.07, -1.77, -1.64, 3.6, -7.81, 20.26, -6.04, 37.92, -5.28, 58.13, -3.71, 57.32, 3.35, 47.78, 9.51, 31.95, 15.05, 21.99, 24.12, 24.03, 0.76, 42.21, 1.16 ],
-					"hull": 10,
-					"edges": [ 0, 2, 2, 4, 4, 6, 6, 8, 8, 10, 10, 12, 12, 14, 14, 16, 16, 18, 0, 18, 6, 20, 20, 16, 2, 20, 8, 22, 22, 14, 20, 22, 22, 10 ],
-					"width": 65,
-					"height": 31
-				}
-			},
-			"left-hand": {
-				"left-hand": {
-					"name": "goblin/left-hand",
-					"type": "mesh",
-					"uvs": [ 0.51801, 0.12578, 1, 0.16286, 0.99789, 0.50578, 0.69745, 1, 0.37445, 1, 0, 0.80051, 0, 0.42793, 0.17601, 0, 0.43568, 0 ],
-					"triangles": [ 2, 0, 1, 0, 5, 6, 6, 7, 0, 0, 7, 8, 3, 4, 0, 4, 5, 0, 2, 3, 0 ],
-					"vertices": [ -3.11, 15.43, 10.84, 22.27, 15.5, 14.56, 18.36, -8.96, 9.48, -14.33, -4.59, -14.3, -11.64, -2.64, -14.89, 13.68, -7.76, 18 ],
-					"hull": 9,
-					"edges": [ 16, 0, 0, 2, 2, 4, 4, 6, 6, 8, 8, 10, 10, 12, 14, 16, 12, 14 ],
-					"width": 36,
-					"height": 41
-				}
-			},
-			"left-lower-leg": {
-				"left-lower-leg": {
-					"name": "goblin/left-lower-leg",
-					"type": "mesh",
-					"uvs": [ 0.95509, 0.2075, 0.81927, 0.65214, 0.94754, 0.77308, 0.67842, 0.97347, 0.46464, 1, 0.26845, 1, 0.04964, 0.90707, 0.21061, 0.60115, 0.07479, 0.40195, 0.18545, 0, 0.28858, 0 ],
-					"triangles": [ 10, 8, 9, 1, 7, 10, 7, 8, 10, 0, 1, 10, 1, 4, 7, 3, 1, 2, 5, 6, 7, 7, 4, 5, 1, 3, 4 ],
-					"vertices": [ -0.2, 6.82, 30.97, 10.96, 37.97, 17.34, 53.88, 12.6, 57.59, 6.32, 59.35, 0.09, 55.05, -8.63, 33, -9.34, 20.8, -17.44, -7.28, -21.57, -8.2, -18.29 ],
-					"hull": 11,
-					"edges": [ 20, 0, 0, 2, 2, 4, 4, 6, 6, 8, 8, 10, 10, 12, 12, 14, 14, 16, 18, 20, 16, 18 ],
-					"width": 33,
-					"height": 70
-				}
-			},
-			"left-shoulder": {
-				"left-shoulder": {
-					"name": "goblin/left-shoulder",
-					"type": "mesh",
-					"uvs": [ 0.7377, 0.40692, 1, 0.75238, 1, 1, 0.62046, 1, 0.26184, 0.56602, 0, 0.29783, 0, 0, 0.44115, 0 ],
-					"triangles": [ 3, 1, 2, 3, 0, 1, 3, 4, 0, 4, 7, 0, 4, 5, 7, 5, 6, 7 ],
-					"vertices": [ 15.18, 5.74, 32.17, 5.33, 41.79, 0.22, 36.63, -9.5, 14.89, -9.73, 0.9, -10.9, -10.67, -4.75, -4.67, 6.55 ],
-					"hull": 8,
-					"edges": [ 12, 14, 14, 0, 4, 2, 0, 2, 4, 6, 6, 8, 10, 12, 8, 10 ],
-					"width": 29,
-					"height": 44
-				}
-			},
-			"left-upper-leg": {
-				"left-upper-leg": {
-					"name": "goblin/left-upper-leg",
-					"type": "mesh",
-					"uvs": [ 1, 0.12168, 1, 0.54873, 0.91067, 0.78907, 0.76568, 1, 0.30871, 0.95791, 0, 0.68777, 0, 0.21901, 0.51962, 0, 0.87552, 0 ],
-					"triangles": [ 7, 8, 0, 5, 6, 7, 0, 1, 7, 4, 5, 7, 1, 4, 7, 2, 4, 1, 3, 4, 2 ],
-					"vertices": [ 2.34, 13.07, 33.51, 12.57, 51, 9.34, 66.32, 4.31, 63.01, -10.71, 43.13, -20.59, 8.91, -20.04, -6.8, -2.64, -6.61, 9.1 ],
-					"hull": 9,
-					"edges": [ 10, 8, 8, 6, 6, 4, 4, 2, 10, 12, 12, 14, 14, 16, 2, 0, 16, 0 ],
-					"width": 33,
-					"height": 73
-				}
-			},
-			"neck": {
-				"neck": {
-					"name": "goblin/neck",
-					"type": "mesh",
-					"uvs": [ 0.81968, 0.27365, 0.92101, 0.82048, 0.47135, 1, 0.15679, 0.93541, 0, 0.7556, 0.19268, 0.51834, 0.15468, 0.35707, 0, 0.2199, 0.13568, 0, 0.68879, 0, 0.70146, 0.53873 ],
-					"triangles": [ 3, 5, 2, 2, 10, 1, 2, 5, 10, 3, 4, 5, 10, 0, 1, 0, 10, 6, 10, 5, 6, 7, 8, 6, 6, 9, 0, 6, 8, 9 ],
-					"vertices": [ 18.63, -11.66, -3.98, -13.86, -10.29, 2.77, -6.92, 13.9, 0.8, 19.06, 10.06, 11.51, 16.75, 12.45, 22.72, 17.65, 31.4, 12.2, 30.12, -7.68, 8.05, -6.71 ],
-					"hull": 10,
-					"edges": [ 14, 12, 12, 10, 10, 8, 8, 6, 6, 4, 4, 2, 2, 20, 20, 0, 0, 18, 16, 18, 14, 16, 0, 2 ],
-					"width": 36,
-					"height": 41
-				}
-			},
-			"pelvis": {
-				"pelvis": {
-					"name": "goblin/pelvis",
-					"type": "mesh",
-					"uvs": [ 1, 1, 0, 1, 0, 0, 1, 0 ],
-					"triangles": [ 1, 2, 3, 1, 3, 0 ],
-					"vertices": [ 25.38, -20.73, -36.62, -20.73, -36.62, 22.27, 25.38, 22.27 ],
-					"hull": 4,
-					"edges": [ 0, 2, 2, 4, 4, 6, 0, 6 ],
-					"width": 62,
-					"height": 43
-				}
-			},
-			"right-arm": {
-				"right-arm": {
-					"name": "goblin/right-arm",
-					"type": "mesh",
-					"uvs": [ 1, 0.09223, 1, 0.8501, 0.72058, 1, 0.24385, 1, 0, 0.86559, 0.20823, 0.1092, 0.50903, 0, 0.85342, 0 ],
-					"triangles": [ 1, 2, 6, 6, 2, 5, 1, 6, 0, 4, 5, 3, 2, 3, 5, 6, 7, 0 ],
-					"vertices": [ -4.75, 8.89, 33.03, 11.74, 40.99, 5.9, 41.82, -5.03, 35.54, -11.13, -2.54, -9.2, -8.5, -2.72, -9.1, 5.18 ],
-					"hull": 8,
-					"edges": [ 8, 6, 4, 6, 4, 2, 12, 14, 2, 0, 14, 0, 10, 12, 8, 10 ],
-					"width": 23,
-					"height": 50
-				}
-			},
-			"right-foot": {
-				"right-foot": {
-					"name": "goblin/right-foot",
-					"type": "mesh",
-					"uvs": [ 0.40851, 0.00471, 0.59088, 0.33404, 0.75959, 0.48311, 0.88907, 0.59751, 0.97533, 0.89392, 0.90386, 1, 0.6722, 1, 0.38633, 1, 0.08074, 1, 0, 0.88921, 0, 0.65985, 0, 0.46578, 0.0906, 0.0988, 0.305, 0, 0.47461, 0.71258, 0.71501, 0.74681 ],
-					"triangles": [ 1, 10, 11, 1, 13, 0, 14, 1, 2, 1, 12, 13, 12, 1, 11, 14, 10, 1, 15, 14, 2, 15, 2, 3, 9, 10, 14, 15, 3, 4, 7, 8, 9, 14, 7, 9, 6, 14, 15, 5, 6, 15, 7, 14, 6, 4, 5, 15 ],
-					"vertices": [ 17.36, 26, 29.14, 15.44, 39.89, 10.81, 48.15, 7.25, 53.84, -2.38, 49.43, -6, 34.85, -6.39, 16.84, -6.87, -2.4, -7.38, -7.59, -3.87, -7.79, 3.7, -7.96, 10.1, -2.57, 22.36, 10.84, 25.98, 22.15, 2.76, 37.32, 2.03 ],
-					"hull": 14,
-					"edges": [ 0, 2, 6, 8, 8, 10, 16, 18, 22, 24, 24, 26, 0, 26, 10, 12, 2, 4, 4, 6, 12, 14, 14, 16, 18, 20, 20, 22, 2, 28, 28, 14, 20, 28, 4, 30, 30, 12, 28, 30, 30, 8 ],
-					"width": 63,
-					"height": 33
-				}
-			},
-			"right-hand": {
-				"right-hand": {
-					"name": "goblin/right-hand",
-					"type": "mesh",
-					"uvs": [ 0.17957, 0, 0, 0.44772, 0, 0.79734, 0.20057, 0.94264, 0.55057, 1, 0.8539, 1, 0.89824, 0.82005, 0.8259, 0.74286, 0.84224, 0.49994, 0.96357, 0.34102, 0.66024, 0 ],
-					"triangles": [ 8, 10, 9, 0, 10, 1, 8, 2, 1, 8, 1, 10, 7, 3, 8, 3, 2, 8, 4, 3, 7, 5, 7, 6, 4, 7, 5 ],
-					"vertices": [ -10.83, -9.45, 5.95, -15.35, 18.88, -14.9, 24.01, -7.5, 25.69, 5.16, 25.32, 16.08, 18.61, 17.44, 15.85, 14.74, 6.84, 15.02, 0.82, 19.19, -11.42, 7.84 ],
-					"hull": 11,
-					"edges": [ 0, 2, 2, 4, 4, 6, 6, 8, 8, 10, 10, 12, 12, 14, 14, 16, 16, 18, 18, 20, 0, 20 ],
-					"width": 36,
-					"height": 37
-				}
-			},
-			"right-hand-thumb": {
-				"right-hand-thumb": {
-					"name": "goblin/right-hand",
-					"type": "mesh",
-					"uvs": [ 0.88538, 0.22263, 0.76168, 0.3594, 0.75089, 0.78308, 0.95326, 0.84981, 1, 0.60303 ],
-					"triangles": [ 1, 0, 4, 2, 1, 4, 3, 2, 4 ],
-					"vertices": [ -2.82, 15.98, 2.4, 11.72, 18.08, 11.91, 20.28, 19.28, 11.09, 20.62 ],
-					"hull": 5,
-					"edges": [ 2, 4, 4, 6, 6, 8, 2, 0, 0, 8 ],
-					"width": 36,
-					"height": 37
-				}
-			},
-			"right-lower-leg": {
-				"right-lower-leg": {
-					"name": "goblin/right-lower-leg",
-					"type": "mesh",
-					"uvs": [ 1, 0.27261, 0.81312, 0.52593, 0.79587, 0.71796, 0.95544, 0.80989, 0.85194, 0.95493, 0.47242, 1, 0.14034, 1, 0, 0.8773, 0.14896, 0.67914, 0.1619, 0.30326, 0.60611, 0 ],
-					"triangles": [ 1, 10, 0, 9, 10, 1, 8, 9, 1, 2, 8, 1, 4, 2, 3, 6, 7, 8, 5, 6, 8, 2, 5, 8, 4, 5, 2 ],
-					"vertices": [ 6.27, 8.46, 23.32, 8.05, 37.1, 12.9, 41.45, 20.83, 53.07, 21.47, 61.33, 10.06, 65.78, -1.04, 59, -9.19, 43.02, -9.82, 16.33, -20.01, -12.8, -9.26 ],
-					"hull": 11,
-					"edges": [ 0, 2, 2, 4, 4, 6, 6, 8, 8, 10, 10, 12, 12, 14, 14, 16, 16, 18, 0, 20, 18, 20 ],
-					"width": 36,
-					"height": 76
-				}
-			},
-			"right-shoulder": {
-				"right-shoulder": {
-					"name": "goblin/right-shoulder",
-					"type": "mesh",
-					"uvs": [ 0.62008, 0.03709, 0.92131, 0.09049, 1, 0.3832, 0.72049, 0.69371, 0.31657, 1, 0, 1, 0, 0.75106, 0.28234, 0.49989 ],
-					"triangles": [ 4, 6, 7, 4, 7, 3, 4, 5, 6, 7, 0, 3, 2, 0, 1, 2, 3, 0 ],
-					"vertices": [ -3.17, -11.05, -9, -0.58, -1.01, 10.34, 16.69, 11.17, 37.41, 8.2, 45.46, -1.16, 36.96, -8.46, 21.21, -7.48 ],
-					"hull": 8,
-					"edges": [ 10, 12, 12, 14, 14, 0, 0, 2, 2, 4, 4, 6, 8, 10, 6, 8 ],
-					"width": 39,
-					"height": 45
-				}
-			},
-			"right-upper-leg": {
-				"right-upper-leg": {
-					"name": "goblin/right-upper-leg",
-					"type": "mesh",
-					"uvs": [ 0.27019, 0, 0.11619, 0.18177, 0, 0.70688, 0, 0.89577, 0.26669, 1, 0.48719, 1, 0.67619, 0.83533, 1, 0.5161, 1, 0.25544, 0.74619, 0.0571 ],
-					"triangles": [ 9, 8, 7, 9, 1, 0, 6, 9, 7, 6, 1, 9, 2, 1, 6, 4, 3, 2, 6, 4, 2, 5, 4, 6 ],
-					"vertices": [ -9.86, -10.37, 2.18, -14.07, 35.49, -13.67, 47.29, -12.11, 52.62, -2.27, 51.64, 5.17, 40.51, 10.18, 19.14, 18.47, 2.85, 16.33, -8.41, 6.14 ],
-					"hull": 10,
-					"edges": [ 0, 2, 2, 4, 4, 6, 6, 8, 8, 10, 10, 12, 12, 14, 14, 16, 16, 18, 0, 18 ],
-					"width": 34,
-					"height": 63
-				}
-			},
-			"torso": {
-				"torso": {
-					"name": "goblin/torso",
-					"type": "mesh",
-					"uvs": [ 0, 0.33288, 0.15946, 0.46489, 0.15762, 0.60314, 0.15502, 0.79806, 0.32808, 0.93479, 0.68751, 1, 0.80732, 1, 1, 0.77763, 1, 0.66148, 1, 0.56704, 0.93208, 0.4771, 0.86944, 0.39417, 0.83838, 0.22601, 0.68085, 0, 0.14836, 0, 0, 0.07199, 0.78735, 0.8625, 0.43679, 0.79649, 0.76738, 0.61733, 0.44345, 0.58747, 0.54329, 0.38317, 0.77692, 0.73447, 0.66479, 0.51012 ],
-					"triangles": [ 5, 16, 6, 6, 16, 7, 4, 17, 5, 5, 17, 16, 4, 3, 17, 17, 21, 16, 16, 21, 7, 3, 2, 17, 21, 19, 18, 21, 17, 19, 17, 2, 19, 21, 8, 7, 21, 18, 8, 18, 9, 8, 19, 22, 18, 18, 10, 9, 18, 22, 10, 2, 1, 19, 19, 20, 22, 19, 1, 20, 22, 11, 10, 22, 20, 11, 20, 1, 14, 20, 12, 11, 1, 0, 14, 20, 13, 12, 20, 14, 13, 0, 15, 14 ],
-					"vertices": [ 56.93, 27.95, 43.37, 18.24, 30.16, 19.5, 11.53, 21.29, -2.55, 10.69, -10.89, -13.12, -11.59, -21.24, 8.55, -36.13, 19.66, -37.09, 28.69, -37.86, 37.69, -34.01, 45.99, -30.45, 56.4, -29.07, 84.79, -20.92, 87.9, 15.15, 81.89, 25.8, 1.67, -21.02, 10.04, 2.19, 25.23, -18.25, 29.99, 0.01, 48.54, -8.4, 13.98, -21.37, 35.91, -15.6 ],
-					"hull": 16,
-					"edges": [ 0, 2, 6, 8, 8, 10, 10, 12, 12, 14, 22, 24, 24, 26, 26, 28, 28, 30, 0, 30, 14, 32, 32, 34, 34, 6, 18, 36, 36, 38, 2, 4, 4, 6, 38, 4, 2, 40, 40, 22, 40, 38, 38, 34, 32, 10, 34, 8, 40, 28, 14, 16, 16, 18, 32, 42, 42, 36, 16, 42, 42, 34, 18, 20, 20, 22, 36, 44, 44, 40, 20, 44 ],
-					"width": 68,
-					"height": 96
-				}
-			},
-			"undie-straps": {
-				"undie-straps": {
-					"name": "goblin/undie-straps",
-					"type": "mesh",
-					"uvs": [ 0.36098, 0.4496, 0.66298, 0.60591, 1, 0.19486, 1, 0.57118, 0.75898, 1, 0.38698, 1, 0, 0.26433, 0, 0, 0.12498, 0 ],
-					"triangles": [ 6, 7, 8, 6, 8, 0, 3, 1, 2, 5, 0, 1, 6, 0, 5, 4, 1, 3, 5, 1, 4 ],
-					"vertices": [ -10.56, 12.88, 6.54, 9.91, 25.62, 17.72, 25.62, 10.57, 11.97, 2.42, -9.09, 2.42, -31, 16.4, -31, 21.42, -23.93, 21.42 ],
-					"hull": 9,
-					"edges": [ 14, 16, 16, 0, 0, 2, 2, 4, 4, 6, 6, 8, 8, 10, 12, 14, 10, 12, 0, 10, 2, 8 ],
-					"width": 55,
-					"height": 19
-				}
-			},
-			"undies": {
-				"undies": {
-					"name": "goblin/undies",
-					"type": "mesh",
-					"uvs": [ 0, 0.3203, 0.14893, 0.59457, 0.22438, 1, 0.3591, 1, 0.50999, 1, 0.7956, 0.58454, 0.98421, 0.28016, 1, 0.00588, 0.46957, 0.17647, 0, 0.03933, 0.48843, 0.59123, 0.48115, 0.431 ],
-					"triangles": [ 6, 8, 7, 0, 9, 8, 11, 8, 6, 0, 8, 11, 5, 11, 6, 10, 11, 5, 1, 0, 11, 1, 11, 10, 3, 2, 1, 10, 3, 1, 4, 10, 5, 3, 10, 4 ],
-					"vertices": [ -13.22, 5.57, -8, -2.48, -5.49, -14.28, -0.64, -14.36, 4.79, -14.46, 15.28, -2.59, 22.22, 6.12, 22.93, 14.06, 3.75, 9.45, -13.08, 13.72, 4.22, -2.59, 4.04, 2.06 ],
-					"hull": 10,
-					"edges": [ 0, 2, 2, 4, 8, 10, 10, 12, 12, 14, 14, 16, 16, 18, 0, 18, 4, 6, 6, 8, 6, 20, 16, 22, 22, 20, 0, 22, 22, 12, 2, 20, 20, 10 ],
-					"width": 36,
-					"height": 29
-				}
-			}
-		}
-	},
-	{
-		"name": "goblingirl",
-		"attachments": {
-			"eyes": {
-				"eyes-closed": { "name": "goblingirl/eyes-closed", "x": 28, "y": -25.55, "rotation": -87.05, "width": 37, "height": 21 }
-			},
-			"head": {
-				"head": { "name": "goblingirl/head", "x": 27.72, "y": -4.32, "rotation": -85.58, "width": 103, "height": 81 }
-			},
-			"left-arm": {
-				"left-arm": { "name": "goblingirl/left-arm", "x": 19.64, "y": -2.43, "rotation": 33.05, "width": 37, "height": 35 }
-			},
-			"left-foot": {
-				"left-foot": { "name": "goblingirl/left-foot", "type": "linkedmesh", "skin": "goblin", "parent": "left-foot", "width": 65, "height": 31 }
-			},
-			"left-hand": {
-				"left-hand": {
-					"name": "goblingirl/left-hand",
-					"x": 4.34,
-					"y": 2.39,
-					"scaleX": 0.8965,
-					"scaleY": 0.8965,
-					"rotation": 30.35,
-					"width": 35,
-					"height": 40
-				}
-			},
-			"left-lower-leg": {
-				"left-lower-leg": { "name": "goblingirl/left-lower-leg", "x": 25.02, "y": -0.61, "rotation": 105.76, "width": 33, "height": 70 }
-			},
-			"left-shoulder": {
-				"left-shoulder": { "name": "goblingirl/left-shoulder", "x": 19.81, "y": -0.43, "rotation": 61.22, "width": 28, "height": 46 }
-			},
-			"left-upper-leg": {
-				"left-upper-leg": { "name": "goblingirl/left-upper-leg", "x": 30.22, "y": -2.95, "rotation": 89.1, "width": 33, "height": 70 }
-			},
-			"neck": {
-				"neck": { "name": "goblingirl/neck", "x": 6.16, "y": -3.15, "rotation": -98.86, "width": 35, "height": 41 }
-			},
-			"pelvis": {
-				"pelvis": { "name": "goblingirl/pelvis", "x": -3.88, "y": 3.19, "width": 62, "height": 43 }
-			},
-			"right-arm": {
-				"right-arm": { "name": "goblingirl/right-arm", "x": 16.85, "y": -0.66, "rotation": 93.53, "width": 28, "height": 50 }
-			},
-			"right-foot": {
-				"right-foot": { "name": "goblingirl/right-foot", "type": "linkedmesh", "skin": "goblin", "parent": "right-foot", "width": 63, "height": 33 }
-			},
-			"right-hand": {
-				"right-hand": { "name": "goblingirl/right-hand", "x": 7.22, "y": 3.44, "rotation": 91.17, "width": 36, "height": 37 }
-			},
-			"right-hand-thumb": {
-				"right-hand-thumb": { "name": "goblingirl/right-hand", "x": 7.22, "y": 3.44, "rotation": 91.17, "width": 36, "height": 37 }
-			},
-			"right-lower-leg": {
-				"right-lower-leg": { "name": "goblingirl/right-lower-leg", "x": 26.15, "y": -3.28, "rotation": 111.84, "width": 36, "height": 76 }
-			},
-			"right-shoulder": {
-				"right-shoulder": { "name": "goblingirl/right-shoulder", "x": 14.46, "y": 0.46, "rotation": 129.85, "width": 39, "height": 45 }
-			},
-			"right-upper-leg": {
-				"right-upper-leg": { "name": "goblingirl/right-upper-leg", "x": 19.7, "y": 2.13, "rotation": 97.5, "width": 34, "height": 63 }
-			},
-			"torso": {
-				"torso": { "name": "goblingirl/torso", "x": 36.28, "y": -5.14, "rotation": -95.75, "width": 68, "height": 96 }
-			},
-			"undie-straps": {
-				"undie-straps": { "name": "goblingirl/undie-straps", "x": -1.52, "y": 14.19, "width": 55, "height": 19 }
-			},
-			"undies": {
-				"undies": { "name": "goblingirl/undies", "x": 5.4, "y": 1.71, "width": 36, "height": 29 }
-			}
-		}
-	}
-],
-"animations": {
-	"walk": {
-		"slots": {
-			"eyes": {
-				"attachment": [
-					{ "time": 0.7, "name": "eyes-closed" },
-					{ "time": 0.8 }
-				]
-			}
-		},
-		"bones": {
-			"left-upper-leg": {
-				"rotate": [
-					{ "value": -26.56 },
-					{ "time": 0.1333, "value": -8.79 },
-					{ "time": 0.2333, "value": 9.51 },
-					{ "time": 0.3667, "value": 30.74 },
-					{ "time": 0.5, "value": 25.34 },
-					{ "time": 0.6333, "value": 26.12 },
-					{ "time": 0.7333, "value": 7.45 },
-					{ "time": 0.8667, "value": -21.19 },
-					{ "time": 1, "value": -26.56 }
-				],
-				"translate": [
-					{ "x": -1.32, "y": 1.71 },
-					{ "time": 0.3667, "x": -0.06, "y": 2.43 },
-					{ "time": 1, "x": -1.32, "y": 1.71 }
-				]
-			},
-			"right-upper-leg": {
-				"rotate": [
-					{ "value": 42.45 },
-					{
-						"time": 0.1333,
-						"value": 49.86,
-						"curve": [ 0.175, 49.86, 0.204, 22.69 ]
-					},
-					{ "time": 0.2333, "value": 22.51 },
-					{ "time": 0.5, "value": -16.94 },
-					{ "time": 0.6333, "value": 1.9 },
-					{
-						"time": 0.7333,
-						"value": 34.87,
-						"curve": [ 0.795, 37.71, 0.867, 58.69 ]
-					},
-					{
-						"time": 0.8667,
-						"value": 58.69,
-						"curve": [ 0.933, 58.35, 1, 42.45 ]
-					},
-					{ "time": 1, "value": 42.45 }
-				],
-				"translate": [
-					{ "x": 6.24 },
-					{ "time": 0.2333, "x": 2.14, "y": 2.4 },
-					{ "time": 0.5, "x": 2.44, "y": 4.8 },
-					{ "time": 1, "x": 6.24 }
-				]
-			},
-			"left-lower-leg": {
-				"rotate": [
-					{ "value": -18.05 },
-					{ "time": 0.1333, "value": -63.51 },
-					{ "time": 0.2333, "value": -83.02 },
-					{ "time": 0.5, "value": 5.12 },
-					{ "time": 0.6333, "value": -28.3 },
-					{ "time": 0.7333, "value": -27.52 },
-					{ "time": 0.8667, "value": 3.53 },
-					{ "time": 1, "value": -18.05 }
-				],
-				"translate": [
-					{},
-					{ "time": 0.2333, "x": 2.56, "y": -0.47 },
-					{ "time": 0.5 }
-				]
-			},
-			"left-foot": {
-				"rotate": [
-					{ "value": -14.57 },
-					{ "time": 0.1333, "value": -10.42 },
-					{ "time": 0.2333, "value": -5.01 },
-					{ "time": 0.3, "value": 6.67 },
-					{ "time": 0.3667, "value": 3.87 },
-					{ "time": 0.5, "value": -3.88 },
-					{ "time": 0.6333, "value": 2.78 },
-					{ "time": 0.7333, "value": -12 },
-					{ "time": 0.8667, "value": -12.45 },
-					{ "time": 1, "value": -14.57 }
-				]
-			},
-			"right-shoulder": {
-				"rotate": [
-					{
-						"value": 5.29,
-						"curve": [ 0.167, 5.29, 0.475, 6.65 ]
-					},
-					{ "time": 0.6333, "value": 6.65 },
-					{ "time": 1, "value": 5.29 }
-				]
-			},
-			"right-arm": {
-				"rotate": [
-					{
-						"value": -4.03,
-						"curve": [ 0.169, -3.91, 0.51, 19.66 ]
-					},
-					{
-						"time": 0.6333,
-						"value": 19.79,
-						"curve": [ 0.746, 19.75, 0.922, -3.91 ]
-					},
-					{ "time": 1, "value": -4.03 }
-				]
-			},
-			"right-hand": {
-				"rotate": [
-					{ "value": 8.99 },
-					{ "time": 0.6333, "value": 0.51 },
-					{ "time": 1, "value": 8.99 }
-				]
-			},
-			"left-shoulder": {
-				"rotate": [
-					{
-						"value": 6.26,
-						"curve": [ 0.17, 6.26, 0.342, -11.79 ]
-					},
-					{
-						"time": 0.5,
-						"value": -11.79,
-						"curve": [ 0.641, -11.79, 0.843, 6.16 ]
-					},
-					{ "time": 1, "value": 6.26 }
-				],
-				"translate": [
-					{ "x": 1.15, "y": 0.24 }
-				]
-			},
-			"left-hand": {
-				"rotate": [
-					{
-						"value": -21.24,
-						"curve": [ 0.148, -21.24, 0.378, -27.21 ]
-					},
-					{
-						"time": 0.5,
-						"value": -27.28,
-						"curve": [ 0.621, -27.28, 0.875, -21.4 ]
-					},
-					{ "time": 1, "value": -21.24 }
-				]
-			},
-			"left-arm": {
-				"rotate": [
-					{
-						"value": 28.38,
-						"curve": [ 0.17, 28.38, 0.342, 60.09 ]
-					},
-					{
-						"time": 0.5,
-						"value": 60.09,
-						"curve": [ 0.641, 60.09, 0.843, 28.54 ]
-					},
-					{ "time": 1, "value": 28.38 }
-				]
-			},
-			"torso": {
-				"rotate": [
-					{ "value": -10.28 },
-					{
-						"time": 0.1333,
-						"value": -15.39,
-						"curve": [ 0.261, -15.36, 0.324, -9.78 ]
-					},
-					{
-						"time": 0.3667,
-						"value": -9.78,
-						"curve": [ 0.521, -10.8, 0.545, -15.72 ]
-					},
-					{
-						"time": 0.6333,
-						"value": -15.75,
-						"curve": [ 0.688, -15.66, 0.819, -7.07 ]
-					},
-					{
-						"time": 0.8667,
-						"value": -7.07,
-						"curve": [ 0.895, -7.07, 0.975, -10.25 ]
-					},
-					{ "time": 1, "value": -10.28 }
-				]
-			},
-			"right-foot": {
-				"rotate": [
-					{ "value": -5.25 },
-					{ "time": 0.2333, "value": -17.77 },
-					{ "time": 0.3667, "value": -20.1 },
-					{ "time": 0.5, "value": -19.74 },
-					{ "time": 0.7333, "value": -11.69 },
-					{ "time": 0.8, "value": 4.47 },
-					{ "time": 0.8667, "value": 0.46 },
-					{ "time": 1, "value": -5.25 }
-				]
-			},
-			"right-lower-leg": {
-				"rotate": [
-					{
-						"value": -3.39,
-						"curve": [ 0.042, -4.01, 0.099, -42.81 ]
-					},
-					{
-						"time": 0.1333,
-						"value": -43.22,
-						"curve": [ 0.175, -43.22, 0.204, -26.09 ]
-					},
-					{ "time": 0.2333, "value": -25.98 },
-					{ "time": 0.5, "value": -19.53 },
-					{ "time": 0.6333, "value": -64.8 },
-					{
-						"time": 0.7333,
-						"value": -89.54,
-						"curve": [ 0.882, -74, 1, -3.39 ]
-					},
-					{ "time": 1, "value": -3.39 }
-				],
-				"translate": [
-					{ "time": 0.5 },
-					{ "time": 0.6333, "x": 2.19, "y": 0.21 },
-					{ "time": 1 }
-				]
-			},
-			"hip": {
-				"translate": [
-					{ "y": -8.4 },
-					{
-						"time": 0.1333,
-						"y": -9.35,
-						"curve": [ 0.166, 0, 0.201, 0, 0.166, -8.91, 0.201, -1.14 ]
-					},
-					{
-						"time": 0.2333,
-						"y": -0.59,
-						"curve": [ 0.277, 0, 0.319, 0, 0.277, -1.92, 0.319, -2.96 ]
-					},
-					{ "time": 0.3667, "y": -3.97 },
-					{ "time": 0.5, "y": -8.4 },
-					{
-						"time": 0.6333,
-						"y": -10.01,
-						"curve": [ 0.669, 0, 0.698, 0, 0.669, -7.79, 0.698, -6.49 ]
-					},
-					{
-						"time": 0.7333,
-						"y": -5.3,
-						"curve": [ 0.756, 0, 0.778, 0, 0.756, -4.27, 0.778, -3.35 ]
-					},
-					{
-						"time": 0.8,
-						"y": -2.5,
-						"curve": [ 0.821, 0, 0.843, 0, 0.821, -3.02, 0.843, -3.5 ]
-					},
-					{ "time": 0.8667, "y": -3.97 },
-					{ "time": 1, "y": -8.4 }
-				]
-			},
-			"neck": {
-				"rotate": [
-					{ "value": 3.6 },
-					{ "time": 0.1333, "value": 17.5 },
-					{ "time": 0.2333, "value": 6.11 },
-					{ "time": 0.3667, "value": 3.46 },
-					{ "time": 0.5, "value": 5.18 },
-					{ "time": 0.6333, "value": 18.36 },
-					{ "time": 0.7333, "value": 6.09 },
-					{ "time": 0.8667, "value": 2.29 },
-					{ "time": 1, "value": 3.6 }
-				]
-			},
-			"head": {
-				"rotate": [
-					{
-						"value": 3.6,
-						"curve": [ 0, 3.6, 0.094, -0.89 ]
-					},
-					{ "time": 0.1333, "value": -0.21 },
-					{ "time": 0.2333, "value": 6.11 },
-					{ "time": 0.3667, "value": 3.46 },
-					{
-						"time": 0.5,
-						"value": 5.18,
-						"curve": [ 0.5, 5.18, 0.617, -1.4 ]
-					},
-					{ "time": 0.6667, "value": 1.11 },
-					{ "time": 0.7333, "value": 6.09 },
-					{ "time": 0.8667, "value": 2.29 },
-					{ "time": 1, "value": 3.6 }
-				]
-			},
-			"pelvis": {
-				"rotate": [
-					{ "value": -1.34 }
-				],
-				"translate": [
-					{ "x": 0.39, "y": -0.78 }
-				]
-			},
-			"spear1": {
-				"rotate": [
-					{ "value": 1.85 },
-					{ "time": 0.2, "value": -5.39 },
-					{ "time": 0.5, "value": 2.95 },
-					{ "time": 0.7333, "value": -3.67 },
-					{ "time": 1, "value": 1.85 }
-				]
-			},
-			"spear2": {
-				"rotate": [
-					{ "value": 1.85 },
-					{ "time": 0.2, "value": -5.39 },
-					{ "time": 0.5, "value": 2.95 },
-					{ "time": 0.7333, "value": -3.67 },
-					{ "time": 1, "value": 1.85 }
-				]
-			},
-			"spear3": {
-				"rotate": [
-					{ "value": 3.64 },
-					{ "time": 0.2, "value": -3.6 },
-					{ "time": 0.5, "value": 4.74 },
-					{ "time": 0.7333, "value": -1.88 },
-					{ "time": 1, "value": 3.64 }
-				]
-			}
-		},
-		"attachments": {
-			"default": {
-				"right-hand-item": {
-					"dagger": {
-						"deform": [
-							{
-								"offset": 26,
-								"vertices": [ 2.34755, 0.1447 ],
-								"curve": [ 0.125, 0, 0.375, 1 ]
-							},
-							{
-								"time": 0.5,
-								"offset": 8,
-								"vertices": [ -1.19415, 4.31532, 0.07279, 6.41351, 1.66048, 6.18883, 1.75233, 3.59555 ],
-								"curve": [ 0.625, 0, 0.875, 1 ]
-							},
-							{
-								"time": 1,
-								"offset": 26,
-								"vertices": [ 2.34755, 0.1447 ]
-							}
-						]
-					}
-				}
-			},
-			"goblin": {
-				"head": {
-					"head": {
-						"deform": [
-							{
-								"curve": [ 0.127, 0, 0.15, 1 ]
-							},
-							{
-								"time": 0.2,
-								"vertices": [ -10.97827, -6.68962, -4.68015, -2.46175, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1.08534, 0.08392, -1.08534, 0.08392, -1.08534, 0.08392, 0, 0, -2.22325, 2.66465, -4.83295, 2.70085, -5.70553, -0.51941, -3.15962, -1.61502, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -6.64742, 0.81612, -11.82286, -1.34955, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1.08534, 0.08392 ],
-								"curve": [ 0.242, 0, 0.325, 1 ]
-							},
-							{
-								"time": 0.3667,
-								"vertices": [ 10.69276, 4.05949, 3.66373, 1.85427, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1.47305, 0.09018, 1.47305, 0.09018, 1.47305, 0.09018, 0, 0, 2.69653, -0.22738, 3.77135, 0.11418, 3.6893, 1.55352, 2.49595, 1.65501, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4.45881, -3.9113, 9.19594, -1.66854, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1.47305, 0.09018 ],
-								"curve": [ 0.574, 0, 0.617, 1 ]
-							},
-							{
-								"time": 0.7,
-								"vertices": [ -10.97827, -6.68962, -4.68015, -2.46175, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1.17551, -0.17183, -1.17551, -0.17183, -1.17551, -0.17183, 0, 0, -2.22325, 2.66465, -4.83295, 2.70085, -5.70553, -0.51941, -3.15962, -1.61502, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -6.64742, 0.81612, -11.82286, -1.34955, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1.17551, -0.17183 ],
-								"curve": [ 0.742, 0, 0.825, 1 ]
-							},
-							{
-								"time": 0.8667,
-								"vertices": [ 10.69276, 4.05949, 3.66373, 1.85427, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.38687, 0.08446, 0.38687, 0.08446, 0.38687, 0.08446, 0, 0, 2.69653, -0.22738, 3.77135, 0.11418, 3.6893, 1.55352, 2.49595, 1.65501, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4.45881, -3.9113, 9.19594, -1.66854, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.38687, 0.08446 ],
-								"curve": [ 0.9, 0, 0.967, 1 ]
-							},
-							{ "time": 1 }
-						]
-					}
-				},
-				"left-foot": {
-					"left-foot": {
-						"deform": [
-							{
-								"offset": 8,
-								"vertices": [ 3.69298, 2.37573, -7.16969, 18.79733, -12.78162, 14.7778, -12.75776, 6.50514, -3.13476, 1.98906, -0.44402, 0.36629, 0, 0, -3.80085, 2.98474 ]
-							},
-							{ "time": 0.1333 },
-							{
-								"time": 0.2333,
-								"offset": 8,
-								"vertices": [ -3.96073, -2.34594, -5.80446, -12.47629, -2.2313, -12.99038, 2.02942, -9.1036, 0, 0, 0, 0, 0, 0, -1.35254, -5.2883 ]
-							},
-							{
-								"time": 0.3667,
-								"offset": 8,
-								"vertices": [ 0.66505, 0.33548, 0.33902, 2.69014, -0.48171, 2.54524, -1.13593, 1.38562, 0, 0, 0, 0, 0, 0, -0.11908, 0.79273 ]
-							},
-							{ "time": 0.5, "curve": "stepped" },
-							{ "time": 0.6333 },
-							{
-								"time": 0.7333,
-								"offset": 8,
-								"vertices": [ -2.97738, 9.40254, -6.91661, 19.92794, -10.55287, 18.41085, -12.37161, 12.38473, -4.72607, 6.30799, 0, 0, -1.48902, 4.88944, -7.06773, 10.70102 ]
-							},
-							{
-								"time": 0.8333,
-								"offset": 6,
-								"vertices": [ 1.05319, 1.56362, -2.52723, 7.9974, -5.52031, 17.14137, -8.93317, 15.79635, -10.73748, 10.22056, -4.23801, 5.36992, 0, 0, 0, 0, -5.83148, 8.55532 ]
-							},
-							{
-								"time": 1,
-								"offset": 8,
-								"vertices": [ 3.69298, 2.37573, -7.16969, 18.79733, -12.78162, 14.7778, -12.75776, 6.50514, -3.13476, 1.98906, -0.44402, 0.36629, 0, 0, -3.80085, 2.98474 ]
-							}
-						]
-					}
-				},
-				"pelvis": {
-					"pelvis": {
-						"deform": [
-							{},
-							{
-								"time": 0.1333,
-								"offset": 6,
-								"vertices": [ -0.6899, -4.13284 ]
-							},
-							{
-								"time": 0.3333,
-								"offset": 6,
-								"vertices": [ -1.04945, -3.10477 ]
-							},
-							{
-								"time": 0.7,
-								"offset": 6,
-								"vertices": [ -1.4245, -6.30617 ]
-							},
-							{
-								"time": 0.8667,
-								"offset": 6,
-								"vertices": [ -1.13542, -1.79036 ]
-							},
-							{ "time": 1 }
-						]
-					}
-				},
-				"right-foot": {
-					"right-foot": {
-						"deform": [
-							{},
-							{
-								"time": 0.1333,
-								"offset": 2,
-								"vertices": [ -2.81259, 2.63115, -2.35238, 3.89441, -1.99921, 4.8639, -0.93273, 5.57982, -0.48886, 5.09855, -0.34813, 3.42912, -0.17446, 1.36899, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1.31305, 1.91372, -1.32986, 3.65703 ]
-							},
-							{
-								"time": 0.2333,
-								"offset": 2,
-								"vertices": [ -6.39088, 6.41246, -7.74575, 8.27192, -7.02471, 11.35894, -4.03471, 13.93454, -2.50399, 12.62963, -1.46125, 7.58915, -0.17446, 1.36899, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -3.84766, 2.61216, -4.53956, 7.92358 ]
-							},
-							{
-								"time": 0.3,
-								"offset": 2,
-								"vertices": [ -8.27185, 6.68822, -9.29764, 10.13797, -8.62231, 14.7134, -4.5863, 18.81939, -2.20304, 17.10709, -0.07795, 9.9046, 2.54452, 1.01642, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -2.94625, 2.38008, -4.59399, 10.01888 ]
-							},
-							{
-								"time": 0.3667,
-								"offset": 2,
-								"vertices": [ -10.47684, 9.44176, -13.36883, 12.40983, -14.32569, 16.94392, -9.24463, 23.55674, -5.51712, 21.51378, -1.19582, 11.53193, 2.54452, 1.01642, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -4.14848, 2.29389, -6.63419, 11.37127 ]
-							},
-							{
-								"time": 0.5,
-								"offset": 2,
-								"vertices": [ -5.42474, 4.36854, -10.59004, 7.04468, -11.64251, 11.55845, -6.19665, 20.12806, -1.45498, 18.05411, 4.8662, 6.41679, 2.81463, 0.27601, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -2.96412, 4.9483 ]
-							},
-							{ "time": 0.6333 },
-							{
-								"time": 0.7333,
-								"offset": 4,
-								"vertices": [ 1.31462, -6.84099, -0.87905, -12.54479, -5.9851, -14.08368, -7.15892, -11.63194, -5.6792, -4.83545, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -2.06164, -6.93844 ]
-							},
-							{
-								"time": 0.8,
-								"offset": 4,
-								"vertices": [ 0.65731, -3.4205, -0.43953, -6.2724, -2.99255, -7.04184, -3.57946, -5.81597, -2.8396, -2.41772, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2.79688, -1.28021, 0, 0, 0, 0, -1.03082, -3.46922 ]
-							},
-							{ "time": 0.8667 }
-						]
-					}
-				},
-				"right-hand": {
-					"right-hand": {
-						"deform": [
-							{
-								"offset": 4,
-								"vertices": [ -1.48417, 0.34736, 0, 0, 1.31152, 0.08085, 1.60296, 0.09882, 0.13673, 0.15471, 0, 0, 0, 0, -0.72862, -0.0449 ]
-							},
-							{ "time": 0.5 },
-							{
-								"time": 1,
-								"offset": 4,
-								"vertices": [ -1.48417, 0.34736, 0, 0, 1.31152, 0.08085, 1.60296, 0.09882, 0.13673, 0.15471, 0, 0, 0, 0, -0.72862, -0.0449 ]
-							}
-						]
-					}
-				},
-				"right-lower-leg": {
-					"right-lower-leg": {
-						"deform": [
-							{},
-							{
-								"time": 0.6,
-								"offset": 6,
-								"vertices": [ 1.80396, -1.56553 ]
-							},
-							{ "time": 1 }
-						]
-					}
-				},
-				"right-upper-leg": {
-					"right-upper-leg": {
-						"deform": [
-							{
-								"vertices": [ -6.03857, -1.46325, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0.34685, -1.93102, -1.86047, -5.05266, -2.5014, -3.09985 ]
-							},
-							{ "time": 0.3333 },
-							{
-								"time": 0.8667,
-								"offset": 14,
-								"vertices": [ 0.13425, -2.35378, -1.33318, -5.99573, -1.35862, -4.43324 ]
-							},
-							{
-								"time": 1,
-								"vertices": [ -6.03857, -1.46325, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0.34685, -1.93102, -1.86047, -5.05266, -2.5014, -3.09985 ]
-							}
-						]
-					}
-				},
-				"torso": {
-					"torso": {
-						"deform": [
-							{
-								"offset": 2,
-								"vertices": [ 0.24821, 2.86673, 0.24821, 2.86673, 0.24821, 2.86673, 0.24821, 2.86673, 0.24821, 2.86673, 0.24821, 2.86673, -1.24131, 2.62652, -2.47492, 0.71183, -0.26363, -0.5308, 0.24821, 2.86673, 0.24821, 2.86673, 0, 0, 0, 0, 0, 0, 0, 0, 1.34461, 0.25215, 0.24821, 2.86673, 0.82507, 1.61798, 0.24821, 2.86673, 0, 0, -1.86431, -0.4326, 0.24821, 2.86673 ]
-							},
-							{
-								"time": 0.1333,
-								"offset": 2,
-								"vertices": [ 0.35589, 4.10914, 0.35589, 4.10914, 0.35589, 4.10914, 0.35589, 4.10914, 0.35589, 4.10914, 0.35589, 4.10914, 1.66908, 3.51187, -0.62355, 2.47979, 1.1045, 3.49684, -1.09009, 6.08429, 0.35589, 4.10914, 0, 0, 0, 0, 0, 0, 0, 0, 3.01291, 0.15693, 0.35589, 4.10914, -1.11398, 3.7954, 0.35589, 4.10914, 0, 0, -2.96167, 0.55563, -2.20741, 4.40587 ]
-							},
-							{
-								"time": 0.3,
-								"offset": 2,
-								"vertices": [ 0.2884, 3.32948, 0.2884, 3.32948, 0.2884, 3.32948, 0.2884, 3.32948, 0.2884, 3.32948, 0.2884, 3.32948, 6.32601, 0.19387, 7.84315, 1.94837, 7.08587, 3.64119, 4.52343, 4.46961, 0.2884, 3.32948, 0, 0, 0, 0, 0, 0, 0, 0, 4.36416, -1.83876, 0.2884, 3.32948, 4.2925, 3.60194, 0.2884, 3.32948, 0, 0, 3.72601, -0.19338, 0.2884, 3.32948 ]
-							},
-							{
-								"time": 0.5,
-								"offset": 2,
-								"vertices": [ 0.3133, 3.61659, 0.3133, 3.61659, 0.3133, 3.61659, 0.3133, 3.61659, 0.3133, 3.61659, 0.3133, 3.61659, 2.57273, 2.74457, 2.88831, 3.04797, 3.48442, 3.04655, 1.80035, 4.609, 0.3133, 3.61659, 0, 0, 0, 0, 0, 0, 0, 0, 3.53782, -0.82203, 0.3133, 3.61659, 1.80022, 3.63246, 0.3133, 3.61659, 0, 0, 0.62718, 0.33564, -1.22467, 3.79463 ]
-							},
-							{
-								"time": 0.6333,
-								"offset": 2,
-								"vertices": [ 0.44398, 5.125, 0.44398, 5.125, 0.44398, 5.125, 0.44398, 5.125, 0.44398, 5.125, 0.44398, 5.125, 1.19401, 3.60798, -0.53546, 3.49565, 1.1926, 4.5127, -1.002, 7.10015, 0.44398, 5.125, 0, 0, 0, 0, 0, 0, 0, 0, 3.101, 1.17278, 0.44398, 5.125, -1.02589, 4.81126, 0.44398, 5.125, 0, 0, -2.87358, 1.57149, -2.11931, 5.42173 ]
-							},
-							{
-								"time": 0.8667,
-								"offset": 2,
-								"vertices": [ 0.30385, 3.50647, 0.30385, 3.50647, 0.30385, 3.50647, 0.30385, 3.50647, 0.30385, 3.50647, 0.30385, 3.50647, 0.92587, 2.24385, 0.68874, 1.29945, 3.55433, 3.00604, 2.71494, 5.89962, 0.30385, 3.50647, 0, 0, 0, 0, 0, 0, 0, 0, 1.96775, 0.40548, 0.30385, 3.50647, 2.6104, 2.3545, 0.30385, 3.50647, 0, 0, 0.22709, -0.12851, -0.62826, 3.61437 ]
-							},
-							{
-								"time": 1,
-								"offset": 2,
-								"vertices": [ 0.32802, 3.78826, 0.32802, 3.78826, 0.32802, 3.78826, 0.32802, 3.78826, 0.32802, 3.78826, 0.32802, 3.78826, -1.1615, 3.54805, -2.39511, 1.63336, -0.18382, 0.39073, 0.32802, 3.78826, 0.32802, 3.78826, 0, 0, 0, 0, 0, 0, 0, 0, 1.42442, 1.17368, 0.32802, 3.78826, 0.90488, 2.53951, 0.32802, 3.78826, 0, 0, -1.7845, 0.48894, 0.32802, 3.78826 ]
-							}
-						]
-					}
-				},
-				"undie-straps": {
-					"undie-straps": {
-						"deform": [
-							{
-								"offset": 2,
-								"vertices": [ -1.77697, 0.5476, -0.96145, -1.03793, -0.39148, -0.24072, -1.77697, 0.5476 ]
-							},
-							{
-								"time": 0.1333,
-								"offset": 2,
-								"vertices": [ -2.25684, -1.03177, -1.49719, -4.23862, -0.7447, -2.84907, -1.90072, 0.54478 ]
-							},
-							{
-								"time": 0.3333,
-								"offset": 2,
-								"vertices": [ -2.37974, -0.05432, -0.49433, 0.19437, -0.90861, 1.16519, -1.60956, 2.70799, 0.96186, 0.80615 ]
-							},
-							{
-								"time": 0.7,
-								"offset": 2,
-								"vertices": [ -0.91715, -2.76567, -0.62215, -3.63489, -0.84941, -2.26772, -2.56077, 0.52971 ]
-							},
-							{
-								"time": 0.8667,
-								"offset": 2,
-								"vertices": [ -2.56077, 0.52971, -1.58065, 0.32031, -1.3847, 0.32476, -2.56077, 0.52971 ]
-							},
-							{
-								"time": 1,
-								"offset": 2,
-								"vertices": [ -1.77697, 0.5476, -0.80128, 0.53413, -0.80128, 0.53413, -1.77697, 0.5476 ]
-							}
-						]
-					}
-				},
-				"undies": {
-					"undies": {
-						"deform": [
-							{
-								"vertices": [ 0.43099, 0.722, 10.60295, -0.117, 2.29599, 0, 2.29599, 0, 2.29599, 0, 0.58799, 0.244, -2.40018, -0.65335, -2.2782, -0.77534, 2.29599, 0, 0.58799, -0.488, 4.98698, -0.117, 6.50797, -0.23399 ]
-							},
-							{
-								"time": 0.1333,
-								"vertices": [ 0.72659, 0.4332, 7.20417, -0.1638, 1.37759, 0, 1.37759, 0, 1.37759, 0, 1.25279, 0.0464, -0.99862, -2.95085, -1.37543, -3.07404, 1.37759, 0, 0.35279, -0.2928, 2.99219, -0.0702, 3.90478, -0.1404 ]
-							},
-							{
-								"time": 0.3333,
-								"vertices": [ 1.16999, 0, 2.10599, -0.23401, 0, 0, 0, 0, 0, 0, 2.24999, -0.24999, -0.4344, 0.60551, -1.55939, 0.48051 ]
-							},
-							{
-								"time": 0.5333,
-								"vertices": [ 1.16999, 0, -0.234, -0.936, -2.92499, 0.351, 0, 0, 0, 0, 0.5, -0.24999, -0.64079, -2.07915, -0.64079, -2.07915 ]
-							},
-							{
-								"time": 0.7,
-								"vertices": [ 1.86271, -0.11514, 4.66327, -0.091, -1.76428, 0.21171, 0, 0, -0.56833, 0.32833, -1.13833, -1.15111, -2.19996, -3.47068, -1.29719, -3.47068, 0, 0, 0, 0, 1.58785, -0.04643, 2.65942, 0.16715 ]
-							},
-							{
-								"time": 0.8333,
-								"vertices": [ 2.41688, -0.20726, 8.58108, 0.585, -0.83571, 0.10029, 0, 0, -1.02299, 0.59099, -2.449, -1.872, -1.625, 0, 0, 0, 0, 0, 0, 0, 2.85813, -0.08357, 4.78695, 0.30086 ]
-							},
-							{
-								"time": 0.8667,
-								"vertices": [ 2.0197, -0.02141, 8.98546, 0.4446, -0.20937, 0.08023, 0.4592, 0, -0.3592, 0.47279, -1.8416, -1.4488, -0.79153, 1.26421, 0.53286, 1.23981, 0.4592, 0, 0.1176, -0.0976, 3.2839, -0.09025, 5.13116, 0.19389 ]
-							},
-							{
-								"time": 1,
-								"vertices": [ 0.43099, 0.722, 10.60295, -0.117, 2.29599, 0, 2.29599, 0, 2.29599, 0, 0.58799, 0.244, -2.40018, -0.65335, -2.2782, -0.77534, 2.29599, 0, 0.58799, -0.488, 4.98698, -0.117, 6.50797, -0.23399 ]
-							}
-						]
-					}
-				}
-			}
-		}
-	}
-}
-}

+ 0 - 96
spine-cocos2dx/example-v4/Resources/common/goblins.atlas

@@ -1,96 +0,0 @@
-goblins.png
-	size: 1024, 128
-	filter: Linear, Linear
-dagger
-	bounds: 2, 18, 26, 108
-goblin/eyes-closed
-	bounds: 2, 4, 34, 12
-goblin/head
-	bounds: 113, 23, 103, 66
-	rotate: 90
-goblin/left-arm
-	bounds: 937, 89, 37, 35
-	rotate: 90
-goblin/left-foot
-	bounds: 609, 61, 65, 31
-	rotate: 90
-goblin/left-hand
-	bounds: 840, 21, 36, 41
-goblin/left-lower-leg
-	bounds: 504, 56, 33, 70
-goblin/left-shoulder
-	bounds: 745, 17, 29, 44
-goblin/left-upper-leg
-	bounds: 397, 53, 33, 73
-goblin/neck
-	bounds: 862, 85, 36, 41
-goblin/pelvis
-	bounds: 776, 18, 62, 43
-goblin/right-arm
-	bounds: 181, 5, 23, 50
-	rotate: 90
-goblin/right-foot
-	bounds: 747, 63, 63, 33
-	rotate: 90
-goblin/right-hand
-	bounds: 878, 3, 36, 37
-goblin/right-lower-leg
-	bounds: 321, 50, 36, 76
-goblin/right-shoulder
-	bounds: 663, 14, 39, 45
-goblin/right-upper-leg
-	bounds: 675, 63, 34, 63
-goblin/torso
-	bounds: 181, 30, 68, 96
-goblin/undie-straps
-	bounds: 38, 2, 55, 19
-goblin/undies
-	bounds: 974, 97, 36, 29
-goblingirl/eyes-closed
-	bounds: 397, 30, 37, 21
-goblingirl/head
-	bounds: 30, 23, 103, 81
-	rotate: 90
-goblingirl/left-arm
-	bounds: 916, 8, 37, 35
-	rotate: 90
-goblingirl/left-foot
-	bounds: 642, 61, 65, 31
-	rotate: 90
-goblingirl/left-hand
-	bounds: 900, 86, 35, 40
-goblingirl/left-lower-leg
-	bounds: 539, 56, 33, 70
-goblingirl/left-shoulder
-	bounds: 633, 13, 28, 46
-goblingirl/left-upper-leg
-	bounds: 574, 56, 33, 70
-goblingirl/neck
-	bounds: 878, 42, 35, 41
-goblingirl/pelvis
-	bounds: 817, 64, 62, 43
-	rotate: 90
-goblingirl/right-arm
-	bounds: 603, 4, 28, 50
-goblingirl/right-foot
-	bounds: 782, 63, 63, 33
-	rotate: 90
-goblingirl/right-hand
-	bounds: 915, 47, 36, 37
-goblingirl/right-lower-leg
-	bounds: 359, 50, 36, 76
-goblingirl/right-shoulder
-	bounds: 704, 16, 39, 45
-goblingirl/right-upper-leg
-	bounds: 711, 63, 34, 63
-goblingirl/torso
-	bounds: 251, 30, 68, 96
-goblingirl/undie-straps
-	bounds: 95, 2, 55, 19
-goblingirl/undies
-	bounds: 974, 66, 36, 29
-shield
-	bounds: 432, 54, 70, 72
-spear
-	bounds: 233, 6, 22, 368
-	rotate: 90

BIN
spine-cocos2dx/example-v4/Resources/common/goblins.png


BIN
spine-cocos2dx/example-v4/Resources/common/mix-and-match-pro.skel


+ 0 - 362
spine-cocos2dx/example-v4/Resources/common/mix-and-match.atlas

@@ -1,362 +0,0 @@
-mix-and-match.png
-	size: 1024, 512
-	filter: Linear, Linear
-	scale: 0.5
-base-head
-	bounds: 587, 2, 95, 73
-boy/arm-front
-	bounds: 558, 271, 36, 115
-boy/backpack
-	bounds: 235, 109, 119, 153
-boy/backpack-pocket
-	bounds: 328, 73, 34, 62
-	rotate: 90
-boy/backpack-strap-front
-	bounds: 665, 79, 38, 88
-boy/backpack-up
-	bounds: 395, 364, 21, 70
-	rotate: 90
-boy/body
-	bounds: 251, 264, 97, 132
-	rotate: 90
-boy/boot-ribbon-front
-	bounds: 648, 131, 9, 11
-boy/collar
-	bounds: 744, 4, 73, 29
-	rotate: 90
-boy/ear
-	bounds: 383, 109, 19, 23
-	rotate: 90
-boy/eye-back-low-eyelid
-	bounds: 739, 284, 17, 6
-	rotate: 90
-boy/eye-back-pupil
-	bounds: 832, 443, 8, 9
-	rotate: 90
-boy/eye-back-up-eyelid
-	bounds: 558, 264, 23, 5
-boy/eye-back-up-eyelid-back
-	bounds: 802, 491, 19, 10
-	rotate: 90
-boy/eye-front-low-eyelid
-	bounds: 386, 363, 22, 7
-	rotate: 90
-boy/eye-front-pupil
-	bounds: 816, 389, 9, 9
-boy/eye-front-up-eyelid
-	bounds: 160, 71, 31, 6
-	rotate: 90
-boy/eye-front-up-eyelid-back
-	bounds: 801, 434, 26, 9
-	rotate: 90
-boy/eye-iris-back
-	bounds: 618, 264, 17, 17
-boy/eye-iris-front
-	bounds: 727, 264, 18, 18
-boy/eye-white-back
-	bounds: 580, 131, 20, 12
-boy/eye-white-front
-	bounds: 510, 130, 27, 13
-boy/eyebrow-back
-	bounds: 751, 88, 20, 11
-	rotate: 90
-boy/eyebrow-front
-	bounds: 483, 130, 25, 11
-boy/hair-back
-	bounds: 494, 388, 122, 81
-	rotate: 90
-boy/hair-bangs
-	bounds: 667, 284, 70, 37
-boy/hair-side
-	bounds: 789, 374, 25, 43
-boy/hand-backfingers
-	bounds: 467, 364, 19, 21
-boy/hand-front-fingers
-	bounds: 488, 364, 19, 21
-boy/hat
-	bounds: 615, 417, 93, 56
-	rotate: 90
-boy/leg-front
-	bounds: 138, 104, 31, 158
-boy/mouth-close
-	bounds: 551, 365, 21, 5
-	rotate: 90
-girl-blue-cape/mouth-close
-	bounds: 551, 365, 21, 5
-	rotate: 90
-girl-spring-dress/mouth-close
-	bounds: 551, 365, 21, 5
-	rotate: 90
-girl/mouth-close
-	bounds: 551, 365, 21, 5
-	rotate: 90
-boy/mouth-smile
-	bounds: 705, 79, 29, 7
-boy/nose
-	bounds: 836, 473, 17, 10
-	rotate: 90
-boy/pompom
-	bounds: 747, 273, 48, 43
-	rotate: 90
-boy/zip
-	bounds: 648, 144, 14, 23
-girl-blue-cape/back-eyebrow
-	bounds: 602, 131, 18, 12
-girl-blue-cape/body-dress
-	bounds: 2, 264, 109, 246
-girl-blue-cape/body-ribbon
-	bounds: 615, 283, 50, 38
-girl-blue-cape/cape-back
-	bounds: 2, 69, 134, 193
-girl-blue-cape/cape-back-up
-	bounds: 386, 387, 123, 106
-	rotate: 90
-girl-blue-cape/cape-ribbon
-	bounds: 675, 264, 50, 18
-girl-blue-cape/cape-shoulder-back
-	bounds: 751, 110, 49, 59
-girl-blue-cape/cape-shoulder-front
-	bounds: 113, 264, 62, 76
-	rotate: 90
-girl-blue-cape/cape-up-front
-	bounds: 399, 264, 98, 117
-	rotate: 90
-girl-blue-cape/ear
-	bounds: 775, 2, 19, 23
-girl-spring-dress/ear
-	bounds: 775, 2, 19, 23
-girl/ear
-	bounds: 775, 2, 19, 23
-girl-blue-cape/eye-back-low-eyelid
-	bounds: 802, 463, 17, 6
-girl-spring-dress/eye-back-low-eyelid
-	bounds: 802, 463, 17, 6
-girl/eye-back-low-eyelid
-	bounds: 802, 463, 17, 6
-girl-blue-cape/eye-back-pupil
-	bounds: 816, 367, 8, 9
-girl-spring-dress/eye-back-pupil
-	bounds: 816, 367, 8, 9
-girl/eye-back-pupil
-	bounds: 816, 367, 8, 9
-girl-blue-cape/eye-back-up-eyelid
-	bounds: 554, 131, 24, 12
-girl-spring-dress/eye-back-up-eyelid
-	bounds: 554, 131, 24, 12
-girl/eye-back-up-eyelid
-	bounds: 554, 131, 24, 12
-girl-blue-cape/eye-back-up-eyelid-back
-	bounds: 832, 453, 17, 11
-	rotate: 90
-girl-spring-dress/eye-back-up-eyelid-back
-	bounds: 832, 453, 17, 11
-	rotate: 90
-girl/eye-back-up-eyelid-back
-	bounds: 832, 453, 17, 11
-	rotate: 90
-girl-blue-cape/eye-front-low-eyelid
-	bounds: 739, 303, 18, 6
-	rotate: 90
-girl-spring-dress/eye-front-low-eyelid
-	bounds: 739, 303, 18, 6
-	rotate: 90
-girl/eye-front-low-eyelid
-	bounds: 739, 303, 18, 6
-	rotate: 90
-girl-blue-cape/eye-front-pupil
-	bounds: 816, 378, 9, 9
-girl-spring-dress/eye-front-pupil
-	bounds: 816, 378, 9, 9
-girl/eye-front-pupil
-	bounds: 816, 378, 9, 9
-girl-blue-cape/eye-front-up-eyelid
-	bounds: 392, 77, 30, 14
-	rotate: 90
-girl-spring-dress/eye-front-up-eyelid
-	bounds: 392, 77, 30, 14
-	rotate: 90
-girl/eye-front-up-eyelid
-	bounds: 392, 77, 30, 14
-	rotate: 90
-girl-blue-cape/eye-front-up-eyelid-back
-	bounds: 455, 130, 26, 11
-girl-spring-dress/eye-front-up-eyelid-back
-	bounds: 455, 130, 26, 11
-girl/eye-front-up-eyelid-back
-	bounds: 455, 130, 26, 11
-girl-blue-cape/eye-iris-back
-	bounds: 637, 264, 17, 17
-girl-blue-cape/eye-iris-front
-	bounds: 802, 471, 18, 18
-girl-blue-cape/eye-white-back
-	bounds: 596, 264, 20, 16
-girl-spring-dress/eye-white-back
-	bounds: 596, 264, 20, 16
-girl-blue-cape/eye-white-front
-	bounds: 796, 5, 20, 16
-	rotate: 90
-girl-spring-dress/eye-white-front
-	bounds: 796, 5, 20, 16
-	rotate: 90
-girl/eye-white-front
-	bounds: 796, 5, 20, 16
-	rotate: 90
-girl-blue-cape/front-eyebrow
-	bounds: 608, 149, 18, 12
-	rotate: 90
-girl-blue-cape/hair-back
-	bounds: 508, 145, 117, 98
-	rotate: 90
-girl-blue-cape/hair-bangs
-	bounds: 673, 419, 91, 40
-	rotate: 90
-girl-blue-cape/hair-head-side-back
-	bounds: 196, 331, 30, 52
-	rotate: 90
-girl-blue-cape/hair-head-side-front
-	bounds: 738, 323, 41, 42
-girl-blue-cape/hair-side
-	bounds: 473, 3, 36, 71
-girl-blue-cape/hand-front-fingers
-	bounds: 509, 365, 19, 21
-girl-spring-dress/hand-front-fingers
-	bounds: 509, 365, 19, 21
-girl-blue-cape/leg-front
-	bounds: 168, 72, 30, 158
-	rotate: 90
-girl-blue-cape/mouth-smile
-	bounds: 736, 79, 29, 7
-girl-spring-dress/mouth-smile
-	bounds: 736, 79, 29, 7
-girl/mouth-smile
-	bounds: 736, 79, 29, 7
-girl-blue-cape/nose
-	bounds: 747, 264, 11, 7
-girl-spring-dress/nose
-	bounds: 747, 264, 11, 7
-girl/nose
-	bounds: 747, 264, 11, 7
-girl-blue-cape/sleeve-back
-	bounds: 767, 79, 42, 29
-girl-blue-cape/sleeve-front
-	bounds: 408, 76, 52, 119
-	rotate: 90
-girl-spring-dress/arm-front
-	bounds: 596, 282, 17, 111
-girl-spring-dress/back-eyebrow
-	bounds: 801, 420, 18, 12
-girl-spring-dress/body-up
-	bounds: 179, 4, 64, 66
-girl-spring-dress/cloak-down
-	bounds: 775, 27, 50, 50
-girl-spring-dress/cloak-up
-	bounds: 360, 7, 64, 58
-	rotate: 90
-girl-spring-dress/eye-iris-back
-	bounds: 656, 264, 17, 17
-girl-spring-dress/eye-iris-front
-	bounds: 814, 492, 18, 18
-girl-spring-dress/front-eyebrow
-	bounds: 822, 472, 18, 12
-	rotate: 90
-girl-spring-dress/hair-back
-	bounds: 196, 363, 147, 93
-	rotate: 90
-girl-spring-dress/hair-bangs
-	bounds: 696, 326, 91, 40
-	rotate: 90
-girl-spring-dress/hair-head-side-back
-	bounds: 529, 76, 30, 52
-girl-spring-dress/hair-head-side-front
-	bounds: 781, 323, 41, 42
-girl-spring-dress/hair-side
-	bounds: 511, 3, 36, 71
-girl-spring-dress/leg-front
-	bounds: 171, 104, 30, 158
-girl-spring-dress/neck
-	bounds: 138, 70, 20, 32
-girl-spring-dress/shoulder-ribbon
-	bounds: 622, 131, 36, 24
-	rotate: 90
-girl-spring-dress/skirt
-	bounds: 113, 328, 182, 81
-	rotate: 90
-girl-spring-dress/underskirt
-	bounds: 2, 2, 175, 65
-girl/arm-front
-	bounds: 577, 395, 36, 115
-girl/back-eyebrow
-	bounds: 834, 492, 18, 12
-	rotate: 90
-girl/bag-base
-	bounds: 191, 264, 62, 58
-	rotate: 90
-girl/bag-strap-front
-	bounds: 385, 265, 12, 96
-girl/bag-top
-	bounds: 738, 367, 49, 50
-girl/body
-	bounds: 356, 130, 97, 132
-girl/boot-ribbon-front
-	bounds: 539, 130, 13, 13
-girl/eye-iris-back
-	bounds: 821, 424, 17, 17
-girl/eye-iris-front
-	bounds: 812, 443, 18, 18
-girl/eye-white-back
-	bounds: 814, 5, 20, 16
-	rotate: 90
-girl/front-eyebrow
-	bounds: 816, 400, 18, 12
-	rotate: 90
-girl/hair-back
-	bounds: 291, 363, 147, 93
-	rotate: 90
-girl/hair-bangs
-	bounds: 715, 419, 91, 40
-	rotate: 90
-girl/hair-flap-down-front
-	bounds: 288, 5, 70, 65
-girl/hair-head-side-back
-	bounds: 561, 77, 30, 52
-girl/hair-head-side-front
-	bounds: 757, 419, 41, 42
-	rotate: 90
-girl/hair-patch
-	bounds: 245, 4, 66, 41
-	rotate: 90
-girl/hair-side
-	bounds: 549, 3, 36, 71
-girl/hair-strand-back-1
-	bounds: 684, 3, 58, 74
-girl/hair-strand-back-2
-	bounds: 692, 171, 91, 58
-	rotate: 90
-girl/hair-strand-back-3
-	bounds: 615, 323, 92, 79
-	rotate: 90
-girl/hair-strand-front-1
-	bounds: 518, 269, 38, 94
-girl/hair-strand-front-2
-	bounds: 593, 79, 70, 50
-girl/hair-strand-front-3
-	bounds: 705, 88, 44, 81
-girl/hand-front-fingers
-	bounds: 530, 365, 19, 21
-girl/hat
-	bounds: 608, 169, 93, 82
-	rotate: 90
-girl/leg-front
-	bounds: 203, 104, 30, 158
-girl/pompom
-	bounds: 757, 462, 48, 43
-	rotate: 90
-girl/scarf
-	bounds: 455, 143, 119, 51
-	rotate: 90
-girl/scarf-back
-	bounds: 420, 2, 72, 51
-	rotate: 90
-girl/zip
-	bounds: 356, 109, 19, 25
-	rotate: 90

BIN
spine-cocos2dx/example-v4/Resources/common/mix-and-match.png


Rozdielové dáta súboru neboli zobrazené, pretože súbor je príliš veľký
+ 0 - 692
spine-cocos2dx/example-v4/Resources/common/raptor-pro.json


+ 0 - 100
spine-cocos2dx/example-v4/Resources/common/raptor.atlas

@@ -1,100 +0,0 @@
-raptor.png
-	size: 1024, 512
-	filter: Linear, Linear
-	scale: 0.5
-back-arm
-	bounds: 829, 88, 46, 25
-	rotate: 90
-back-bracer
-	bounds: 195, 238, 39, 28
-	rotate: 90
-back-hand
-	bounds: 724, 140, 36, 34
-	rotate: 90
-back-knee
-	bounds: 760, 131, 49, 67
-	rotate: 90
-back-thigh
-	bounds: 225, 238, 39, 24
-	rotate: 90
-eyes-open
-	bounds: 975, 204, 47, 45
-front-arm
-	bounds: 969, 112, 48, 26
-front-bracer
-	bounds: 724, 97, 41, 29
-	rotate: 90
-front-hand
-	bounds: 251, 239, 41, 38
-front-open-hand
-	bounds: 856, 76, 43, 44
-	rotate: 90
-front-thigh
-	bounds: 729, 178, 57, 29
-	rotate: 90
-gun
-	bounds: 894, 251, 107, 103
-gun-nohand
-	bounds: 764, 241, 105, 102
-head
-	bounds: 756, 345, 136, 149
-lower-leg
-	bounds: 475, 237, 73, 98
-	rotate: 90
-mouth-grind
-	bounds: 975, 172, 47, 30
-mouth-smile
-	bounds: 975, 140, 47, 30
-neck
-	bounds: 366, 282, 18, 21
-raptor-back-arm
-	bounds: 636, 97, 82, 86
-	rotate: 90
-raptor-body
-	bounds: 2, 2, 632, 233
-raptor-front-arm
-	bounds: 871, 168, 81, 102
-	rotate: 90
-raptor-front-leg
-	bounds: 2, 237, 191, 257
-raptor-hindleg-back
-	bounds: 195, 279, 169, 215
-raptor-horn
-	bounds: 431, 312, 182, 80
-	rotate: 90
-raptor-horn-back
-	bounds: 513, 318, 176, 77
-	rotate: 90
-raptor-jaw
-	bounds: 894, 356, 126, 138
-raptor-jaw-tooth
-	bounds: 294, 240, 37, 48
-	rotate: 90
-raptor-mouth-inside
-	bounds: 344, 241, 36, 41
-	rotate: 90
-raptor-saddle-strap-back
-	bounds: 575, 242, 54, 74
-raptor-saddle-strap-front
-	bounds: 764, 182, 57, 95
-	rotate: 90
-raptor-saddle-w-shadow
-	bounds: 592, 323, 162, 171
-raptor-tail-shadow
-	bounds: 366, 305, 189, 63
-	rotate: 90
-raptor-tongue
-	bounds: 387, 239, 86, 64
-stirrup-back
-	bounds: 829, 136, 44, 35
-	rotate: 90
-stirrup-front
-	bounds: 866, 121, 45, 50
-	rotate: 90
-stirrup-strap
-	bounds: 918, 120, 49, 46
-torso
-	bounds: 636, 181, 54, 91
-	rotate: 90
-visor
-	bounds: 631, 237, 131, 84

BIN
spine-cocos2dx/example-v4/Resources/common/raptor.png


Rozdielové dáta súboru neboli zobrazené, pretože súbor je príliš veľký
+ 0 - 541
spine-cocos2dx/example-v4/Resources/common/spineboy-pro.json


+ 0 - 101
spine-cocos2dx/example-v4/Resources/common/spineboy.atlas

@@ -1,101 +0,0 @@
-spineboy.png
-	size: 1024, 256
-	filter: Linear, Linear
-	scale: 0.5
-crosshair
-	bounds: 813, 160, 45, 45
-eye-indifferent
-	bounds: 569, 2, 47, 45
-eye-surprised
-	bounds: 643, 7, 47, 45
-	rotate: 90
-front-bracer
-	bounds: 811, 51, 29, 40
-front-fist-closed
-	bounds: 807, 93, 38, 41
-front-fist-open
-	bounds: 815, 210, 43, 44
-front-foot
-	bounds: 706, 64, 63, 35
-	rotate: 90
-front-shin
-	bounds: 80, 11, 41, 92
-front-thigh
-	bounds: 754, 12, 23, 56
-front-upper-arm
-	bounds: 618, 5, 23, 49
-goggles
-	bounds: 214, 20, 131, 83
-gun
-	bounds: 347, 14, 105, 102
-	rotate: 90
-head
-	bounds: 80, 105, 136, 149
-hoverboard-board
-	bounds: 2, 8, 246, 76
-	rotate: 90
-hoverboard-thruster
-	bounds: 478, 2, 30, 32
-hoverglow-small
-	bounds: 218, 117, 137, 38
-	rotate: 90
-mouth-grind
-	bounds: 775, 80, 47, 30
-	rotate: 90
-mouth-oooo
-	bounds: 779, 31, 47, 30
-	rotate: 90
-mouth-smile
-	bounds: 783, 207, 47, 30
-	rotate: 90
-muzzle-glow
-	bounds: 779, 4, 25, 25
-muzzle-ring
-	bounds: 451, 14, 25, 105
-muzzle01
-	bounds: 664, 60, 67, 40
-	rotate: 90
-muzzle02
-	bounds: 580, 56, 68, 42
-	rotate: 90
-muzzle03
-	bounds: 478, 36, 83, 53
-	rotate: 90
-muzzle04
-	bounds: 533, 49, 75, 45
-	rotate: 90
-muzzle05
-	bounds: 624, 56, 68, 38
-	rotate: 90
-neck
-	bounds: 806, 8, 18, 21
-portal-bg
-	bounds: 258, 121, 133, 133
-portal-flare1
-	bounds: 690, 2, 56, 30
-	rotate: 90
-portal-flare2
-	bounds: 510, 3, 57, 31
-portal-flare3
-	bounds: 722, 4, 58, 30
-	rotate: 90
-portal-shade
-	bounds: 393, 121, 133, 133
-portal-streaks1
-	bounds: 528, 126, 126, 128
-portal-streaks2
-	bounds: 656, 129, 125, 125
-rear-bracer
-	bounds: 826, 13, 28, 36
-rear-foot
-	bounds: 743, 70, 57, 30
-	rotate: 90
-rear-shin
-	bounds: 174, 14, 38, 89
-rear-thigh
-	bounds: 783, 158, 28, 47
-rear-upper-arm
-	bounds: 783, 136, 20, 44
-	rotate: 90
-torso
-	bounds: 123, 13, 49, 90

BIN
spine-cocos2dx/example-v4/Resources/common/spineboy.png


BIN
spine-cocos2dx/example-v4/Resources/common/tank-pro.skel


+ 0 - 56
spine-cocos2dx/example-v4/Resources/common/tank.atlas

@@ -1,56 +0,0 @@
-tank.png
-	size: 1024, 1024
-	filter: Linear, Linear
-	scale: 0.5
-antenna
-	bounds: 2, 712, 11, 152
-	rotate: 90
-cannon
-	bounds: 222, 694, 466, 29
-cannon-connector
-	bounds: 82, 654, 56, 68
-	rotate: 90
-ground
-	bounds: 2, 175, 512, 177
-guntower
-	bounds: 647, 347, 365, 145
-machinegun
-	bounds: 690, 694, 166, 29
-machinegun-mount
-	bounds: 858, 687, 36, 48
-	rotate: 90
-rock
-	bounds: 664, 607, 290, 64
-smoke-glow
-	bounds: 946, 673, 50, 50
-smoke-puff01-bg
-	bounds: 312, 630, 92, 62
-smoke-puff01-fg
-	bounds: 222, 633, 88, 59
-smoke-puff02-fg
-	bounds: 406, 630, 92, 62
-smoke-puff03-fg
-	bounds: 500, 630, 92, 62
-smoke-puff04-fg
-	bounds: 2, 662, 78, 48
-tank-bottom
-	bounds: 2, 354, 643, 138
-tank-bottom-shadow
-	bounds: 2, 2, 646, 171
-tank-top
-	bounds: 195, 494, 704, 111
-tread
-	bounds: 172, 708, 48, 15
-tread-inside
-	bounds: 156, 710, 13, 14
-	rotate: 90
-wheel-big
-	bounds: 97, 540, 96, 96
-wheel-big-overlay
-	bounds: 2, 559, 93, 93
-wheel-mid
-	bounds: 594, 624, 68, 68
-wheel-mid-overlay
-	bounds: 152, 638, 68, 68
-wheel-small
-	bounds: 908, 687, 36, 36

BIN
spine-cocos2dx/example-v4/Resources/common/tank.png


+ 0 - 36
spine-cocos2dx/example-v4/proj.ios_mac/ios/AppController.h

@@ -1,36 +0,0 @@
-/****************************************************************************
- Copyright (c) 2010-2013 cocos2d-x.org
- Copyright (c) 2013-2016 Chukong Technologies Inc.
- Copyright (c) 2017-2018 Xiamen Yaji Software Co., Ltd.
- 
- http://www.cocos2d-x.org
- 
- Permission is hereby granted, free of charge, to any person obtaining a copy
- of this software and associated documentation files (the "Software"), to deal
- in the Software without restriction, including without limitation the rights
- to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
- copies of the Software, and to permit persons to whom the Software is
- furnished to do so, subject to the following conditions:
- 
- The above copyright notice and this permission notice shall be included in
- all copies or substantial portions of the Software.
- 
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
- THE SOFTWARE.
- ****************************************************************************/
-
-#import <UIKit/UIKit.h>
-
-@class RootViewController;
-
-@interface AppController : NSObject <UIApplicationDelegate> {
-}
-
-@property(nonatomic, readonly) RootViewController *viewController;
-
-@end

+ 0 - 153
spine-cocos2dx/example-v4/proj.ios_mac/ios/AppController.mm

@@ -1,153 +0,0 @@
-/****************************************************************************
- Copyright (c) 2010-2013 cocos2d-x.org
- Copyright (c) 2013-2016 Chukong Technologies Inc.
- Copyright (c) 2017-2018 Xiamen Yaji Software Co., Ltd.
- 
- http://www.cocos2d-x.org
- 
- Permission is hereby granted, free of charge, to any person obtaining a copy
- of this software and associated documentation files (the "Software"), to deal
- in the Software without restriction, including without limitation the rights
- to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
- copies of the Software, and to permit persons to whom the Software is
- furnished to do so, subject to the following conditions:
- 
- The above copyright notice and this permission notice shall be included in
- all copies or substantial portions of the Software.
- 
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
- THE SOFTWARE.
- ****************************************************************************/
-
-#import "AppController.h"
-#import "cocos2d.h"
-#import "AppDelegate.h"
-#import "RootViewController.h"
-
-@implementation AppController
-
-@synthesize window;
-
-#pragma mark -
-#pragma mark Application lifecycle
-
-// cocos2d application instance
-static AppDelegate s_sharedApplication;
-
-- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
-    
-    cocos2d::Application *app = cocos2d::Application::getInstance();
-    
-    // Initialize the GLView attributes
-    app->initGLContextAttrs();
-    cocos2d::GLViewImpl::convertAttrs();
-    
-    // Override point for customization after application launch.
-
-    // Add the view controller's view to the window and display.
-    window = [[UIWindow alloc] initWithFrame: [[UIScreen mainScreen] bounds]];
-
-    // Use RootViewController to manage CCEAGLView
-    _viewController = [[RootViewController alloc]init];
-    _viewController.wantsFullScreenLayout = YES;
-    
-
-    // Set RootViewController to window
-    if ( [[UIDevice currentDevice].systemVersion floatValue] < 6.0)
-    {
-        // warning: addSubView doesn't work on iOS6
-        [window addSubview: _viewController.view];
-    }
-    else
-    {
-        // use this method on ios6
-        [window setRootViewController:_viewController];
-    }
-
-    [window makeKeyAndVisible];
-
-    [[UIApplication sharedApplication] setStatusBarHidden:true];
-    
-    //Launching the app with the arguments -NSAllowsDefaultLineBreakStrategy NO to force back to the old behavior.
-    if ( [[UIDevice currentDevice].systemVersion floatValue] >= 13.0f)
-    {
-        [[NSUserDefaults standardUserDefaults] setBool:NO forKey:@"NSAllowsDefaultLineBreakStrategy"];
-    }
-    
-    // IMPORTANT: Setting the GLView should be done after creating the RootViewController
-    cocos2d::GLView *glview = cocos2d::GLViewImpl::createWithEAGLView((__bridge void *)_viewController.view);
-    cocos2d::Director::getInstance()->setOpenGLView(glview);
-    
-    //run the cocos2d-x game scene
-    app->run();
-
-    return YES;
-}
-
-
-- (void)applicationWillResignActive:(UIApplication *)application {
-    /*
-     Sent when the application is about to move from active to inactive state. This can occur for certain types of temporary interruptions (such as an incoming phone call or SMS message) or when the user quits the application and it begins the transition to the background state.
-     Use this method to pause ongoing tasks, disable timers, and throttle down OpenGL ES frame rates. Games should use this method to pause the game.
-     */
-    // We don't need to call this method any more. It will interrupt user defined game pause&resume logic
-    /* cocos2d::Director::getInstance()->pause(); */
-}
-
-- (void)applicationDidBecomeActive:(UIApplication *)application {
-    /*
-     Restart any tasks that were paused (or not yet started) while the application was inactive. If the application was previously in the background, optionally refresh the user interface.
-     */
-    // We don't need to call this method any more. It will interrupt user defined game pause&resume logic
-    /* cocos2d::Director::getInstance()->resume(); */
-}
-
-- (void)applicationDidEnterBackground:(UIApplication *)application {
-    /*
-     Use this method to release shared resources, save user data, invalidate timers, and store enough application state information to restore your application to its current state in case it is terminated later. 
-     If your application supports background execution, called instead of applicationWillTerminate: when the user quits.
-     */
-    cocos2d::Application::getInstance()->applicationDidEnterBackground();
-}
-
-- (void)applicationWillEnterForeground:(UIApplication *)application {
-    /*
-     Called as part of  transition from the background to the inactive state: here you can undo many of the changes made on entering the background.
-     */
-    cocos2d::Application::getInstance()->applicationWillEnterForeground();
-}
-
-- (void)applicationWillTerminate:(UIApplication *)application {
-    /*
-     Called when the application is about to terminate.
-     See also applicationDidEnterBackground:.
-     */
-}
-
-
-#pragma mark -
-#pragma mark Memory management
-
-- (void)applicationDidReceiveMemoryWarning:(UIApplication *)application {
-    /*
-     Free up as much memory as possible by purging cached data objects that can be recreated (or reloaded from disk) later.
-     */
-}
-
-
-#if __has_feature(objc_arc)
-#else
-- (void)dealloc {
-    [window release];
-    [_viewController release];
-    [super dealloc];
-}
-#endif
-
-
-@end

+ 0 - 45
spine-cocos2dx/example-v4/proj.ios_mac/ios/Info.plist

@@ -1,45 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
-<plist version="1.0">
-<dict>
-    <key>CFBundleDevelopmentRegion</key>
-    <string>English</string>
-    <key>CFBundleDisplayName</key>
-    <string>${PRODUCT_NAME}</string>
-    <key>CFBundleExecutable</key>
-    <string>${EXECUTABLE_NAME}</string>
-    <key>CFBundleIconFile</key>
-    <string>Icon-57.png</string>
-    <key>CFBundleIdentifier</key>
-    <string>org.cocos2dx.${PRODUCT_NAME}</string>
-    <key>CFBundleInfoDictionaryVersion</key>
-    <string>6.0</string>
-    <key>CFBundleName</key>
-    <string>${PRODUCT_NAME}</string>
-    <key>CFBundleShortVersionString</key>
-    <string>1.0</string>
-    <key>CFBundlePackageType</key>
-    <string>APPL</string>
-    <key>CFBundleSignature</key>
-    <string>????</string>
-    <key>CFBundleVersion</key>
-    <string>1</string>
-    <key>LSRequiresIPhoneOS</key>
-    <true/>
-    <key>UIAppFonts</key>
-    <array/>
-    <key>UILaunchStoryboardName</key>
-    <string>LaunchScreen</string>
-    <key>UIPrerenderedIcon</key>
-    <true/>
-    <key>UIStatusBarHidden</key>
-    <true/>
-    <key>UISupportedInterfaceOrientations</key>
-    <array>
-        <string>UIInterfaceOrientationLandscapeRight</string>
-        <string>UIInterfaceOrientationLandscapeLeft</string>
-    </array>
-    <key>NSHumanReadableCopyright</key>
-    <string>Copyright © 2019. All rights reserved.</string>
-</dict>
-</plist>

+ 0 - 12
spine-cocos2dx/example-v4/proj.ios_mac/ios/Prefix.pch

@@ -1,12 +0,0 @@
-//
-// Prefix header for all source files of the 'iphone' target in the 'iphone' project
-//
-
-#ifdef __OBJC__
-    #import <Foundation/Foundation.h>
-    #import <UIKit/UIKit.h>
-#endif
-
-#ifdef __cplusplus
-	#include "cocos2d.h"
-#endif

+ 0 - 34
spine-cocos2dx/example-v4/proj.ios_mac/ios/RootViewController.h

@@ -1,34 +0,0 @@
-/****************************************************************************
- Copyright (c) 2013      cocos2d-x.org
- Copyright (c) 2013-2016 Chukong Technologies Inc.
- Copyright (c) 2017-2018 Xiamen Yaji Software Co., Ltd.
-
- http://www.cocos2d-x.org
-
- Permission is hereby granted, free of charge, to any person obtaining a copy
- of this software and associated documentation files (the "Software"), to deal
- in the Software without restriction, including without limitation the rights
- to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
- copies of the Software, and to permit persons to whom the Software is
- furnished to do so, subject to the following conditions:
-
- The above copyright notice and this permission notice shall be included in
- all copies or substantial portions of the Software.
-
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
- THE SOFTWARE.
- ****************************************************************************/
-
-#import <UIKit/UIKit.h>
-
-
-@interface RootViewController : UIViewController {
-}
-- (BOOL)prefersStatusBarHidden;
-
-@end

+ 0 - 122
spine-cocos2dx/example-v4/proj.ios_mac/ios/RootViewController.mm

@@ -1,122 +0,0 @@
-/****************************************************************************
- Copyright (c) 2013      cocos2d-x.org
- Copyright (c) 2013-2016 Chukong Technologies Inc.
- Copyright (c) 2017-2018 Xiamen Yaji Software Co., Ltd.
-
- http://www.cocos2d-x.org
-
- Permission is hereby granted, free of charge, to any person obtaining a copy
- of this software and associated documentation files (the "Software"), to deal
- in the Software without restriction, including without limitation the rights
- to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
- copies of the Software, and to permit persons to whom the Software is
- furnished to do so, subject to the following conditions:
-
- The above copyright notice and this permission notice shall be included in
- all copies or substantial portions of the Software.
-
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
- THE SOFTWARE.
- ****************************************************************************/
-
-#import "RootViewController.h"
-#import "cocos2d.h"
-#import "platform/ios/CCEAGLView-ios.h"
-
-
-@implementation RootViewController
-
-/*
- // The designated initializer.  Override if you create the controller programmatically and want to perform customization that is not appropriate for viewDidLoad.
-- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil {
-    if ((self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil])) {
-        // Custom initialization
-    }
-    return self;
-}
-*/
-
-// Implement loadView to create a view hierarchy programmatically, without using a nib.
-- (void)loadView {
-    // Initialize the CCEAGLView
-    CCEAGLView *eaglView = [CCEAGLView viewWithFrame: [UIScreen mainScreen].bounds
-                                         pixelFormat: (__bridge NSString *)cocos2d::GLViewImpl::_pixelFormat
-                                         depthFormat: cocos2d::GLViewImpl::_depthFormat
-                                  preserveBackbuffer: NO
-                                          sharegroup: nil
-                                       multiSampling: cocos2d::GLViewImpl::_multisamplingCount > 0 ? YES : NO
-                                     numberOfSamples: cocos2d::GLViewImpl::_multisamplingCount ];
-    
-    // Enable or disable multiple touches
-    [eaglView setMultipleTouchEnabled:NO];
-    
-    // Set EAGLView as view of RootViewController
-    self.view = eaglView;
-}
-
-// Implement viewDidLoad to do additional setup after loading the view, typically from a nib.
-- (void)viewDidLoad {
-    [super viewDidLoad];
-}
-
-- (void)viewWillAppear:(BOOL)animated {
-    [super viewWillAppear:animated];
-}
-
-- (void)viewDidDisappear:(BOOL)animated {
-    [super viewDidDisappear:animated];
-}
-
-
-// For ios6, use supportedInterfaceOrientations & shouldAutorotate instead
-#ifdef __IPHONE_6_0
-- (NSUInteger) supportedInterfaceOrientations{
-    return UIInterfaceOrientationMaskAllButUpsideDown;
-}
-#endif
-
-- (BOOL) shouldAutorotate {
-    return YES;
-}
-
-- (void)didRotateFromInterfaceOrientation:(UIInterfaceOrientation)fromInterfaceOrientation {
-    [super didRotateFromInterfaceOrientation:fromInterfaceOrientation];
-
-    auto glview = cocos2d::Director::getInstance()->getOpenGLView();
-
-    if (glview)
-    {
-        CCEAGLView *eaglview = (__bridge CCEAGLView *)glview->getEAGLView();
-
-        if (eaglview)
-        {
-            CGSize s = CGSizeMake([eaglview getWidth], [eaglview getHeight]);
-            cocos2d::Application::getInstance()->applicationScreenSizeChanged((int) s.width, (int) s.height);
-        }
-    }
-}
-
-//fix not hide status on ios7
-- (BOOL)prefersStatusBarHidden {
-    return YES;
-}
-
-// Controls the application's preferred home indicator auto-hiding when this view controller is shown.
-- (BOOL)prefersHomeIndicatorAutoHidden {
-    return YES;
-}
-
-- (void)didReceiveMemoryWarning {
-    // Releases the view if it doesn't have a superview.
-    [super didReceiveMemoryWarning];
-
-    // Release any cached data, images, etc that aren't in use.
-}
-
-
-@end

+ 0 - 7
spine-cocos2dx/example-v4/proj.ios_mac/ios/main.m

@@ -1,7 +0,0 @@
-#import <UIKit/UIKit.h>
-
-int main(int argc, char *argv[]) {
-    @autoreleasepool {
-        return UIApplicationMain(argc, argv, nil, @"AppController");
-    }
-}

BIN
spine-cocos2dx/example-v4/proj.ios_mac/mac/Icon.icns


+ 0 - 36
spine-cocos2dx/example-v4/proj.ios_mac/mac/Info.plist

@@ -1,36 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
-<plist version="1.0">
-<dict>
-	<key>CFBundleDevelopmentRegion</key>
-	<string>en</string>
-	<key>CFBundleExecutable</key>
-	<string>${EXECUTABLE_NAME}</string>
-	<key>CFBundleIconFile</key>
-	<string>Icon</string>
-	<key>CFBundleIdentifier</key>
-	<string>com.esotericsoftware.spine</string>
-	<key>CFBundleInfoDictionaryVersion</key>
-	<string>6.0</string>
-	<key>CFBundleName</key>
-	<string>${PRODUCT_NAME}</string>
-	<key>CFBundlePackageType</key>
-	<string>APPL</string>
-	<key>CFBundleShortVersionString</key>
-	<string>1.0</string>
-	<key>CFBundleSignature</key>
-	<string>????</string>
-	<key>CFBundleVersion</key>
-	<string>1</string>
-	<key>LSApplicationCategoryType</key>
-	<string>public.app-category.games</string>
-	<key>LSMinimumSystemVersion</key>
-	<string>${MACOSX_DEPLOYMENT_TARGET}</string>
-	<key>NSHumanReadableCopyright</key>
-	<string>Copyright © 2013. All rights reserved.</string>
-	<key>NSMainNibFile</key>
-	<string>MainMenu</string>
-	<key>NSPrincipalClass</key>
-	<string>NSApplication</string>
-</dict>
-</plist>

+ 0 - 11
spine-cocos2dx/example-v4/proj.ios_mac/mac/Prefix.pch

@@ -1,11 +0,0 @@
-//
-// Prefix header for all source files of the 'Paralaxer' target in the 'Paralaxer' project
-//
-
-#ifdef __OBJC__
-	#import <Cocoa/Cocoa.h>
-#endif
-
-#ifdef __cplusplus
-	#include "cocos2d.h"
-#endif

+ 0 - 34
spine-cocos2dx/example-v4/proj.ios_mac/mac/main.cpp

@@ -1,34 +0,0 @@
-/****************************************************************************
- Copyright (c) 2010 cocos2d-x.org
- Copyright (c) 2017-2018 Xiamen Yaji Software Co., Ltd.
- 
- http://www.cocos2d-x.org
- 
- Permission is hereby granted, free of charge, to any person obtaining a copy
- of this software and associated documentation files (the "Software"), to deal
- in the Software without restriction, including without limitation the rights
- to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
- copies of the Software, and to permit persons to whom the Software is
- furnished to do so, subject to the following conditions:
- 
- The above copyright notice and this permission notice shall be included in
- all copies or substantial portions of the Software.
- 
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
- THE SOFTWARE.
- ****************************************************************************/
-
-#include "AppDelegate.h"
-#include "cocos2d.h"
-
-USING_NS_CC;
-
-int main(int argc, char *argv[]) {
-	AppDelegate app;
-	return Application::getInstance()->run();
-}

+ 0 - 38
spine-cocos2dx/example-v4/proj.linux/main.cpp

@@ -1,38 +0,0 @@
-/****************************************************************************
- Copyright (c) 2017-2018 Xiamen Yaji Software Co., Ltd.
- 
- http://www.cocos2d-x.org
- 
- Permission is hereby granted, free of charge, to any person obtaining a copy
- of this software and associated documentation files (the "Software"), to deal
- in the Software without restriction, including without limitation the rights
- to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
- copies of the Software, and to permit persons to whom the Software is
- furnished to do so, subject to the following conditions:
- 
- The above copyright notice and this permission notice shall be included in
- all copies or substantial portions of the Software.
- 
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
- THE SOFTWARE.
- ****************************************************************************/
-
-#include "../Classes/AppDelegate.h"
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <string>
-#include <unistd.h>
-
-USING_NS_CC;
-
-int main(int argc, char **argv) {
-	// create the application instance
-	AppDelegate app;
-	return Application::getInstance()->run();
-}

+ 0 - 8
spine-cocos2dx/example-v4/proj.win32/build-cfg.json

@@ -1,8 +0,0 @@
-{
-    "copy_resources": [
-        {
-            "from": "../Resources",
-            "to": ""
-        }
-    ]
-}

+ 0 - 86
spine-cocos2dx/example-v4/proj.win32/game.rc

@@ -1,86 +0,0 @@
-// Microsoft Visual C++ generated resource script.
-//
-#include "resource.h"
-
-#define APSTUDIO_READONLY_SYMBOLS
-/////////////////////////////////////////////////////////////////////////////
-//
-// Generated from the TEXTINCLUDE 2 resource.
-//
-#define APSTUDIO_HIDDEN_SYMBOLS
-#include "windows.h"
-#undef APSTUDIO_HIDDEN_SYMBOLS
-/////////////////////////////////////////////////////////////////////////////
-#undef APSTUDIO_READONLY_SYMBOLS
-
-/////////////////////////////////////////////////////////////////////////////
-// English (U.S.) resources
-
-#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU)
-#ifdef _WIN32
-LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
-#pragma code_page(1252)
-#endif //_WIN32
-
-#ifdef APSTUDIO_INVOKED
-/////////////////////////////////////////////////////////////////////////////
-//
-// TEXTINCLUDE
-//
-
-1 TEXTINCLUDE 
-BEGIN
-    "resource.h\0"
-END
-
-#endif    // APSTUDIO_INVOKED
-
-/////////////////////////////////////////////////////////////////////////////
-//
-// Icon
-//
-
-// Icon with lowest ID value placed first to ensure application icon
-// remains consistent on all systems.
-GLFW_ICON           ICON                    "res\\game.ico"
-
-/////////////////////////////////////////////////////////////////////////////
-//
-// Version
-//
-
-VS_VERSION_INFO VERSIONINFO
- FILEVERSION 1,0,0,1
- PRODUCTVERSION 1,0,0,1
- FILEFLAGSMASK 0x3fL
-#ifdef _DEBUG
- FILEFLAGS 0x1L
-#else
- FILEFLAGS 0x0L
-#endif
- FILEOS 0x4L
- FILETYPE 0x2L
- FILESUBTYPE 0x0L
-BEGIN
-    BLOCK "StringFileInfo"
-    BEGIN
-        BLOCK "040904B0"
-        BEGIN
-            VALUE "CompanyName", "\0"
-            VALUE "FileDescription", "game Module\0"
-            VALUE "FileVersion", "1, 0, 0, 1\0"
-            VALUE "InternalName", "game\0"
-            VALUE "LegalCopyright", "Copyright \0"
-            VALUE "OriginalFilename", "game.exe\0"
-            VALUE "ProductName", "game Module\0"
-            VALUE "ProductVersion", "1, 0, 0, 1\0"
-        END
-    END
-    BLOCK "VarFileInfo"
-    BEGIN
-        VALUE "Translation", 0x0409, 0x04B0
-    END
-END
-
-/////////////////////////////////////////////////////////////////////////////
-#endif // !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU)

+ 0 - 41
spine-cocos2dx/example-v4/proj.win32/main.cpp

@@ -1,41 +0,0 @@
-/****************************************************************************
- Copyright (c) 2017-2018 Xiamen Yaji Software Co., Ltd.
- 
- http://www.cocos2d-x.org
- 
- Permission is hereby granted, free of charge, to any person obtaining a copy
- of this software and associated documentation files (the "Software"), to deal
- in the Software without restriction, including without limitation the rights
- to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
- copies of the Software, and to permit persons to whom the Software is
- furnished to do so, subject to the following conditions:
- 
- The above copyright notice and this permission notice shall be included in
- all copies or substantial portions of the Software.
- 
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
- THE SOFTWARE.
- ****************************************************************************/
-
-#include "main.h"
-#include "AppDelegate.h"
-#include "cocos2d.h"
-
-USING_NS_CC;
-
-int WINAPI _tWinMain(HINSTANCE hInstance,
-					 HINSTANCE hPrevInstance,
-					 LPTSTR lpCmdLine,
-					 int nCmdShow) {
-	UNREFERENCED_PARAMETER(hPrevInstance);
-	UNREFERENCED_PARAMETER(lpCmdLine);
-
-	// create the application instance
-	AppDelegate app;
-	return Application::getInstance()->run();
-}

+ 0 - 37
spine-cocos2dx/example-v4/proj.win32/main.h

@@ -1,37 +0,0 @@
-/****************************************************************************
- Copyright (c) 2017-2018 Xiamen Yaji Software Co., Ltd.
- 
- http://www.cocos2d-x.org
- 
- Permission is hereby granted, free of charge, to any person obtaining a copy
- of this software and associated documentation files (the "Software"), to deal
- in the Software without restriction, including without limitation the rights
- to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
- copies of the Software, and to permit persons to whom the Software is
- furnished to do so, subject to the following conditions:
- 
- The above copyright notice and this permission notice shall be included in
- all copies or substantial portions of the Software.
- 
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
- THE SOFTWARE.
- ****************************************************************************/
-
-#ifndef __MAIN_H__
-#define __MAIN_H__
-
-#define WIN32_LEAN_AND_MEAN// Exclude rarely-used stuff from Windows headers
-
-// Windows Header Files:
-#include <tchar.h>
-#include <windows.h>
-
-// C RunTime Header Files
-#include "platform/CCStdC.h"
-
-#endif// __MAIN_H__

BIN
spine-cocos2dx/example-v4/proj.win32/res/game.ico


+ 0 - 44
spine-cocos2dx/example-v4/proj.win32/resource.h

@@ -1,44 +0,0 @@
-/****************************************************************************
- Copyright (c) 2017-2018 Xiamen Yaji Software Co., Ltd.
- 
- http://www.cocos2d-x.org
- 
- Permission is hereby granted, free of charge, to any person obtaining a copy
- of this software and associated documentation files (the "Software"), to deal
- in the Software without restriction, including without limitation the rights
- to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
- copies of the Software, and to permit persons to whom the Software is
- furnished to do so, subject to the following conditions:
- 
- The above copyright notice and this permission notice shall be included in
- all copies or substantial portions of the Software.
- 
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
- THE SOFTWARE.
- ****************************************************************************/
-
-//{{NO_DEPENDENCIES}}
-// Microsoft Visual C++ generated include file.
-// Used by game.RC
-//
-
-#define IDS_PROJNAME 100
-#define IDR_TESTJS 100
-
-#define ID_FILE_NEW_WINDOW 32771
-
-// Next default values for new objects
-//
-#ifdef APSTUDIO_INVOKED
-#ifndef APSTUDIO_READONLY_SYMBOLS
-#define _APS_NEXT_RESOURCE_VALUE 201
-#define _APS_NEXT_CONTROL_VALUE 1000
-#define _APS_NEXT_SYMED_VALUE 101
-#define _APS_NEXT_COMMAND_VALUE 32775
-#endif
-#endif

+ 1 - 1
spine-cocos2dx/example/.cocos-project.json

@@ -1,4 +1,4 @@
 {
-    "engine_version": "cocos2d-x-3.11.1", 
+    "engine_version": "cocos2d-x-4.0", 
     "project_type": "cpp"
 }

+ 0 - 7
spine-cocos2dx/example/.gitignore

@@ -1,7 +0,0 @@
-bin/
-build/
-build-linux/
-proj.android/bin/
-proj.android/assets/
-proj.android/libs/
-proj.android/obj/

+ 111 - 108
spine-cocos2dx/example/CMakeLists.txt

@@ -1,6 +1,6 @@
 #/****************************************************************************
 # Copyright (c) 2013-2014 cocos2d-x.org
-# Copyright (c) 2015 Chukong Technologies Inc.
+# Copyright (c) 2015-2017 Chukong Technologies Inc.
 #
 # http://www.cocos2d-x.org
 #
@@ -22,139 +22,142 @@
 # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
 # THE SOFTWARE.
 # ****************************************************************************/
-#cmake_policy(SET CMP0017 NEW)
 
-cmake_minimum_required(VERSION 3.8)
+cmake_minimum_required(VERSION 3.6)
 
 set(APP_NAME spine-cocos2dx-example)
-project (${APP_NAME})
 
-set(COCOS2D_ROOT ${CMAKE_SOURCE_DIR}/cocos2d)
+project(${APP_NAME})
 
-set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${COCOS2D_ROOT}/cmake/Modules/")
+set(BUILD_EXTENSIONS OFF CACHE BOOL "Build extensions" FORCE)
 
-set(COCOS2DX_ROOT_PATH ${CMAKE_CURRENT_SOURCE_DIR}/cocos2d)
-set(CMAKE_MODULE_PATH ${COCOS2DX_ROOT_PATH}/cmake/Modules/)
+include(../spine-cocos2dx.cmake)
 
-# libcocos2d
-set(BUILD_CPP_EMPTY_TEST OFF CACHE BOOL "turn off build cpp-empty-test" FORCE)
-set(BUILD_CPP_TESTS OFF CACHE BOOL "turn off build cpp-tests" FORCE)
-set(BUILD_LUA_LIBS OFF CACHE BOOL "turn off build lua related targets" FORCE)
-set(BUILD_JS_LIBS OFF CACHE BOOL "turn off build js related targets" FORCE)
-
-set(BUILD_EDITOR_SPINE OFF CACHE BOOL "Build editor support for spine" FORCE)
-
-
-set(BUILD_EDITOR_SPINE ON CACHE BOOL "enable spine")
-
-include_directories(
-  ${CMAKE_CURRENT_LIST_DIR}/../../spine-cpp/spine-cpp/include
-  ${CMAKE_CURRENT_LIST_DIR}/../src
-)
-
-include(CocosBuildSet)
-add_subdirectory(${COCOS2DX_ROOT_PATH}/cocos ${ENGINE_BINARY_PATH}/cocos/core)
-
-get_target_property(COCOS2D_X_VERSION cocos2d VERSION)
-set(COCOS2DX_ROOT_PATH ${COCOS2D_ROOT})
-
-set(PLATFORM_SPECIFIC_SRC)
-set(PLATFORM_SPECIFIC_HEADERS)
-set(cc_common_res)
+if(XCODE)
+    if(NOT DEFINED CMAKE_XCODE_ATTRIBUTE_IPHONEOS_DEPLOYMENT_TARGET)
+        SET (CMAKE_XCODE_ATTRIBUTE_IPHONEOS_DEPLOYMENT_TARGET 8.0)
+    endif()
+endif()
 
+if(NOT DEFINED BUILD_ENGINE_DONE) # to test spine-cocos2dx-example into root project
+    set(COCOS2DX_ROOT_PATH ${CMAKE_CURRENT_SOURCE_DIR}/cocos2d)
+    set(CMAKE_MODULE_PATH ${COCOS2DX_ROOT_PATH}/cmake/Modules/)
 
-set(GAME_RES_FOLDER  ${CMAKE_CURRENT_SOURCE_DIR}/Resources)
-if(APPLE OR VS)
-  cocos_mark_multi_resources(cc_common_res RES_TO "Resources" FOLDERS ${GAME_RES_FOLDER})
+    include(CocosBuildSet)
+    add_subdirectory(${COCOS2DX_ROOT_PATH}/cocos ${ENGINE_BINARY_PATH}/cocos/core)
 endif()
 
-if(MACOSX OR APPLE)
-    set(APP_UI_RES
-    proj.ios_mac/mac/Icon.icns
-    proj.ios_mac/mac/Info.plist
-    )
-    set(PLATFORM_SPECIFIC_SRC
-      proj.ios_mac/mac/main.cpp
-    )
-elseif(LINUX)
-    set(PLATFORM_SPECIFIC_SRC
-      proj.linux/main.cpp
-    )
-elseif ( WIN32 )
-    set(PLATFORM_SPECIFIC_SRC
-      proj.win32/main.cpp
-    )
-    set(PLATFORM_SPECIFIC_HEADERS
-      proj.win32/main.h
-      proj.win32/resource.h
-    )
-elseif(ANDROID)
-    set(PLATFORM_SPECIFIC_SRC
-      proj.android-studio/app/jni/hellocpp/main.cpp
+# record sources, headers, resources...
+set(GAME_RES_FOLDER
+    "${CMAKE_CURRENT_SOURCE_DIR}/Resources"
     )
+if(APPLE OR WINDOWS)
+    cocos_mark_multi_resources(common_res_files RES_TO "Resources" FOLDERS ${GAME_RES_FOLDER})
 endif()
 
+# add cross-platforms source files and header files
+file(GLOB_RECURSE GAME_SOURCE "${CMAKE_CURRENT_SOURCE_DIR}/Classes/*.cpp")
+file(GLOB_RECURSE GAME_HEADER "${CMAKE_CURRENT_SOURCE_DIR}/Classes/*.h")
+set(GAME_INCLUDE "${CMAKE_CURRENT_SOURCE_DIR}/Classes")
+
+if(ANDROID)
+    # change APP_NAME to the share library name for Android, it's value depend on AndroidManifest.xml
+    set(APP_NAME MyGame)
+    list(APPEND GAME_SOURCE
+         proj.android/app/jni/hellocpp/main.cpp
+         )
+elseif(LINUX)
+    list(APPEND GAME_SOURCE
+         proj.linux/main.cpp
+         )
+elseif(WINDOWS)
+    list(APPEND GAME_HEADER
+         proj.win32/main.h
+         proj.win32/resource.h
+         )
+    list(APPEND GAME_SOURCE
+         proj.win32/main.cpp
+         proj.win32/game.rc
+         ${common_res_files}
+         )
+elseif(APPLE)
+    if(IOS)
+        list(APPEND GAME_HEADER
+             proj.ios_mac/ios/AppController.h
+             proj.ios_mac/ios/RootViewController.h
+             )
+        set(APP_UI_RES
+            proj.ios_mac/ios/LaunchScreen.storyboard
+            proj.ios_mac/ios/LaunchScreenBackground.png
+            proj.ios_mac/ios/Images.xcassets
+            )
+        list(APPEND GAME_SOURCE
+             proj.ios_mac/ios/main.m
+             proj.ios_mac/ios/AppController.mm
+             proj.ios_mac/ios/RootViewController.mm
+             proj.ios_mac/ios/Prefix.pch
+             ${APP_UI_RES}
+             )
+    elseif(MACOSX)
+        set(APP_UI_RES
+            proj.ios_mac/mac/Icon.icns
+            proj.ios_mac/mac/Info.plist
+            )
+        list(APPEND GAME_SOURCE
+             proj.ios_mac/mac/main.cpp
+             proj.ios_mac/mac/Prefix.pch
+             ${APP_UI_RES}
+             )
+    endif()
+    list(APPEND GAME_SOURCE ${common_res_files})
+endif()
 
-file(GLOB GAME_CLASSES_SOURCES "Classes/*.cpp")
-file(GLOB GAME_CLASSES_HEADERS "Classes/*.h")
-
-set(GAME_SRC
-  ${GAME_CLASSES_SOURCES}
-  ${PLATFORM_SPECIFIC_SRC}
-  ${cc_common_res}
-)
-
+# mark app complie info and libs info
+set(all_code_files
+    ${GAME_HEADER}
+    ${GAME_SOURCE}
+    )
+if(NOT ANDROID)
+    add_executable(${APP_NAME} ${all_code_files})	
+else()
+    add_library(${APP_NAME} SHARED ${all_code_files})
+    add_subdirectory(${COCOS2DX_ROOT_PATH}/cocos/platform/android ${ENGINE_BINARY_PATH}/cocos/platform)
+	target_link_libraries(${APP_NAME} -Wl,--whole-archive cpp_android_spec -Wl,--no-whole-archive)    
+endif()
 
-set(GAME_HEADERS
-  ${GAME_CLASSES_HEADERS}
-  ${PLATFORM_SPECIFIC_HEADERS}
-)
+# Link the spine-cpp and spine-cocos2dx library to the app
+target_link_libraries(${APP_NAME} spine-cpp spine-cocos2dx)
 
-if( ANDROID )
-    add_library(${APP_NAME} SHARED ${GAME_SRC} ${GAME_HEADERS})
-    IF(CMAKE_BUILD_TYPE MATCHES RELEASE)
-        ADD_CUSTOM_COMMAND(TARGET ${APP_NAME} POST_BUILD COMMAND ${CMAKE_STRIP} lib${APP_NAME}.so)
-    ENDIF()
-else()
-    add_executable(${APP_NAME} ${GAME_SRC} ${GAME_HEADERS})
+# Manually link to libz on iOS, the cocos2d-x build only pulls in libz.tbd
+if(IOS)    
+    target_link_libraries(${APP_NAME} z)
 endif()
 
-target_include_directories(${APP_NAME} PRIVATE Classes)
 target_link_libraries(${APP_NAME} cocos2d)
+target_include_directories(${APP_NAME}
+        PRIVATE ${GAME_INCLUDE}
+        PRIVATE ${COCOS2DX_ROOT_PATH}/cocos/audio/include/
+)
 
+# mark app resources
 setup_cocos_app_config(${APP_NAME})
+if(APPLE)
+    set_target_properties(${APP_NAME} PROPERTIES RESOURCE "${APP_UI_RES}")
 
-if(COMMAND cocos_get_resource_path)
-  cocos_get_resource_path(APP_RES_DIR ${APP_NAME})
-else()
-  set(APP_RES_DIR "$<TARGET_FILE_DIR:${APP_NAME}>/Resources")
-endif()
+    if(MACOSX)
+        set_xcode_property(${APP_NAME} INFOPLIST_FILE "${CMAKE_CURRENT_SOURCE_DIR}/proj.ios_mac/mac/Info.plist")
+    elseif(IOS)
+        set_xcode_property(${APP_NAME} INFOPLIST_FILE "${CMAKE_CURRENT_SOURCE_DIR}/proj.ios_mac/ios/Info.plist")
+        set_xcode_property(${APP_NAME} ASSETCATALOG_COMPILER_APPICON_NAME "AppIcon")
+    endif()
 
-if(APPLE)
-  set_target_properties(${APP_NAME} PROPERTIES RESOURCE "${API_UI_RES}")
-  if(MACOSX)
-    set_target_properties(${APP_NAME} PROPERTIES
-                          MACOSX_BUNDLE_INFO_PLIST "${CMAKE_CURRENT_SOURCE_DIR}/proj.ios_mac/mac/Info.plist"
-                          )
-  elseif(IOS)
-    cocos_pak_xcode(${APP_NAME} INFO_PLIST "${CMAKE_CURRENT_SOURCE_DIR}/proj.ios_mac/ios/Info.plist")
-    set_xcode_property(${APP_NAME} ASSETCATALOG_COMPILER_APPICON_NAME "AppIcon-${APP_NAME}")
-    set_xcode_property(${APP_NAME} CODE_SIGN_IDENTITY "iPhone Developer")
-    set_xcode_property(${APP_NAME} DEVELOPMENT_TEAM "")
-    set_xcode_property(${APP_NAME} CODE_SIGN_IDENTITY "iPhone Developer")
-  endif()
+    # For code-signing, set the DEVELOPMENT_TEAM:
+    #set_xcode_property(${APP_NAME} DEVELOPMENT_TEAM "GRLXXXX2K9")
 elseif(WINDOWS)
-  cocos_copy_target_dll(${APP_NAME} COPY_TO ${APP_RES_DIR}/..)
+    cocos_copy_target_dll(${APP_NAME})
 endif()
 
 if(LINUX OR WINDOWS)
-  if("${COCOS2D_X_VERSION}" VERSION_LESS "4.0")
-    if(COMMAND cocos_copy_res)
-      cocos_copy_res(COPY_TO ${APP_RES_DIR} FOLDERS ${GAME_RES_FOLDER})
-    else()
-      cocos_copy_target_res(${APP_NAME} COPY_TO ${APP_RES_DIR} FOLDERS ${GAME_RES_FOLDER})
-    endif()
-  else()
+    cocos_get_resource_path(APP_RES_DIR ${APP_NAME})
     cocos_copy_target_res(${APP_NAME} LINK_TO ${APP_RES_DIR} FOLDERS ${GAME_RES_FOLDER})
-  endif()
-endif()
+endif()

+ 0 - 9
spine-cocos2dx/example/proj.android/.classpath

@@ -1,9 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
-	<classpathentry kind="con" path="com.android.ide.eclipse.adt.ANDROID_FRAMEWORK"/>
-	<classpathentry exported="true" kind="con" path="com.android.ide.eclipse.adt.LIBRARIES"/>
-	<classpathentry kind="src" path="src"/>
-	<classpathentry kind="src" path="gen"/>
-	<classpathentry exported="true" kind="con" path="com.android.ide.eclipse.adt.DEPENDENCIES"/>
-	<classpathentry kind="output" path="bin/classes"/>
-</classpath>

+ 0 - 185
spine-cocos2dx/example/proj.android/.cproject

@@ -1,185 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<?fileVersion 4.0.0?>
-
-<cproject storage_type_id="org.eclipse.cdt.core.XmlProjectDescriptionStorage">
-	<storageModule moduleId="org.eclipse.cdt.core.settings">
-		<cconfiguration id="0.1230402123">
-			<storageModule buildSystemId="org.eclipse.cdt.managedbuilder.core.configurationDataProvider" id="0.1230402123" moduleId="org.eclipse.cdt.core.settings" name="Release">
-				<externalSettings/>
-				<extensions>
-					<extension id="org.eclipse.cdt.core.VCErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
-					<extension id="org.eclipse.cdt.core.GmakeErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
-					<extension id="org.eclipse.cdt.core.CWDLocator" point="org.eclipse.cdt.core.ErrorParser"/>
-					<extension id="org.eclipse.cdt.core.GCCErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
-					<extension id="org.eclipse.cdt.core.GASErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
-					<extension id="org.eclipse.cdt.core.GLDErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
-				</extensions>
-			</storageModule>
-			<storageModule moduleId="cdtBuildSystem" version="4.0.0">
-				<configuration artifactName="${ProjName}" buildProperties="" description="" id="0.1230402123" name="Release" parent="org.eclipse.cdt.build.core.prefbase.cfg">
-					<folderInfo id="0.1230402123." name="/" resourcePath="">
-						<toolChain id="org.eclipse.cdt.build.core.prefbase.toolchain.1911072326" name="No ToolChain" resourceTypeBasedDiscovery="false" superClass="org.eclipse.cdt.build.core.prefbase.toolchain">
-							<targetPlatform id="org.eclipse.cdt.build.core.prefbase.toolchain.1911072326.2087917918" name=""/>
-							<builder arguments="${ProjDirPath}/build_native.py -b release" buildPath="${ProjDirPath}" command="python" id="org.eclipse.cdt.build.core.settings.default.builder.1038735572" keepEnvironmentInBuildfile="false" managedBuildOn="false" name="Gnu Make Builder" superClass="org.eclipse.cdt.build.core.settings.default.builder">
-								<outputEntries>
-									<entry flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="outputPath" name=""/>
-								</outputEntries>
-							</builder>
-							<tool id="org.eclipse.cdt.build.core.settings.holder.libs.547532631" name="holder for library settings" superClass="org.eclipse.cdt.build.core.settings.holder.libs"/>
-							<tool id="org.eclipse.cdt.build.core.settings.holder.1481118451" name="Assembly" superClass="org.eclipse.cdt.build.core.settings.holder">
-								<option id="org.eclipse.cdt.build.core.settings.holder.incpaths.990682174" name="Include Paths" superClass="org.eclipse.cdt.build.core.settings.holder.incpaths" valueType="includePath">
-									<listOptionValue builtIn="false" value="${NDK_ROOT}/sources/android/native_app_glue"/>
-								</option>
-								<option id="org.eclipse.cdt.build.core.settings.holder.symbols.387417389" name="Symbols" superClass="org.eclipse.cdt.build.core.settings.holder.symbols" valueType="definedSymbols">
-									<listOptionValue builtIn="false" value="CC_TARGET_PLATFORM=CC_PLATFORM_ANDROID"/>
-									<listOptionValue builtIn="false" value="CC_DLL"/>
-								</option>
-								<inputType id="org.eclipse.cdt.build.core.settings.holder.inType.992559344" languageId="org.eclipse.cdt.core.assembly" languageName="Assembly" sourceContentType="org.eclipse.cdt.core.asmSource" superClass="org.eclipse.cdt.build.core.settings.holder.inType"/>
-							</tool>
-							<tool id="org.eclipse.cdt.build.core.settings.holder.429561268" name="GNU C++" superClass="org.eclipse.cdt.build.core.settings.holder">
-								<option id="org.eclipse.cdt.build.core.settings.holder.incpaths.1008860290" name="Include Paths" superClass="org.eclipse.cdt.build.core.settings.holder.incpaths" valueType="includePath">
-									<listOptionValue builtIn="false" value="${NDK_ROOT}/sources/android/native_app_glue"/>
-									<listOptionValue builtIn="false" value="${NDK_ROOT}/platforms/android-18/arch-arm/usr/include"/>
-									<listOptionValue builtIn="false" value="${NDK_ROOT}/sources/cxx-stl/gnu-libstdc++/4.8/include"/>
-									<listOptionValue builtIn="false" value="${ProjDirPath}/../cocos2d"/>
-									<listOptionValue builtIn="false" value="${ProjDirPath}/../cocos2d/cocos/2d"/>
-									<listOptionValue builtIn="false" value="${ProjDirPath}/../cocos2d/cocos"/>
-									<listOptionValue builtIn="false" value="${ProjDirPath}/../cocos2d/cocos/physics"/>
-									<listOptionValue builtIn="false" value="${ProjDirPath}/../cocos2d/cocos/base"/>
-									<listOptionValue builtIn="false" value="${ProjDirPath}/../cocos2d/cocos/math/kazmath"/>
-									<listOptionValue builtIn="false" value="${ProjDirPath}/../cocos2d/cocos/ui"/>
-									<listOptionValue builtIn="false" value="${ProjDirPath}/../cocos2d/cocos/network"/>
-									<listOptionValue builtIn="false" value="${ProjDirPath}/../cocos2d/cocos/audio/include"/>
-									<listOptionValue builtIn="false" value="${ProjDirPath}/../cocos2d/cocos/editor-support"/>
-									<listOptionValue builtIn="false" value="${ProjDirPath}/../cocos2d/extensions"/>
-									<listOptionValue builtIn="false" value="${ProjDirPath}/../cocos2d/external"/>
-									<listOptionValue builtIn="false" value="${ProjDirPath}/../cocos2d/external/chipmunk/include/chipmunk"/>
-								</option>
-								<option id="org.eclipse.cdt.build.core.settings.holder.symbols.1728671637" name="Symbols" superClass="org.eclipse.cdt.build.core.settings.holder.symbols" valueType="definedSymbols">
-									<listOptionValue builtIn="false" value="CC_TARGET_PLATFORM=CC_PLATFORM_ANDROID"/>
-									<listOptionValue builtIn="false" value="CC_DLL"/>
-								</option>
-								<inputType id="org.eclipse.cdt.build.core.settings.holder.inType.788524757" languageId="org.eclipse.cdt.core.g++" languageName="GNU C++" sourceContentType="org.eclipse.cdt.core.cxxSource,org.eclipse.cdt.core.cxxHeader" superClass="org.eclipse.cdt.build.core.settings.holder.inType"/>
-							</tool>
-							<tool id="org.eclipse.cdt.build.core.settings.holder.795443271" name="GNU C" superClass="org.eclipse.cdt.build.core.settings.holder">
-								<option id="org.eclipse.cdt.build.core.settings.holder.incpaths.315092538" name="Include Paths" superClass="org.eclipse.cdt.build.core.settings.holder.incpaths" valueType="includePath">
-									<listOptionValue builtIn="false" value="${NDK_ROOT}/sources/android/native_app_glue"/>
-								</option>
-								<option id="org.eclipse.cdt.build.core.settings.holder.symbols.706119994" name="Symbols" superClass="org.eclipse.cdt.build.core.settings.holder.symbols" valueType="definedSymbols">
-									<listOptionValue builtIn="false" value="CC_TARGET_PLATFORM=CC_PLATFORM_ANDROID"/>
-									<listOptionValue builtIn="false" value="CC_DLL"/>
-								</option>
-								<inputType id="org.eclipse.cdt.build.core.settings.holder.inType.1846971482" languageId="org.eclipse.cdt.core.gcc" languageName="GNU C" sourceContentType="org.eclipse.cdt.core.cSource,org.eclipse.cdt.core.cHeader" superClass="org.eclipse.cdt.build.core.settings.holder.inType"/>
-							</tool>
-						</toolChain>
-					</folderInfo>
-					<sourceEntries>
-						<entry excluding="Classes|cocos2d" flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name=""/>
-						<entry flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name="Classes"/>
-						<entry flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name="cocos2d"/>
-					</sourceEntries>
-				</configuration>
-			</storageModule>
-			<storageModule moduleId="org.eclipse.cdt.core.externalSettings"/>
-		</cconfiguration>
-		<cconfiguration id="0.1377291156">
-			<storageModule buildSystemId="org.eclipse.cdt.managedbuilder.core.configurationDataProvider" id="0.1230402123.1377291156" moduleId="org.eclipse.cdt.core.settings" name="Debug">
-				<externalSettings/>
-				<extensions>
-					<extension id="org.eclipse.cdt.core.VCErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
-					<extension id="org.eclipse.cdt.core.GmakeErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
-					<extension id="org.eclipse.cdt.core.CWDLocator" point="org.eclipse.cdt.core.ErrorParser"/>
-					<extension id="org.eclipse.cdt.core.GCCErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
-					<extension id="org.eclipse.cdt.core.GASErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
-					<extension id="org.eclipse.cdt.core.GLDErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
-				</extensions>
-			</storageModule>
-			<storageModule moduleId="cdtBuildSystem" version="4.0.0">
-				<configuration artifactName="${ProjName}" buildProperties="" description="" id="0.1230402123.1377291156" name="Debug" parent="org.eclipse.cdt.build.core.prefbase.cfg">
-					<folderInfo id="0.1230402123.1377291156." name="/" resourcePath="">
-						<toolChain id="org.eclipse.cdt.build.core.prefbase.toolchain.201833538" name="No ToolChain" resourceTypeBasedDiscovery="false" superClass="org.eclipse.cdt.build.core.prefbase.toolchain">
-							<targetPlatform id="org.eclipse.cdt.build.core.prefbase.toolchain.201833538.235980614" name=""/>
-							<builder arguments="${ProjDirPath}/build_native.py -b debug" buildPath="${ProjDirPath}" command="python" id="org.eclipse.cdt.build.core.settings.default.builder.1949248716" keepEnvironmentInBuildfile="false" managedBuildOn="false" name="Gnu Make Builder" superClass="org.eclipse.cdt.build.core.settings.default.builder">
-								<outputEntries>
-									<entry flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="outputPath" name=""/>
-								</outputEntries>
-							</builder>
-							<tool id="org.eclipse.cdt.build.core.settings.holder.libs.813839891" name="holder for library settings" superClass="org.eclipse.cdt.build.core.settings.holder.libs"/>
-							<tool id="org.eclipse.cdt.build.core.settings.holder.766422923" name="Assembly" superClass="org.eclipse.cdt.build.core.settings.holder">
-								<option id="org.eclipse.cdt.build.core.settings.holder.incpaths.658464030" name="Include Paths" superClass="org.eclipse.cdt.build.core.settings.holder.incpaths" valueType="includePath">
-									<listOptionValue builtIn="false" value="${NDK_ROOT}/sources/android/native_app_glue"/>
-								</option>
-								<option id="org.eclipse.cdt.build.core.settings.holder.symbols.402466199" name="Symbols" superClass="org.eclipse.cdt.build.core.settings.holder.symbols" valueType="definedSymbols">
-									<listOptionValue builtIn="false" value="CC_TARGET_PLATFORM=CC_PLATFORM_ANDROID"/>
-									<listOptionValue builtIn="false" value="CC_DLL"/>
-								</option>
-								<inputType id="org.eclipse.cdt.build.core.settings.holder.inType.930232989" languageId="org.eclipse.cdt.core.assembly" languageName="Assembly" sourceContentType="org.eclipse.cdt.core.asmSource" superClass="org.eclipse.cdt.build.core.settings.holder.inType"/>
-							</tool>
-							<tool id="org.eclipse.cdt.build.core.settings.holder.55647957" name="GNU C++" superClass="org.eclipse.cdt.build.core.settings.holder">
-								<option id="org.eclipse.cdt.build.core.settings.holder.incpaths.814113654" name="Include Paths" superClass="org.eclipse.cdt.build.core.settings.holder.incpaths" valueType="includePath">
-									<listOptionValue builtIn="false" value="${NDK_ROOT}/sources/android/native_app_glue"/>
-									<listOptionValue builtIn="false" value="${NDK_ROOT}/platforms/android-18/arch-arm/usr/include"/>
-									<listOptionValue builtIn="false" value="${NDK_ROOT}/sources/cxx-stl/gnu-libstdc++/4.8/include"/>
-									<listOptionValue builtIn="false" value="${ProjDirPath}/../cocos2d"/>
-									<listOptionValue builtIn="false" value="${ProjDirPath}/../cocos2d/cocos/2d"/>
-									<listOptionValue builtIn="false" value="${ProjDirPath}/../cocos2d/cocos"/>
-									<listOptionValue builtIn="false" value="${ProjDirPath}/../cocos2d/cocos/physics"/>
-									<listOptionValue builtIn="false" value="${ProjDirPath}/../cocos2d/cocos/base"/>
-									<listOptionValue builtIn="false" value="${ProjDirPath}/../cocos2d/cocos/math/kazmath"/>
-									<listOptionValue builtIn="false" value="${ProjDirPath}/../cocos2d/cocos/ui"/>
-									<listOptionValue builtIn="false" value="${ProjDirPath}/../cocos2d/cocos/network"/>
-									<listOptionValue builtIn="false" value="${ProjDirPath}/../cocos2d/cocos/audio/include"/>
-									<listOptionValue builtIn="false" value="${ProjDirPath}/../cocos2d/cocos/editor-support"/>
-									<listOptionValue builtIn="false" value="${ProjDirPath}/../cocos2d/extensions"/>
-									<listOptionValue builtIn="false" value="${ProjDirPath}/../cocos2d/external"/>
-									<listOptionValue builtIn="false" value="${ProjDirPath}/../cocos2d/external/chipmunk/include/chipmunk"/>
-								</option>
-								<option id="org.eclipse.cdt.build.core.settings.holder.symbols.923561092" name="Symbols" superClass="org.eclipse.cdt.build.core.settings.holder.symbols" valueType="definedSymbols">
-									<listOptionValue builtIn="false" value="CC_TARGET_PLATFORM=CC_PLATFORM_ANDROID"/>
-									<listOptionValue builtIn="false" value="CC_DLL"/>
-								</option>
-								<inputType id="org.eclipse.cdt.build.core.settings.holder.inType.383151501" languageId="org.eclipse.cdt.core.g++" languageName="GNU C++" sourceContentType="org.eclipse.cdt.core.cxxSource,org.eclipse.cdt.core.cxxHeader" superClass="org.eclipse.cdt.build.core.settings.holder.inType"/>
-							</tool>
-							<tool id="org.eclipse.cdt.build.core.settings.holder.2139448747" name="GNU C" superClass="org.eclipse.cdt.build.core.settings.holder">
-								<option id="org.eclipse.cdt.build.core.settings.holder.incpaths.715095106" name="Include Paths" superClass="org.eclipse.cdt.build.core.settings.holder.incpaths" valueType="includePath">
-									<listOptionValue builtIn="false" value="${NDK_ROOT}/sources/android/native_app_glue"/>
-								</option>
-								<option id="org.eclipse.cdt.build.core.settings.holder.symbols.157274928" name="Symbols" superClass="org.eclipse.cdt.build.core.settings.holder.symbols" valueType="definedSymbols">
-									<listOptionValue builtIn="false" value="CC_TARGET_PLATFORM=CC_PLATFORM_ANDROID"/>
-									<listOptionValue builtIn="false" value="CC_DLL"/>
-								</option>
-								<inputType id="org.eclipse.cdt.build.core.settings.holder.inType.108662290" languageId="org.eclipse.cdt.core.gcc" languageName="GNU C" sourceContentType="org.eclipse.cdt.core.cSource,org.eclipse.cdt.core.cHeader" superClass="org.eclipse.cdt.build.core.settings.holder.inType"/>
-							</tool>
-						</toolChain>
-					</folderInfo>
-					<sourceEntries>
-						<entry excluding="Classes|cocos2d" flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name=""/>
-						<entry flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name="Classes"/>
-						<entry flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name="cocos2d"/>
-					</sourceEntries>
-				</configuration>
-			</storageModule>
-			<storageModule moduleId="org.eclipse.cdt.core.externalSettings"/>
-		</cconfiguration>
-	</storageModule>
-	<storageModule moduleId="scannerConfiguration">
-		<autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId=""/>
-		<scannerConfigBuildInfo instanceId="0.1230402123">
-			<autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId=""/>
-		</scannerConfigBuildInfo>
-	</storageModule>
-	<storageModule moduleId="org.eclipse.cdt.core.LanguageSettingsProviders"/>
-	<storageModule moduleId="org.eclipse.cdt.internal.ui.text.commentOwnerProjectMappings"/>
-	<storageModule moduleId="cdtBuildSystem" version="4.0.0">
-		<project id="spine-cocos2dx-example.null.31159645" name="spine-cocos2dx-example"/>
-	</storageModule>
-	<storageModule moduleId="refreshScope" versionNumber="2">
-		<configuration configurationName="Default">
-			<resource resourceType="PROJECT" workspacePath="/spine-cocos2dx-example"/>
-		</configuration>
-		<configuration configurationName="Debug">
-			<resource resourceType="PROJECT" workspacePath="/spine-cocos2dx-example"/>
-		</configuration>
-	</storageModule>
-</cproject>
-

+ 0 - 23
spine-cocos2dx/example/proj.android/.externalToolBuilders/org.eclipse.cdt.managedbuilder.core.genmakebuilder.launch

@@ -1,23 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<launchConfiguration type="org.eclipse.ui.externaltools.ProgramBuilderLaunchConfigurationType">
-<booleanAttribute key="org.eclipse.ui.externaltools.ATTR_BUILDER_ENABLED" value="false"/>
-<stringAttribute key="org.eclipse.ui.externaltools.ATTR_DISABLED_BUILDER" value="org.eclipse.cdt.managedbuilder.core.genmakebuilder"/>
-<mapAttribute key="org.eclipse.ui.externaltools.ATTR_TOOL_ARGUMENTS">
-<mapEntry key="?children?" value="?children?=?name?=entry\\\\\\\|\\\|\|?name?=outputEntries\||"/>
-<mapEntry key="?name?" value=""/>
-<mapEntry key="org.eclipse.cdt.make.core.append_environment" value="true"/>
-<mapEntry key="org.eclipse.cdt.make.core.autoBuildTarget" value="all"/>
-<mapEntry key="org.eclipse.cdt.make.core.buildArguments" value="${ProjDirPath}/build_native.py -b release"/>
-<mapEntry key="org.eclipse.cdt.make.core.buildCommand" value="python"/>
-<mapEntry key="org.eclipse.cdt.make.core.buildLocation" value="${ProjDirPath}"/>
-<mapEntry key="org.eclipse.cdt.make.core.cleanBuildTarget" value="clean"/>
-<mapEntry key="org.eclipse.cdt.make.core.contents" value="org.eclipse.cdt.make.core.activeConfigSettings"/>
-<mapEntry key="org.eclipse.cdt.make.core.enableAutoBuild" value="false"/>
-<mapEntry key="org.eclipse.cdt.make.core.enableCleanBuild" value="true"/>
-<mapEntry key="org.eclipse.cdt.make.core.enableFullBuild" value="true"/>
-<mapEntry key="org.eclipse.cdt.make.core.fullBuildTarget" value="all"/>
-<mapEntry key="org.eclipse.cdt.make.core.stopOnError" value="true"/>
-<mapEntry key="org.eclipse.cdt.make.core.useDefaultBuildCmd" value="false"/>
-</mapAttribute>
-<booleanAttribute key="org.eclipse.ui.externaltools.ATTR_TRIGGERS_CONFIGURED" value="true"/>
-</launchConfiguration>

+ 0 - 0
spine-cocos2dx/example-v4/proj.android/.gitignore → spine-cocos2dx/example/proj.android/.gitignore


+ 0 - 71
spine-cocos2dx/example/proj.android/.project

@@ -1,71 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>spine-cocos2dx-example</name>
-	<comment></comment>
-	<projects>
-		<project>libcocos2dx</project>
-	</projects>
-	<buildSpec>
-		<buildCommand>
-			<name>com.android.ide.eclipse.adt.ResourceManagerBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>com.android.ide.eclipse.adt.PreCompilerBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.jdt.core.javabuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.ui.externaltools.ExternalToolBuilder</name>
-			<triggers>full,incremental,</triggers>
-			<arguments>
-				<dictionary>
-					<key>LaunchConfigHandle</key>
-					<value>&lt;project&gt;/.externalToolBuilders/org.eclipse.cdt.managedbuilder.core.genmakebuilder.launch</value>
-				</dictionary>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>com.android.ide.eclipse.adt.ApkBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.cdt.managedbuilder.core.ScannerConfigBuilder</name>
-			<triggers>full,incremental,</triggers>
-			<arguments>
-			</arguments>
-		</buildCommand>
-	</buildSpec>
-	<natures>
-		<nature>com.android.ide.eclipse.adt.AndroidNature</nature>
-		<nature>org.eclipse.jdt.core.javanature</nature>
-		<nature>org.eclipse.cdt.core.cnature</nature>
-		<nature>org.eclipse.cdt.core.ccnature</nature>
-		<nature>org.eclipse.cdt.managedbuilder.core.managedBuildNature</nature>
-		<nature>org.eclipse.cdt.managedbuilder.core.ScannerConfigNature</nature>
-	</natures>
-	<linkedResources>
-		<link>
-			<name>Classes</name>
-			<type>2</type>
-			<locationURI>$%7BPARENT-1-PROJECT_LOC%7D/Classes</locationURI>
-		</link>
-		<link>
-			<name>cocos2d</name>
-			<type>2</type>
-			<locationURI>$%7BPARENT-1-PROJECT_LOC%7D/cocos2d</locationURI>
-		</link>
-		<link>
-			<name>libcocos2d</name>
-			<type>2</type>
-			<locationURI>PARENT-1-PROJECT_LOC/cocos2d/cocos/platform/android/java/src</locationURI>
-		</link>
-	</linkedResources>
-</projectDescription>

+ 0 - 68
spine-cocos2dx/example/proj.android/.settings/org.eclipse.cdt.codan.core.prefs

@@ -1,68 +0,0 @@
-eclipse.preferences.version=1
-org.eclipse.cdt.codan.checkers.errnoreturn=Warning
-org.eclipse.cdt.codan.checkers.errnoreturn.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},implicit\=>false}
-org.eclipse.cdt.codan.checkers.errreturnvalue=-Error
-org.eclipse.cdt.codan.checkers.errreturnvalue.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}}
-org.eclipse.cdt.codan.checkers.noreturn=-Error
-org.eclipse.cdt.codan.checkers.noreturn.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},implicit\=>false}
-org.eclipse.cdt.codan.internal.checkers.AbstractClassCreation=-Error
-org.eclipse.cdt.codan.internal.checkers.AbstractClassCreation.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}}
-org.eclipse.cdt.codan.internal.checkers.AmbiguousProblem=-Error
-org.eclipse.cdt.codan.internal.checkers.AmbiguousProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}}
-org.eclipse.cdt.codan.internal.checkers.AssignmentInConditionProblem=Warning
-org.eclipse.cdt.codan.internal.checkers.AssignmentInConditionProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}}
-org.eclipse.cdt.codan.internal.checkers.AssignmentToItselfProblem=-Error
-org.eclipse.cdt.codan.internal.checkers.AssignmentToItselfProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}}
-org.eclipse.cdt.codan.internal.checkers.CaseBreakProblem=Warning
-org.eclipse.cdt.codan.internal.checkers.CaseBreakProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},no_break_comment\=>"no break",last_case_param\=>false,empty_case_param\=>false}
-org.eclipse.cdt.codan.internal.checkers.CatchByReference=Warning
-org.eclipse.cdt.codan.internal.checkers.CatchByReference.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},unknown\=>false,exceptions\=>()}
-org.eclipse.cdt.codan.internal.checkers.CircularReferenceProblem=-Error
-org.eclipse.cdt.codan.internal.checkers.CircularReferenceProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}}
-org.eclipse.cdt.codan.internal.checkers.ClassMembersInitialization=Warning
-org.eclipse.cdt.codan.internal.checkers.ClassMembersInitialization.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},skip\=>true}
-org.eclipse.cdt.codan.internal.checkers.FieldResolutionProblem=-Error
-org.eclipse.cdt.codan.internal.checkers.FieldResolutionProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}}
-org.eclipse.cdt.codan.internal.checkers.FunctionResolutionProblem=-Error
-org.eclipse.cdt.codan.internal.checkers.FunctionResolutionProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}}
-org.eclipse.cdt.codan.internal.checkers.InvalidArguments=-Error
-org.eclipse.cdt.codan.internal.checkers.InvalidArguments.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}}
-org.eclipse.cdt.codan.internal.checkers.InvalidTemplateArgumentsProblem=-Error
-org.eclipse.cdt.codan.internal.checkers.InvalidTemplateArgumentsProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}}
-org.eclipse.cdt.codan.internal.checkers.LabelStatementNotFoundProblem=-Error
-org.eclipse.cdt.codan.internal.checkers.LabelStatementNotFoundProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}}
-org.eclipse.cdt.codan.internal.checkers.MemberDeclarationNotFoundProblem=-Error
-org.eclipse.cdt.codan.internal.checkers.MemberDeclarationNotFoundProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}}
-org.eclipse.cdt.codan.internal.checkers.MethodResolutionProblem=-Error
-org.eclipse.cdt.codan.internal.checkers.MethodResolutionProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}}
-org.eclipse.cdt.codan.internal.checkers.NamingConventionFunctionChecker=-Info
-org.eclipse.cdt.codan.internal.checkers.NamingConventionFunctionChecker.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},pattern\=>"^[a-z]",macro\=>true,exceptions\=>()}
-org.eclipse.cdt.codan.internal.checkers.NonVirtualDestructorProblem=Warning
-org.eclipse.cdt.codan.internal.checkers.NonVirtualDestructorProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}}
-org.eclipse.cdt.codan.internal.checkers.OverloadProblem=-Error
-org.eclipse.cdt.codan.internal.checkers.OverloadProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}}
-org.eclipse.cdt.codan.internal.checkers.RedeclarationProblem=-Error
-org.eclipse.cdt.codan.internal.checkers.RedeclarationProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}}
-org.eclipse.cdt.codan.internal.checkers.RedefinitionProblem=-Error
-org.eclipse.cdt.codan.internal.checkers.RedefinitionProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}}
-org.eclipse.cdt.codan.internal.checkers.ReturnStyleProblem=-Warning
-org.eclipse.cdt.codan.internal.checkers.ReturnStyleProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}}
-org.eclipse.cdt.codan.internal.checkers.ScanfFormatStringSecurityProblem=-Warning
-org.eclipse.cdt.codan.internal.checkers.ScanfFormatStringSecurityProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}}
-org.eclipse.cdt.codan.internal.checkers.StatementHasNoEffectProblem=Warning
-org.eclipse.cdt.codan.internal.checkers.StatementHasNoEffectProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},macro\=>true,exceptions\=>()}
-org.eclipse.cdt.codan.internal.checkers.SuggestedParenthesisProblem=Warning
-org.eclipse.cdt.codan.internal.checkers.SuggestedParenthesisProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},paramNot\=>false}
-org.eclipse.cdt.codan.internal.checkers.SuspiciousSemicolonProblem=Warning
-org.eclipse.cdt.codan.internal.checkers.SuspiciousSemicolonProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},else\=>false,afterelse\=>false}
-org.eclipse.cdt.codan.internal.checkers.TypeResolutionProblem=-Error
-org.eclipse.cdt.codan.internal.checkers.TypeResolutionProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}}
-org.eclipse.cdt.codan.internal.checkers.UnusedFunctionDeclarationProblem=Warning
-org.eclipse.cdt.codan.internal.checkers.UnusedFunctionDeclarationProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},macro\=>true}
-org.eclipse.cdt.codan.internal.checkers.UnusedStaticFunctionProblem=Warning
-org.eclipse.cdt.codan.internal.checkers.UnusedStaticFunctionProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},macro\=>true}
-org.eclipse.cdt.codan.internal.checkers.UnusedVariableDeclarationProblem=Warning
-org.eclipse.cdt.codan.internal.checkers.UnusedVariableDeclarationProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},macro\=>true,exceptions\=>("@(\#)","$Id")}
-org.eclipse.cdt.codan.internal.checkers.VariableResolutionProblem=-Error
-org.eclipse.cdt.codan.internal.checkers.VariableResolutionProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}}
-useParentScope=false

+ 0 - 3
spine-cocos2dx/example/proj.android/.settings/org.eclipse.cdt.core.prefs

@@ -1,3 +0,0 @@
-eclipse.preferences.version=1
-environment/project/0.1230402123/append=true
-environment/project/0.1230402123/appendContributed=true

+ 0 - 2
spine-cocos2dx/example/proj.android/.settings/org.eclipse.ltk.core.refactoring.prefs

@@ -1,2 +0,0 @@
-eclipse.preferences.version=1
-org.eclipse.ltk.core.refactoring.enable.project.refactoring.history=false

+ 0 - 38
spine-cocos2dx/example/proj.android/AndroidManifest.xml

@@ -1,38 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<manifest xmlns:android="http://schemas.android.com/apk/res/android"
-      package="com.esotericsoftware.cocos2dx"
-      android:versionCode="1"
-      android:versionName="1.0"
-      android:installLocation="auto">
-
-    <uses-sdk android:minSdkVersion="13"/>
-    <uses-feature android:glEsVersion="0x00020000" />
-
-    <application android:label="@string/app_name"
-                 android:icon="@drawable/icon">
-					 
-        <!-- Tell Cocos2dxActivity the name of our .so -->
-        <meta-data android:name="android.app.lib_name"
-                   android:value="MyGame" />
-
-        <activity android:name="org.cocos2dx.cpp.AppActivity"
-                  android:label="@string/app_name"
-                  android:screenOrientation="landscape"
-                  android:theme="@android:style/Theme.NoTitleBar.Fullscreen"
-                  android:configChanges="orientation|keyboardHidden|screenSize">
-
-            <intent-filter>
-                <action android:name="android.intent.action.MAIN" />
-                <category android:name="android.intent.category.LAUNCHER" />
-            </intent-filter>
-        </activity>
-    </application>
-
-    <supports-screens android:anyDensity="true"
-                      android:smallScreens="true"
-                      android:normalScreens="true"
-                      android:largeScreens="true"
-                      android:xlargeScreens="true"/>
-
-    <uses-permission android:name="android.permission.INTERNET"/>
-</manifest> 

+ 0 - 17
spine-cocos2dx/example/proj.android/ant.properties

@@ -1,17 +0,0 @@
-# This file is used to override default values used by the Ant build system.
-#
-# This file must be checked into Version Control Systems, as it is
-# integral to the build system of your project.
-
-# This file is only used by the Ant script.
-
-# You can use this to override default values such as
-#  'source.dir' for the location of your java source folder and
-#  'out.dir' for the location of your output folder.
-
-# You can also use it define how the release builds are signed by declaring
-# the following properties:
-#  'key.store' for the location of your keystore and
-#  'key.alias' for the name of the key to use.
-# The password will be asked during the build when you use the 'release' target.
-

+ 0 - 0
spine-cocos2dx/example-v4/proj.android/app/.gitignore → spine-cocos2dx/example/proj.android/app/.gitignore


+ 0 - 0
spine-cocos2dx/example-v4/proj.android/app/AndroidManifest.xml → spine-cocos2dx/example/proj.android/app/AndroidManifest.xml


+ 2 - 0
spine-cocos2dx/example-v4/proj.android/app/build.gradle → spine-cocos2dx/example/proj.android/app/build.gradle

@@ -5,6 +5,8 @@ apply plugin: 'com.android.application'
 android {
     compileSdkVersion PROP_COMPILE_SDK_VERSION.toInteger()
 
+    ndkVersion "24.0.8215888"
+
     defaultConfig {
         applicationId "com.esotericsoftware.spine"
         minSdkVersion PROP_MIN_SDK_VERSION

+ 0 - 0
spine-cocos2dx/example-v4/proj.android/app/jni/hellocpp/main.cpp → spine-cocos2dx/example/proj.android/app/jni/hellocpp/main.cpp


+ 0 - 0
spine-cocos2dx/example-v4/proj.android/app/proguard-rules.pro → spine-cocos2dx/example/proj.android/app/proguard-rules.pro


+ 0 - 0
spine-cocos2dx/example-v4/proj.android/app/res/mipmap-hdpi/ic_launcher.png → spine-cocos2dx/example/proj.android/app/res/mipmap-hdpi/ic_launcher.png


+ 0 - 0
spine-cocos2dx/example-v4/proj.android/app/res/mipmap-mdpi/ic_launcher.png → spine-cocos2dx/example/proj.android/app/res/mipmap-mdpi/ic_launcher.png


+ 0 - 0
spine-cocos2dx/example-v4/proj.android/app/res/mipmap-xhdpi/ic_launcher.png → spine-cocos2dx/example/proj.android/app/res/mipmap-xhdpi/ic_launcher.png


+ 0 - 0
spine-cocos2dx/example-v4/proj.android/app/res/mipmap-xxhdpi/ic_launcher.png → spine-cocos2dx/example/proj.android/app/res/mipmap-xxhdpi/ic_launcher.png


+ 0 - 0
spine-cocos2dx/example-v4/proj.android/app/res/values/strings.xml → spine-cocos2dx/example/proj.android/app/res/values/strings.xml


+ 0 - 0
spine-cocos2dx/example-v4/proj.android/app/src/org/cocos2dx/cpp/AppActivity.java → spine-cocos2dx/example/proj.android/app/src/org/cocos2dx/cpp/AppActivity.java


+ 0 - 13
spine-cocos2dx/example/proj.android/build-cfg.json

@@ -1,13 +0,0 @@
-{
-    "ndk_module_path" :[
-        "../cocos2d",
-        "../cocos2d/cocos",
-        "../cocos2d/external"
-    ],
-    "copy_resources": [
-        {
-            "from": "../Resources",
-            "to": ""
-        }
-    ]
-}

+ 1 - 1
spine-cocos2dx/example-v4/proj.android/build.gradle → spine-cocos2dx/example/proj.android/build.gradle

@@ -7,7 +7,7 @@ buildscript {
     }
 
     dependencies {
-        classpath 'com.android.tools.build:gradle:3.1.0'
+        classpath 'com.android.tools.build:gradle:7.1.2'
 
         // NOTE: Do not place your application dependencies here; they belong
         // in the individual module build.gradle files

+ 0 - 83
spine-cocos2dx/example/proj.android/build.xml

@@ -1,83 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<project name="spine-cocos2dx-example" default="help">
-
-    <!-- The local.properties file is created and updated by the 'android' tool.
-         It contains the path to the SDK. It should *NOT* be checked into
-         Version Control Systems. -->
-    <property file="local.properties" />
-
-    <!-- The ant.properties file can be created by you. It is only edited by the
-         'android' tool to add properties to it.
-         This is the place to change some Ant specific build properties.
-         Here are some properties you may want to change/update:
-
-         source.dir
-             The name of the source directory. Default is 'src'.
-         out.dir
-             The name of the output directory. Default is 'bin'.
-
-         For other overridable properties, look at the beginning of the rules
-         files in the SDK, at tools/ant/build.xml
-
-         Properties related to the SDK location or the project target should
-         be updated using the 'android' tool with the 'update' action.
-
-         This file is an integral part of the build system for your
-         application and should be checked into Version Control Systems.
-
-         -->
-    <property file="ant.properties" />
-
-    <!-- The project.properties file is created and updated by the 'android'
-         tool, as well as ADT.
-
-         This contains project specific properties such as project target, and library
-         dependencies. Lower level build properties are stored in ant.properties
-         (or in .classpath for Eclipse projects).
-
-         This file is an integral part of the build system for your
-         application and should be checked into Version Control Systems. -->
-    <loadproperties srcFile="project.properties" />
-
-    <!-- quick check on sdk.dir -->
-    <fail
-            message="sdk.dir is missing. Make sure to generate local.properties using 'android update project' or to inject it through an env var"
-            unless="sdk.dir"
-    />
-
-    <!--
-        Import per project custom build rules if present at the root of the project.
-        This is the place to put custom intermediary targets such as:
-            -pre-build
-            -pre-compile
-            -post-compile (This is typically used for code obfuscation.
-                           Compiled code location: ${out.classes.absolute.dir}
-                           If this is not done in place, override ${out.dex.input.absolute.dir})
-            -post-package
-            -post-build
-            -pre-clean
-    -->
-    <import file="custom_rules.xml" optional="true" />
-
-    <!-- Import the actual build file.
-
-         To customize existing targets, there are two options:
-         - Customize only one target:
-             - copy/paste the target into this file, *before* the
-               <import> task.
-             - customize it to your needs.
-         - Customize the whole content of build.xml
-             - copy/paste the content of the rules files (minus the top node)
-               into this file, replacing the <import> task.
-             - customize to your needs.
-
-         ***********************
-         ****** IMPORTANT ******
-         ***********************
-         In all cases you must update the value of version-tag below to read 'custom' instead of an integer,
-         in order to avoid having your file be overridden by tools such as "android update project"
-    -->
-    <!-- version-tag: 1 -->
-    <import file="${sdk.dir}/tools/ant/build.xml" />
-
-</project>

+ 0 - 6
spine-cocos2dx/example/proj.android/gen/R.java.d

@@ -1,6 +0,0 @@
-/Users/badlogic/workspaces/esotericsoftware/spine-runtimes/spine-cocos2dx/example/proj.android/gen/com/esotericsoftware/cocos2dx/R.java \
- : /Users/badlogic/workspaces/esotericsoftware/spine-runtimes/spine-cocos2dx/example/proj.android/res/drawable-hdpi/icon.png \
-/Users/badlogic/workspaces/esotericsoftware/spine-runtimes/spine-cocos2dx/example/proj.android/res/drawable-ldpi/icon.png \
-/Users/badlogic/workspaces/esotericsoftware/spine-runtimes/spine-cocos2dx/example/proj.android/res/drawable-mdpi/icon.png \
-/Users/badlogic/workspaces/esotericsoftware/spine-runtimes/spine-cocos2dx/example/proj.android/res/values/strings.xml \
-/Users/badlogic/workspaces/esotericsoftware/spine-runtimes/spine-cocos2dx/example/proj.android/bin/AndroidManifest.xml \

+ 0 - 6
spine-cocos2dx/example/proj.android/gen/com/esotericsoftware/cocos2dx/BuildConfig.java

@@ -1,6 +0,0 @@
-/** Automatically generated file. DO NOT MODIFY */
-package com.esotericsoftware.cocos2dx;
-
-public final class BuildConfig {
-    public final static boolean DEBUG = true;
-}

+ 0 - 19
spine-cocos2dx/example/proj.android/gen/com/esotericsoftware/cocos2dx/R.java

@@ -1,19 +0,0 @@
-/* AUTO-GENERATED FILE.  DO NOT MODIFY.
- *
- * This class was automatically generated by the
- * aapt tool from the resource data it found.  It
- * should not be modified by hand.
- */
-
-package com.esotericsoftware.cocos2dx;
-
-public final class R {
-    public static final class attr {
-    }
-    public static final class drawable {
-        public static final int icon=0x7f020000;
-    }
-    public static final class string {
-        public static final int app_name=0x7f030000;
-    }
-}

+ 0 - 0
spine-cocos2dx/example-v4/proj.android/gradle.properties → spine-cocos2dx/example/proj.android/gradle.properties


+ 0 - 0
spine-cocos2dx/example-v4/proj.android/gradle/wrapper/gradle-wrapper.jar → spine-cocos2dx/example/proj.android/gradle/wrapper/gradle-wrapper.jar


+ 2 - 1
spine-cocos2dx/example-v4/proj.android/gradle/wrapper/gradle-wrapper.properties → spine-cocos2dx/example/proj.android/gradle/wrapper/gradle-wrapper.properties

@@ -3,4 +3,5 @@ distributionBase=GRADLE_USER_HOME
 distributionPath=wrapper/dists
 zipStoreBase=GRADLE_USER_HOME
 zipStorePath=wrapper/dists
-distributionUrl=https\://services.gradle.org/distributions/gradle-5.1.1-all.zip
+distributionUrl=https\://services.gradle.org/distributions/gradle-7.4.1-bin.zip
+

+ 0 - 0
spine-cocos2dx/example-v4/proj.android/gradlew → spine-cocos2dx/example/proj.android/gradlew


+ 0 - 0
spine-cocos2dx/example-v4/proj.android/gradlew.bat → spine-cocos2dx/example/proj.android/gradlew.bat


+ 0 - 109
spine-cocos2dx/example/proj.android/jni/Android.mk

@@ -1,109 +0,0 @@
-LOCAL_PATH := $(call my-dir)
-
-include $(CLEAR_VARS)
-
-$(call import-add-path,$(LOCAL_PATH)/../../cocos2d)
-$(call import-add-path,$(LOCAL_PATH)/../../cocos2d/external)
-$(call import-add-path,$(LOCAL_PATH)/../../cocos2d/cocos)
-$(call import-add-path,$(LOCAL_PATH)/../../cocos2d/cocos/audio/include)
-
-LOCAL_MODULE := MyGame_shared
-
-LOCAL_MODULE_FILENAME := libMyGame
-
-LOCAL_SRC_FILES := hellocpp/main.cpp \
-../../Classes//AppDelegate.cpp \
-../../Classes//BatchingExample.cpp \
-../../Classes//CoinExample.cpp \
-../../Classes//GoblinsExample.cpp \
-../../Classes//RaptorExample.cpp \
-../../Classes//SkeletonRendererSeparatorExample.cpp \
-../../Classes//SpineboyExample.cpp \
-../../Classes//TankExample.cpp \
-../../../src/spine/AttachmentVertices.cpp \
-../../../src/spine/SkeletonAnimation.cpp \
-../../../src/spine/SkeletonBatch.cpp \
-../../../src/spine/SkeletonRenderer.cpp \
-../../../src/spine/SkeletonTwoColorBatch.cpp \
-../../../src/spine/spine-cocos2dx.cpp \
-../../../../spine-cpp/spine-cpp//src/spine/Animation.cpp \
-../../../../spine-cpp/spine-cpp//src/spine/AnimationState.cpp \
-../../../../spine-cpp/spine-cpp//src/spine/AnimationStateData.cpp \
-../../../../spine-cpp/spine-cpp//src/spine/Atlas.cpp \
-../../../../spine-cpp/spine-cpp//src/spine/AtlasAttachmentLoader.cpp \
-../../../../spine-cpp/spine-cpp//src/spine/Attachment.cpp \
-../../../../spine-cpp/spine-cpp//src/spine/AttachmentLoader.cpp \
-../../../../spine-cpp/spine-cpp//src/spine/AttachmentTimeline.cpp \
-../../../../spine-cpp/spine-cpp//src/spine/Bone.cpp \
-../../../../spine-cpp/spine-cpp//src/spine/BoneData.cpp \
-../../../../spine-cpp/spine-cpp//src/spine/BoundingBoxAttachment.cpp \
-../../../../spine-cpp/spine-cpp//src/spine/ClippingAttachment.cpp \
-../../../../spine-cpp/spine-cpp//src/spine/ColorTimeline.cpp \
-../../../../spine-cpp/spine-cpp//src/spine/Constraint.cpp \
-../../../../spine-cpp/spine-cpp//src/spine/CurveTimeline.cpp \
-../../../../spine-cpp/spine-cpp//src/spine/DeformTimeline.cpp \
-../../../../spine-cpp/spine-cpp//src/spine/DrawOrderTimeline.cpp \
-../../../../spine-cpp/spine-cpp//src/spine/Event.cpp \
-../../../../spine-cpp/spine-cpp//src/spine/EventData.cpp \
-../../../../spine-cpp/spine-cpp//src/spine/EventTimeline.cpp \
-../../../../spine-cpp/spine-cpp//src/spine/Extension.cpp \
-../../../../spine-cpp/spine-cpp//src/spine/IkConstraint.cpp \
-../../../../spine-cpp/spine-cpp//src/spine/IkConstraintData.cpp \
-../../../../spine-cpp/spine-cpp//src/spine/IkConstraintTimeline.cpp \
-../../../../spine-cpp/spine-cpp//src/spine/Json.cpp \
-../../../../spine-cpp/spine-cpp//src/spine/LinkedMesh.cpp \
-../../../../spine-cpp/spine-cpp//src/spine/MathUtil.cpp \
-../../../../spine-cpp/spine-cpp//src/spine/MeshAttachment.cpp \
-../../../../spine-cpp/spine-cpp//src/spine/PathAttachment.cpp \
-../../../../spine-cpp/spine-cpp//src/spine/PathConstraint.cpp \
-../../../../spine-cpp/spine-cpp//src/spine/PathConstraintData.cpp \
-../../../../spine-cpp/spine-cpp//src/spine/PathConstraintMixTimeline.cpp \
-../../../../spine-cpp/spine-cpp//src/spine/PathConstraintPositionTimeline.cpp \
-../../../../spine-cpp/spine-cpp//src/spine/PathConstraintSpacingTimeline.cpp \
-../../../../spine-cpp/spine-cpp//src/spine/PointAttachment.cpp \
-../../../../spine-cpp/spine-cpp//src/spine/RegionAttachment.cpp \
-../../../../spine-cpp/spine-cpp//src/spine/RotateTimeline.cpp \
-../../../../spine-cpp/spine-cpp//src/spine/RTTI.cpp \
-../../../../spine-cpp/spine-cpp//src/spine/ScaleTimeline.cpp \
-../../../../spine-cpp/spine-cpp//src/spine/ShearTimeline.cpp \
-../../../../spine-cpp/spine-cpp//src/spine/Skeleton.cpp \
-../../../../spine-cpp/spine-cpp//src/spine/SkeletonBinary.cpp \
-../../../../spine-cpp/spine-cpp//src/spine/SkeletonBounds.cpp \
-../../../../spine-cpp/spine-cpp//src/spine/SkeletonClipping.cpp \
-../../../../spine-cpp/spine-cpp//src/spine/SkeletonData.cpp \
-../../../../spine-cpp/spine-cpp//src/spine/SkeletonJson.cpp \
-../../../../spine-cpp/spine-cpp//src/spine/Skin.cpp \
-../../../../spine-cpp/spine-cpp//src/spine/Slot.cpp \
-../../../../spine-cpp/spine-cpp//src/spine/SlotData.cpp \
-../../../../spine-cpp/spine-cpp//src/spine/SpineObject.cpp \
-../../../../spine-cpp/spine-cpp//src/spine/TextureLoader.cpp \
-../../../../spine-cpp/spine-cpp//src/spine/Timeline.cpp \
-../../../../spine-cpp/spine-cpp//src/spine/TransformConstraint.cpp \
-../../../../spine-cpp/spine-cpp//src/spine/TransformConstraintData.cpp \
-../../../../spine-cpp/spine-cpp//src/spine/TransformConstraintTimeline.cpp \
-../../../../spine-cpp/spine-cpp//src/spine/TranslateTimeline.cpp \
-../../../../spine-cpp/spine-cpp//src/spine/Triangulator.cpp \
-../../../../spine-cpp/spine-cpp//src/spine/TwoColorTimeline.cpp \
-../../../../spine-cpp/spine-cpp//src/spine/Updatable.cpp \
-../../../../spine-cpp/spine-cpp//src/spine/VertexAttachment.cpp \
-../../../../spine-cpp/spine-cpp//src/spine/VertexEffect.cpp \
-
-LOCAL_C_INCLUDES := $(LOCAL_PATH)/../../Classes \
-				   $(LOCAL_PATH)/../../../../spine-cpp/spine-cpp/include \
-				   $(LOCAL_PATH)/../../../../spine-cocos2dx/src
-
-# _COCOS_HEADER_ANDROID_BEGIN
-# _COCOS_HEADER_ANDROID_END
-
-
-LOCAL_STATIC_LIBRARIES := cocos2dx_static
-
-# _COCOS_LIB_ANDROID_BEGIN
-# _COCOS_LIB_ANDROID_END
-
-include $(BUILD_SHARED_LIBRARY)
-
-$(call import-module,.)
-
-# _COCOS_LIB_IMPORT_ANDROID_BEGIN
-# _COCOS_LIB_IMPORT_ANDROID_END

+ 0 - 15
spine-cocos2dx/example/proj.android/jni/Application.mk

@@ -1,15 +0,0 @@
-APP_STL := gnustl_static
-
-APP_CPPFLAGS := -frtti -DCC_ENABLE_CHIPMUNK_INTEGRATION=1 -std=c++11 -fsigned-char
-APP_LDFLAGS := -latomic
-
-APP_ABI := armeabi
-
-
-ifeq ($(NDK_DEBUG),1)
-  APP_CPPFLAGS += -DCOCOS2D_DEBUG=1
-  APP_OPTIM := debug
-else
-  APP_CPPFLAGS += -DNDEBUG
-  APP_OPTIM := release
-endif

+ 0 - 15
spine-cocos2dx/example/proj.android/jni/hellocpp/main.cpp

@@ -1,15 +0,0 @@
-#include "AppDelegate.h"
-#include "cocos2d.h"
-#include "platform/android/jni/JniHelper.h"
-#include <android/log.h>
-#include <jni.h>
-
-#define LOG_TAG "main"
-#define LOGD(...) __android_log_print(ANDROID_LOG_DEBUG, LOG_TAG, __VA_ARGS__)
-
-using namespace cocos2d;
-
-void cocos_android_app_init(JNIEnv *env) {
-	LOGD("cocos_android_app_init");
-	AppDelegate *pAppDelegate = new AppDelegate();
-}

+ 0 - 10
spine-cocos2dx/example/proj.android/local.properties

@@ -1,10 +0,0 @@
-# This file is automatically generated by Android Tools.
-# Do not modify this file -- YOUR CHANGES WILL BE ERASED!
-#
-# This file must *NOT* be checked into Version Control Systems,
-# as it contains information specific to your local configuration.
-
-# location of the SDK. This is only used by Ant
-# For customization when using a Version Control System, please read the
-# header note.
-sdk.dir=/Applications/android-sdk

+ 0 - 20
spine-cocos2dx/example/proj.android/proguard-project.txt

@@ -1,20 +0,0 @@
-# To enable ProGuard in your project, edit project.properties
-# to define the proguard.config property as described in that file.
-#
-# Add project specific ProGuard rules here.
-# By default, the flags in this file are appended to flags specified
-# in ${sdk.dir}/tools/proguard/proguard-android.txt
-# You can edit the include path and order by changing the ProGuard
-# include property in project.properties.
-#
-# For more details, see
-#   http://developer.android.com/guide/developing/tools/proguard.html
-
-# Add any project specific keep options here:
-
-# If your project uses WebView with JS, uncomment the following
-# and specify the fully qualified class name to the JavaScript interface
-# class:
-#-keepclassmembers class fqcn.of.javascript.interface.for.webview {
-#   public *;
-#}

+ 0 - 13
spine-cocos2dx/example/proj.android/project.properties

@@ -1,13 +0,0 @@
-# This file is automatically generated by Android Tools.
-# Do not modify this file -- YOUR CHANGES WILL BE ERASED!
-#
-# This file must be checked in Version Control Systems.
-#
-# To customize properties used by the Ant build system use,
-# "ant.properties", and override values to adapt the script to your
-# project structure.
-
-# Project target.
-target=android-13
-
-android.library.reference.1=../cocos2d/cocos/platform/android/java

BIN
spine-cocos2dx/example/proj.android/res/drawable-hdpi/icon.png


BIN
spine-cocos2dx/example/proj.android/res/drawable-ldpi/icon.png


BIN
spine-cocos2dx/example/proj.android/res/drawable-mdpi/icon.png


+ 0 - 4
spine-cocos2dx/example/proj.android/res/values/strings.xml

@@ -1,4 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<resources>
-    <string name="app_name">spine-cocos2dx-example</string>
-</resources>

+ 0 - 0
spine-cocos2dx/example-v4/proj.android/settings.gradle → spine-cocos2dx/example/proj.android/settings.gradle


+ 0 - 32
spine-cocos2dx/example/proj.android/src/org/cocos2dx/cpp/AppActivity.java

@@ -1,32 +0,0 @@
-/****************************************************************************
-Copyright (c) 2008-2010 Ricardo Quesada
-Copyright (c) 2010-2012 cocos2d-x.org
-Copyright (c) 2011      Zynga Inc.
-Copyright (c) 2013-2014 Chukong Technologies Inc.
- 
-http://www.cocos2d-x.org
-
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in
-all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-THE SOFTWARE.
-****************************************************************************/
-package org.cocos2dx.cpp;
-
-import org.cocos2dx.lib.Cocos2dxActivity;
-
-public class AppActivity extends Cocos2dxActivity {
-}

+ 26 - 1
spine-cocos2dx/example/proj.ios_mac/ios/AppController.h

@@ -1,9 +1,34 @@
+/****************************************************************************
+ Copyright (c) 2010-2013 cocos2d-x.org
+ Copyright (c) 2013-2016 Chukong Technologies Inc.
+ Copyright (c) 2017-2018 Xiamen Yaji Software Co., Ltd.
+ 
+ http://www.cocos2d-x.org
+ 
+ Permission is hereby granted, free of charge, to any person obtaining a copy
+ of this software and associated documentation files (the "Software"), to deal
+ in the Software without restriction, including without limitation the rights
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ copies of the Software, and to permit persons to whom the Software is
+ furnished to do so, subject to the following conditions:
+ 
+ The above copyright notice and this permission notice shall be included in
+ all copies or substantial portions of the Software.
+ 
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+ THE SOFTWARE.
+ ****************************************************************************/
+
 #import <UIKit/UIKit.h>
 
 @class RootViewController;
 
 @interface AppController : NSObject <UIApplicationDelegate> {
-	UIWindow *window;
 }
 
 @property(nonatomic, readonly) RootViewController *viewController;

+ 34 - 31
spine-cocos2dx/example/proj.ios_mac/ios/AppController.mm

@@ -1,18 +1,20 @@
 /****************************************************************************
- Copyright (c) 2010 cocos2d-x.org
-
+ Copyright (c) 2010-2013 cocos2d-x.org
+ Copyright (c) 2013-2016 Chukong Technologies Inc.
+ Copyright (c) 2017-2018 Xiamen Yaji Software Co., Ltd.
+ 
  http://www.cocos2d-x.org
-
+ 
  Permission is hereby granted, free of charge, to any person obtaining a copy
  of this software and associated documentation files (the "Software"), to deal
  in the Software without restriction, including without limitation the rights
  to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
  copies of the Software, and to permit persons to whom the Software is
  furnished to do so, subject to the following conditions:
-
+ 
  The above copyright notice and this permission notice shall be included in
  all copies or substantial portions of the Software.
-
+ 
  THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
  IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
  FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
@@ -23,47 +25,37 @@
  ****************************************************************************/
 
 #import "AppController.h"
-#import "platform/ios/CCEAGLView-ios.h"
 #import "cocos2d.h"
 #import "AppDelegate.h"
 #import "RootViewController.h"
 
 @implementation AppController
 
+@synthesize window;
+
 #pragma mark -
 #pragma mark Application lifecycle
 
 // cocos2d application instance
 static AppDelegate s_sharedApplication;
 
-- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {    
-
+- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
+    
     cocos2d::Application *app = cocos2d::Application::getInstance();
-    GLContextAttrs glContextAttrs = {8, 8, 8, 8, 24, 8};
-    cocos2d::GLView::setGLContextAttrs(glContextAttrs);        
+    
+    // Initialize the GLView attributes
+    app->initGLContextAttrs();
     cocos2d::GLViewImpl::convertAttrs();
-
+    
     // Override point for customization after application launch.
 
     // Add the view controller's view to the window and display.
     window = [[UIWindow alloc] initWithFrame: [[UIScreen mainScreen] bounds]];
 
-    // Init the CCEAGLView
-    CCEAGLView *eaglView = [CCEAGLView viewWithFrame: [window bounds]
-                                         pixelFormat: (NSString*)cocos2d::GLViewImpl::_pixelFormat
-                                         depthFormat: cocos2d::GLViewImpl::_depthFormat
-                                  preserveBackbuffer: NO
-                                          sharegroup: nil
-                                       multiSampling: NO
-                                     numberOfSamples: 0 ];
-    
-    // Enable or disable multiple touches
-    [eaglView setMultipleTouchEnabled:NO];
-
-    // Use RootViewController manage CCEAGLView 
-    _viewController = [[RootViewController alloc] initWithNibName:nil bundle:nil];
+    // Use RootViewController to manage CCEAGLView
+    _viewController = [[RootViewController alloc]init];
     _viewController.wantsFullScreenLayout = YES;
-    _viewController.view = eaglView;
+    
 
     // Set RootViewController to window
     if ( [[UIDevice currentDevice].systemVersion floatValue] < 6.0)
@@ -80,11 +72,18 @@ static AppDelegate s_sharedApplication;
     [window makeKeyAndVisible];
 
     [[UIApplication sharedApplication] setStatusBarHidden:true];
-
+    
+    //Launching the app with the arguments -NSAllowsDefaultLineBreakStrategy NO to force back to the old behavior.
+    if ( [[UIDevice currentDevice].systemVersion floatValue] >= 13.0f)
+    {
+        [[NSUserDefaults standardUserDefaults] setBool:NO forKey:@"NSAllowsDefaultLineBreakStrategy"];
+    }
+    
     // IMPORTANT: Setting the GLView should be done after creating the RootViewController
-    cocos2d::GLView *glview = cocos2d::GLViewImpl::createWithEAGLView(eaglView);
+    cocos2d::GLView *glview = cocos2d::GLViewImpl::createWithEAGLView((__bridge void *)_viewController.view);
     cocos2d::Director::getInstance()->setOpenGLView(glview);
-
+    
+    //run the cocos2d-x game scene
     app->run();
 
     return YES;
@@ -96,7 +95,7 @@ static AppDelegate s_sharedApplication;
      Sent when the application is about to move from active to inactive state. This can occur for certain types of temporary interruptions (such as an incoming phone call or SMS message) or when the user quits the application and it begins the transition to the background state.
      Use this method to pause ongoing tasks, disable timers, and throttle down OpenGL ES frame rates. Games should use this method to pause the game.
      */
-     //We don't need to call this method any more. It will interupt user defined game pause&resume logic
+    // We don't need to call this method any more. It will interrupt user defined game pause&resume logic
     /* cocos2d::Director::getInstance()->pause(); */
 }
 
@@ -104,7 +103,7 @@ static AppDelegate s_sharedApplication;
     /*
      Restart any tasks that were paused (or not yet started) while the application was inactive. If the application was previously in the background, optionally refresh the user interface.
      */
-     //We don't need to call this method any more. It will interupt user defined game pause&resume logic
+    // We don't need to call this method any more. It will interrupt user defined game pause&resume logic
     /* cocos2d::Director::getInstance()->resume(); */
 }
 
@@ -141,10 +140,14 @@ static AppDelegate s_sharedApplication;
 }
 
 
+#if __has_feature(objc_arc)
+#else
 - (void)dealloc {
     [window release];
+    [_viewController release];
     [super dealloc];
 }
+#endif
 
 
 @end

BIN
spine-cocos2dx/example/proj.ios_mac/ios/[email protected]


BIN
spine-cocos2dx/example/proj.ios_mac/ios/[email protected]


BIN
spine-cocos2dx/example/proj.ios_mac/ios/[email protected]


BIN
spine-cocos2dx/example/proj.ios_mac/ios/Default-Landscape~ipad.png


BIN
spine-cocos2dx/example/proj.ios_mac/ios/Default.png


BIN
spine-cocos2dx/example/proj.ios_mac/ios/[email protected]


BIN
spine-cocos2dx/example/proj.ios_mac/ios/Icon-100.png


BIN
spine-cocos2dx/example/proj.ios_mac/ios/Icon-114.png


BIN
spine-cocos2dx/example/proj.ios_mac/ios/Icon-120.png


Niektoré súbory nie sú zobrazené, pretože je v týchto rozdielových dátach zmenené mnoho súborov