Fixed IntDir.
Removed all non-critical or pertinent modules. Added a new "SpineToy", which is out of the box ready to be loaded via the Sandbox or any other T2D project. It contains the Spineboy data I copied from the spine-c runtime.
Merge remote-tracking branch 'origin/development' into development
- Added shell classes for SkeletonObject and SkeletonAsset. The fields, which are tied to the classes' method properties, are temporary until we work out the the structure of the actual assets.
- Also added a SkeletonObject and SkeletonAsset to the SpineToy. The new classes are being successfully read and added to a scene.
- Added shell classes for SkeletonObject and SkeletonAsset. The fields, which are tied to the classes' method properties, are temporary until we work out the the structure of the actual assets.
- Also added a SkeletonObject and SkeletonAsset to the SpineToy. The new classes are being successfully read and added to a scene.
Merge remote-tracking branch 'origin/development' into development
Merge remote-tracking branch 'origin/development' into development
Merge remote-tracking branch 'origin/development' into development
- Updated Visual Studio 2012 and 2010 projects to include new SkeletonAsset and SkeletonObject. Time to start the Spine magic.
Start of spine-c integration.
Updated OS X and iOS projects to include spine-c source code.
Updated the Visual Studio 2010 project to include the spine-c source. Also updated the sandbox.torsion project to build exports from a debug executable.
Commit regarding this comment in SkeletonAsset.h: // BOZO - How to expose scale to scripts?. I have added the necessary code to take a variable defined in source (like mScale), and get it hook up to non-source systems (like TorqueScript or XML).

This work consists of three main steps:

1. Public setter and getter
2. Protected setter, getter, and writer check
3. The addProtectedField function

The public setter/getter can be found in SkeletonAsset.h, lines 52 and 53. The protected versions are further down on lines 81-83. Any variables you want to expose outsid of the source should be implemented in a class's initPersistFields function. You can see this in action in SkeletonAsset.cc, line 134. This is the usage for addProtectedField:

addProtectedField(Variable Name In Script, Variable Type, Size offset of variable in the class, the set function, the get function, the write function, the documentation string);

There are other macros for exposing a variable to script, each with its own reason for existing. We can discuss this more via Skype.
Modified some code and added several comments wherever I saw the // BOZO comment. Still one section left to tackle, which is the render section.
Named Cells WIP: Adding new hash map for pixel areas (value), accessible via a name (key). Set up functions, but still need to fill them out. Created hooks to ImageFrameProviderCore. We're compiling, but I don't think this will run yet. Forging ahead.
Named Cells WIP: Added code to handle TAML serialization of the named cells.
Named Cells WIP: Added the remaining bits of code to ImageAsset that will allow lookup of a FrameArea based on name.
Named Cells WIP: Access a frame from a sprite-sheet by name is now working for ImageAsset and static sprites. Look at modules/SpineToy/1/assets/image/Test.asset.taml to see what the format looks like in XML.

Look at modules/SpineToy/1/main.cs, lines 52 - 57 to see how I use it in TorqueScript. At the API level, when trying to set an image frame on a Sprite, the following two lines are most useful:

%sprite.NameFrame = "someName";
%sprite.setImageNameFrame = "someName";

They both do the same thing. If you set a frame by name, it will stop using a numerical index. Likewise, if you set the frame using a numerical index (%sprite.Frame = 0;), the sprite will stop using a named region. This is expected behavior and is completely stable.
Removed the script code that generated the XML schema and quit the app. That wasn't supposed to be committed.
Animations can now use named regions for animation cells. Numerical index support is still available.