From ca6a6fc93017d24a855c09569b9c49e84b94dd98 Mon Sep 17 00:00:00 2001 From: badlogic Date: Fri, 8 Jun 2018 14:18:51 +0200 Subject: [PATCH] Updated all READMEs. --- spine-as3/README.md | 2 +- spine-c/README.md | 18 ++++++------- spine-cocos2d-objc/README.md | 2 +- spine-cocos2dx/README.md | 6 ++--- spine-corona/README.md | 2 +- spine-cpp/README.md | 26 ++++++++++++------- spine-js/README.md | 2 +- spine-libgdx/README.md | 2 +- spine-love/README.md | 4 +-- spine-lua/README.md | 2 +- spine-monogame/README.md | 4 +-- spine-sfml/c/README.md | 8 +++--- spine-sfml/cpp/README.md | 14 +++++----- spine-starling/README.md | 10 +++---- spine-threejs/README.md | 2 +- spine-ts/README.md | 2 +- .../Source/SpinePlugin/SpinePlugin.Build.cs | 5 ++-- spine-ue4/README.md | 2 +- spine-ue4/SpineUE4.uproject | 2 +- spine-xna/README.md | 4 +-- 20 files changed, 60 insertions(+), 59 deletions(-) diff --git a/spine-as3/README.md b/spine-as3/README.md index 28b8e11f4..f38ae8759 100644 --- a/spine-as3/README.md +++ b/spine-as3/README.md @@ -10,7 +10,7 @@ The Spine Runtimes are developed with the intent to be used with data exported f ## Spine version -spine-as3 works with data exported from Spine 3.6.xx. +spine-as3 works with data exported from Spine 3.7.xx. spine-as3 supports all Spine features, including meshes. If using the `spine.flash` classes for rendering, meshes are not supported. diff --git a/spine-c/README.md b/spine-c/README.md index accbb0715..041add2bc 100644 --- a/spine-c/README.md +++ b/spine-c/README.md @@ -1,8 +1,6 @@ # spine-c -The spine-c runtime provides basic functionality to load and manipulate [Spine](http://esotericsoftware.com) skeletal animation data using ANSI C. It does not perform rendering but can be extended to enable Spine animations for other C-based projects, including C++ or Objective-C projects. - -For a pure C++ API, you may consider the third party Spine runtime [Chobolabs/spine-cpp](https://github.com/Chobolabs/spine-cpp). +The spine-c runtime provides basic functionality to load and manipulate [Spine](http://esotericsoftware.com) skeletal animation data using ANSI C89. It does not perform rendering but can be extended to enable Spine animations for other C-based projects, including C++ or Objective-C projects. ## Licensing @@ -12,19 +10,20 @@ The Spine Runtimes are developed with the intent to be used with data exported f ## Spine version -spine-c works with data exported from Spine 3.6.xx. +spine-c works with data exported from Spine 3.7.xx. spine-c supports all Spine features. ## Setup 1. Download the Spine Runtimes source using [git](https://help.github.com/articles/set-up-git) or by downloading it as a zip via the download button above. -1. Open the `spine-c.sln` Visual C++ 2010 Express project file. For other IDEs, you will need to create a new project and import the source. - -Alternatively, the contents of the `spine-c/spine-c/src` and `spine-c/spine-c/include` directories can be copied into your project. Be sure your header search is configured to find the contents of the `spine-c/spine-c/include` directory. Note that the includes use `spine/Xxx.h`, so the `spine` directory cannot be omitted when copying the files. +1. Copy the contents of the `spine-c/spine-c/src` and `spine-c/spine-c/include` directories into your project. Be sure your header search is configured to find the contents of the `spine-c/spine-c/include` directory. Note that the includes use `spine/Xxx.h`, so the `spine` directory cannot be omitted when copying the files. If `SPINE_SHORT_NAMES` is defined, the `sp` prefix for all structs and functions is optional. Only use this if the spine-c names won't cause a conflict. +## Usage +### [Please see the spine-c guide for full documentation](http://esotericsoftware.com/spine-c) + ## Extension Extending spine-c requires implementing three methods: @@ -37,12 +36,11 @@ With these implemented, the spine-c API can then be used to load Spine animation For example, `AtlasAttachmentLoader` is typically used to load attachments when using a Spine texture atlas. When `AtlasAttachmentLoader` loads a `RegionAttachment`, the attachment's `void* rendererObject` is set to an `AtlasRegion`. Rendering code can then obtain the `AtlasRegion` from the attachment, get the `AtlasPage` it belongs to, and get the page's `void* rendererObject`. This is the renderer specific texture object set by `_spAtlasPage_createTexture`. Attachment loading can be [customized](http://esotericsoftware.com/spine-using-runtimes/#attachmentloader) if not using `AtlasAttachmentLoader` or to provider different renderer specific data. -[spine-sfml](../spine-sfml/src/spine/spine-sfml.cpp#L39) serves as a simple example of extending spine-c. +[spine-sfml](../spine-sfml/src/c/spine/spine-sfml.cpp#L39) serves as a simple example of extending spine-c. spine-c uses an OOP style of programming where each "class" is made up of a struct and a number of functions prefixed with the struct name. More detals about how this works are available in [extension.h](spine-c/include/spine/extension.h#L2). This mechanism allows you to provide your own implementations for `spAttachmentLoader`, `spAttachment` and `spTimeline`, if necessary. ## Runtimes extending spine-c -- [spine-cocos2d-iphone](../spine-cocos2d-objc) -- [spine-cocos2dx](../spine-cocos2dx) +- [spine-cocos2d-objc](../spine-cocos2d-objc) - [spine-sfml](../spine-sfml) diff --git a/spine-cocos2d-objc/README.md b/spine-cocos2d-objc/README.md index 6d37066c8..154dbb9ad 100644 --- a/spine-cocos2d-objc/README.md +++ b/spine-cocos2d-objc/README.md @@ -10,7 +10,7 @@ The Spine Runtimes are developed with the intent to be used with data exported f ## Spine version -spine-cocos2d-objc works with data exported from Spine 3.6.x. +spine-cocos2d-objc works with data exported from Spine 3.7.x. spine-cocos2d-objc supports all Spine features. diff --git a/spine-cocos2dx/README.md b/spine-cocos2dx/README.md index b29897750..58c4911a8 100644 --- a/spine-cocos2dx/README.md +++ b/spine-cocos2dx/README.md @@ -1,6 +1,6 @@ # spine-cocos2dx v3.x -The spine-cocos2dx runtime provides functionality to load, manipulate and render [Spine](http://esotericsoftware.com) skeletal animation data using [cocos2d-x](http://www.cocos2d-x.org/). spine-cocos2dx is based on [spine-cpp](https://github.com/EsotericSoftware/spine-runtimes/tree/master/spine-cpp). +The spine-cocos2dx runtime provides functionality to load, manipulate and render [Spine](http://esotericsoftware.com) skeletal animation data using [cocos2d-x](http://www.cocos2d-x.org/). spine-cocos2dx is based on [spine-cpp](../spine-cpp). ## Licensing @@ -10,7 +10,7 @@ The Spine Runtimes are developed with the intent to be used with data exported f ## Spine version -spine-cocos2dx works with data exported from Spine 3.6.xx. +spine-cocos2dx works with data exported from Spine 3.7.xx. spine-cocos2dx supports all Spine features. @@ -26,7 +26,7 @@ The setup for cocos2d-x differs from most other Spine Runtimes because the cocos 4. Add the folders `spine-cpp/spine-cpp/include` and `spine-cocos2dx/src` to your header search path. Note that includes are specified as `#inclue `, so the `spine` directory cannot be omitted when copying the source files. ## Example -The Spine cocos2d-x example works on Windows and Mac OS X. +The Spine cocos2d-x example works on Windows, Mac OS X, iOS and Android. ### Windows 1. Install [Visual Studio 2015 Community](https://www.visualstudio.com/en-us/downloads/download-visual-studio-vs.aspx) diff --git a/spine-corona/README.md b/spine-corona/README.md index ad4451056..eb820d75b 100644 --- a/spine-corona/README.md +++ b/spine-corona/README.md @@ -10,7 +10,7 @@ The Spine Runtimes are developed with the intent to be used with data exported f ## Spine version -spine-corona works with data exported from Spine 3.6.xx. +spine-corona works with data exported from Spine 3.7.xx. spine-corona supports all Spine features. diff --git a/spine-cpp/README.md b/spine-cpp/README.md index 29153cf4d..f4f5a523e 100644 --- a/spine-cpp/README.md +++ b/spine-cpp/README.md @@ -10,30 +10,38 @@ The spine Runtimes are developed with the intent to be used with data exported f ## spine version -spine-cpp works with data exported from spine 3.6.xx. +spine-cpp works with data exported from spine 3.7.xx. spine-cpp supports all spine features. ## Setup 1. Download the spine Runtimes source using [git](https://help.github.com/articles/set-up-git) or by downloading it as a zip via the download button above. -2. Create a new project and import the source. - -Alternatively, the contents of the `spine-cpp/spine-cpp/src` and `spine-cpp/spine-cpp/include` directories can be copied into your project. Be sure your header search is configured to find the contents of the `spine-cpp/spine-cpp/include` directory. Note that the includes use `spine/Xxx.h`, so the `spine` directory cannot be omitted when copying the files. +2. Copy the contents of the `spine-cpp/spine-cpp/src` and `spine-cpp/spine-cpp/include` directories into your project. Be sure your header search is configured to find the contents of the `spine-cpp/spine-cpp/include` directory. Note that the includes use `spine/Xxx.h`, so the `spine` directory cannot be omitted when copying the files. ## Extension -Extending spine-cpp requires implementing both the SpineExtension class (which has a handy default instance) and the TextureLoader class: +Extending spine-cpp requires implementing both the `SpineExtension` class and the TextureLoader class: -spine::SpineExtension::setInstance(spine::DefaultSpineExtension::getInstance()); +``` +#include +void spine::SpineExtension *spine::getDefaultExtension() { + return new spine::DefaultExtension(); +} -class MyTextureLoader : public TextureLoader +class MyTextureLoader : public spine::TextureLoader { - virtual void load(AtlasPage& page, const String& path) { // TODO } + virtual void load(spine::AtlasPage& page, const spine::String& path) { + void* texture = ... load the texture based on path ... + page->setRendererObject(texture); // use the texture later in your rendering code + } virtual void unload(void* texture) { // TODO } }; +``` ## Runtimes extending spine-cpp -- Coming Soon! +- [spine-sfml](../spine-sfml/cpp) +- [spine-cocos2dx](../spine-cocos2dx) +- [spine-ue4](../spine-ue4) diff --git a/spine-js/README.md b/spine-js/README.md index 0b65d77a9..369df50a5 100644 --- a/spine-js/README.md +++ b/spine-js/README.md @@ -1,3 +1,3 @@ # spine-js -spine-js has been deprecated and is superseded by [spine-ts](https://github.com/EsotericSoftware/spine-runtimes/tree/master/spine-ts). The most recent version of spine-js can be found in the [spine-js branch](https://github.com/EsotericSoftware/spine-runtimes/tree/spine-js/spine-js) +spine-js has been deprecated and is superseded by [spine-ts](../spine-ts). diff --git a/spine-libgdx/README.md b/spine-libgdx/README.md index 535c7a526..d303551fb 100644 --- a/spine-libgdx/README.md +++ b/spine-libgdx/README.md @@ -10,7 +10,7 @@ The Spine Runtimes are developed with the intent to be used with data exported f ## Spine version -spine-libgdx works with data exported from Spine 3.6.xx. +spine-libgdx works with data exported from Spine 3.7.xx. spine-libgdx supports all Spine features and is the reference runtime implementation. diff --git a/spine-love/README.md b/spine-love/README.md index 378556198..6bb5525f9 100644 --- a/spine-love/README.md +++ b/spine-love/README.md @@ -10,7 +10,7 @@ The Spine Runtimes are developed with the intent to be used with data exported f ## Spine version -spine-love works with data exported from Spine 3.6.x. +spine-love works with data exported from Spine 3.7.x. spine-love supports all Spine features except for blending modes other than normal. @@ -26,7 +26,7 @@ Alternatively, the `spine-lua` and `spine-love/spine-love` directories can be co ## Notes - * Two enable two color tinting, pass `true` to `SkeletonRenderer.new()`. + * To enable two color tinting, pass `true` to `SkeletonRenderer.new()`. ## Examples diff --git a/spine-lua/README.md b/spine-lua/README.md index 7a9115ae8..3c40b6ea5 100644 --- a/spine-lua/README.md +++ b/spine-lua/README.md @@ -10,7 +10,7 @@ The Spine Runtimes are developed with the intent to be used with data exported f ## Spine version -spine-lua works with data exported from Spine 3.6.xx. +spine-lua works with data exported from Spine 3.7.xx. spine-lua supports all Spine features. diff --git a/spine-monogame/README.md b/spine-monogame/README.md index a04303cea..fb4a1c48e 100644 --- a/spine-monogame/README.md +++ b/spine-monogame/README.md @@ -1,6 +1,6 @@ # spine-monogame -The spine-monogame runtime provides functionality to load, manipulate and render [Spine](http://esotericsoftware.com) skeletal animation data using [MonoGame](http://monogame.codeplex.com/). spine-monogame is based on [spine-xna](https://github.com/EsotericSoftware/spine-runtimes/tree/master/spine-xna) and adds MonoGame project files. +The spine-monogame runtime provides functionality to load, manipulate and render [Spine](http://esotericsoftware.com) skeletal animation data using [MonoGame](http://monogame.codeplex.com/). spine-monogame is based on [spine-xna](../spine-xna) and adds MonoGame project files. ## Licensing @@ -10,7 +10,7 @@ The Spine Runtimes are developed with the intent to be used with data exported f ## Spine version -spine-monogame works with data exported from Spine 3.6.xx. +spine-monogame works with data exported from Spine 3.7.xx. spine-monogame supports all Spine features. diff --git a/spine-sfml/c/README.md b/spine-sfml/c/README.md index 834641813..fabc66903 100644 --- a/spine-sfml/c/README.md +++ b/spine-sfml/c/README.md @@ -1,6 +1,6 @@ # spine-sfml -The spine-sfml runtime provides functionality to load, manipulate and render [Spine](http://esotericsoftware.com) skeletal animation data using [SFML](http://www.sfml-dev.org/). spine-sfml is based on [spine-c](../spine-c). +The spine-sfml runtime provides functionality to load, manipulate and render [Spine](http://esotericsoftware.com) skeletal animation data using [SFML](http://www.sfml-dev.org/). spine-sfml is based on [spine-c](../../spine-c). ## Licensing @@ -10,11 +10,9 @@ The Spine Runtimes are developed with the intent to be used with data exported f ## Spine version -spine-sfml works with data exported from Spine 3.6.xx. +spine-sfml works with data exported from Spine 3.7.xx. -spine-sfml supports all Spine features. - -spine-sfml does not yet support loading the binary format. +spine-sfml supports all Spine features except two color tinting. ## Usage 1. Create a new SFML project. See the [SFML documentation](http://www.sfml-dev.org/tutorials/2.1/) or have a look at the example in this repository. diff --git a/spine-sfml/cpp/README.md b/spine-sfml/cpp/README.md index 834641813..b91bc1e24 100644 --- a/spine-sfml/cpp/README.md +++ b/spine-sfml/cpp/README.md @@ -1,6 +1,6 @@ # spine-sfml -The spine-sfml runtime provides functionality to load, manipulate and render [Spine](http://esotericsoftware.com) skeletal animation data using [SFML](http://www.sfml-dev.org/). spine-sfml is based on [spine-c](../spine-c). +The spine-sfml runtime provides functionality to load, manipulate and render [Spine](http://esotericsoftware.com) skeletal animation data using [SFML](http://www.sfml-dev.org/). spine-sfml is based on [spine-c](../../spine-cpp). ## Licensing @@ -10,17 +10,15 @@ The Spine Runtimes are developed with the intent to be used with data exported f ## Spine version -spine-sfml works with data exported from Spine 3.6.xx. +spine-sfml works with data exported from Spine 3.7.xx. -spine-sfml supports all Spine features. - -spine-sfml does not yet support loading the binary format. +spine-sfml supports all Spine features except two color tinting. ## Usage 1. Create a new SFML project. See the [SFML documentation](http://www.sfml-dev.org/tutorials/2.1/) or have a look at the example in this repository. 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. -3. Add the sources from `spine-c/spine-c/src/spine` and `spine-sfml/src/spine` to your project -4. Add the folder `spine-c/spine-c/include` to your header search path. Note that includes are specified as `#inclue `, so the `spine` directory cannot be omitted when copying the source files. +3. Add the sources from `spine-cpp/spine-cpp/src/spine` and `spine-sfml/src/spine` to your project +4. Add the folder `spine-cpp/spine-cpp/include` to your header search path. Note that includes are specified as `#inclue `, so the `spine` directory cannot be omitted when copying the source files. See the [Spine Runtimes documentation](http://esotericsoftware.com/spine-documentation#runtimesTitle) on how to use the APIs or check out the Spine SFML example. @@ -41,7 +39,7 @@ The Spine SFML example works on Windows, Linux and Mac OS X. 11. Select `Debugging` in the left-hand list, then set `Working Directory` to `$(OutputPath)` 12. Click `Local Windows Debugger` to run the example -The entire example code is contained in [main.cpp](example/main.cpp#L61) +The entire example code is contained in [main.cpp](example/main.cpp) ### Linux 1. Install the SFML dependencies, e.g. on Ubuntu/Debian via `sudo apt install libsfml-dev` diff --git a/spine-starling/README.md b/spine-starling/README.md index 3032df02a..b43c67979 100644 --- a/spine-starling/README.md +++ b/spine-starling/README.md @@ -1,6 +1,6 @@ # spine-starling -The spine-starling runtime provides functionality to load, manipulate and render [Spine](http://esotericsoftware.com) skeletal animation data using [Starling 2.0](http://gamua.com/starling/). spine-starling is based on [spine-as3](https://github.com/EsotericSoftware/spine-runtimes/tree/master/spine-as3). +The spine-starling runtime provides functionality to load, manipulate and render [Spine](http://esotericsoftware.com) skeletal animation data using [Starling 2.0](http://gamua.com/starling/). spine-starling is based on [spine-as3](../spine-as3). ## Licensing @@ -10,7 +10,7 @@ The Spine Runtimes are developed with the intent to be used with data exported f ## Spine version -spine-starling works with data exported from Spine 3.6.xx. +spine-starling works with data exported from Spine 3.7.xx. spine-starling supports all Spine features. @@ -41,6 +41,6 @@ The Spine AS3 example works on Windows, Linux and Mac OS X. This guide assumes y ## Examples -[Spine atlas example](spine-starling-example/src/AtlasExample.as#L21) -[Starling atlas example](spine-starling-example/src/StarlingAtlasExample.as#L18) -[Skin example](spine-starling-example/src/GoblinsExample.as#L21) +- [Spine atlas example](spine-starling-example/src/AtlasExample.as#L21) +- [Starling atlas example](spine-starling-example/src/StarlingAtlasExample.as#L18) +- [Skin example](spine-starling-example/src/GoblinsExample.as#L21) diff --git a/spine-threejs/README.md b/spine-threejs/README.md index 02635e2ef..4b06f9418 100644 --- a/spine-threejs/README.md +++ b/spine-threejs/README.md @@ -1,3 +1,3 @@ # spine-threejs -spine-threejs has been deprecated and is superseded by [spine-ts THREE.JS backend](../spine-ts). The most recent version of spine-threejs can be found in the [spine-threejs branch](https://github.com/EsotericSoftware/spine-runtimes/tree/spine-threejs/spine-threejs) \ No newline at end of file +spine-threejs has been deprecated and is superseded by [spine-ts THREE.JS backend](../spine-ts). \ No newline at end of file diff --git a/spine-ts/README.md b/spine-ts/README.md index 3f7f18599..152df60b9 100644 --- a/spine-ts/README.md +++ b/spine-ts/README.md @@ -18,7 +18,7 @@ The Spine Runtimes are developed with the intent to be used with data exported f ## Spine version -spine-ts works with data exported from Spine 3.6.xx. +spine-ts works with data exported from Spine 3.7.xx. spine-ts WebGL & Widget backends supports all Spine features. diff --git a/spine-ue4/Plugins/SpinePlugin/Source/SpinePlugin/SpinePlugin.Build.cs b/spine-ue4/Plugins/SpinePlugin/Source/SpinePlugin/SpinePlugin.Build.cs index 750c0a645..c0582aae6 100644 --- a/spine-ue4/Plugins/SpinePlugin/Source/SpinePlugin/SpinePlugin.Build.cs +++ b/spine-ue4/Plugins/SpinePlugin/Source/SpinePlugin/SpinePlugin.Build.cs @@ -8,9 +8,8 @@ namespace UnrealBuildTool.Rules { PublicIncludePaths.AddRange(new string[] { "SpinePlugin/Public", "SpinePlugin/Public/spine-cpp/include" }); PrivateIncludePaths.AddRange(new string[] { "SpinePlugin/Private", "SpinePlugin/Public/spine-cpp/include" }); - PublicDependencyModuleNames.AddRange(new string[] { "Core", "CoreUObject", "Engine", "RHI", "RenderCore", "ShaderCore", "ProceduralMeshComponent", "UMG", "Slate", "SlateCore" }); - OptimizeCode = CodeOptimization.Never; - PublicDefinitions.Add("SPINE_UE4"); + PublicDependencyModuleNames.AddRange(new string[] { "Core", "CoreUObject", "Engine", "RHI", "RenderCore", "ShaderCore", "ProceduralMeshComponent", "UMG", "Slate", "SlateCore" }); + Definitions.Add("SPINE_UE4"); } } } diff --git a/spine-ue4/README.md b/spine-ue4/README.md index 70c655fee..6b984dab2 100644 --- a/spine-ue4/README.md +++ b/spine-ue4/README.md @@ -1,5 +1,5 @@ # spine-ue4 -The spine-ue4 runtime provides functionality to load, manipulate and render [Spine](http://esotericsoftware.com) skeletal animation data using [Unreal Engine 4.15+](https://www.unrealengine.com/). spine-ue4 is based on [spine-cpp](../spine-cpp). +The spine-ue4 runtime provides functionality to load, manipulate and render [Spine](http://esotericsoftware.com) skeletal animation data using [Unreal Engine 4.18+](https://www.unrealengine.com/). spine-ue4 is based on [spine-cpp](../spine-cpp). ## Licensing diff --git a/spine-ue4/SpineUE4.uproject b/spine-ue4/SpineUE4.uproject index 58625c7ce..dbd7825f0 100644 --- a/spine-ue4/SpineUE4.uproject +++ b/spine-ue4/SpineUE4.uproject @@ -1,6 +1,6 @@ { "FileVersion": 3, - "EngineAssociation": "4.19", + "EngineAssociation": "4.17", "Category": "", "Description": "", "Modules": [ diff --git a/spine-xna/README.md b/spine-xna/README.md index 440370df5..7dbb887f9 100644 --- a/spine-xna/README.md +++ b/spine-xna/README.md @@ -1,6 +1,6 @@ # spine-xna -The spine-xna runtime provides functionality to load, manipulate and render [Spine](http://esotericsoftware.com) skeletal animation data using [XNA](http://msdn.microsoft.com/xna/). spine-xna is based on [spine-csharp](https://github.com/EsotericSoftware/spine-runtimes/tree/master/spine-csharp). +The spine-xna runtime provides functionality to load, manipulate and render [Spine](http://esotericsoftware.com) skeletal animation data using [XNA](http://msdn.microsoft.com/xna/). spine-xna is based on [spine-csharp](../spine-csharp). ## Licensing @@ -10,7 +10,7 @@ The Spine Runtimes are developed with the intent to be used with data exported f ## Spine version -spine-xna works with data exported from Spine 3.6.xx. +spine-xna works with data exported from Spine 3.7.xx. spine-xna supports all Spine features.