Extracted skeleton to a separate class. Sloppy coding may need refactoring, but for now it works and compiles.
Extracted skeleton, without animations, with lessons after review
Same as master:

Simple implementation of matching skeletons/animations. Added to the documentation, applied lessons after the code review.
Rebase before
Extracted animations and made them part of the skeleton. The game seems to run slower now, but that may be superstition.
Merge branch 'master' into learning_branch
Merge branch 'learning_branch'
Add categories for .ogg music files that can be referenced in SetPlayList.
Implement music fading.

Moved music system execution from game tick execution into main application execution so music fading works when the game is paused or lagging.
Set useful name for in-memory CStdFiles

This fixes a valgrind warning when creating a savegame, since in that case
the file name is filled with uninitialized junk. It is not used at other
places, since it is an in-memory file, and therefore was probably harmless.

Now we give a useful name to in-memory files based on the address of the
StdBuf object, which might actually be useful when debugging.
Initialize all structures when writing BMP file

Otherwise, we would partly write files with uninitialized data, such as the
padding bytes in a BMP, or the palette if not specified explicitly. This
mostly fixes corresponding valgrind warnings, but also makes sure we obtain
the same BMP files everytime we store the same StdSurface8 object, bit-by-bit.
Set pack alignment to 1 before reading the GL pixel buffer (#1181)

Otherwise the default pack alignment is 4, and when the horizontal window dimension
is not a multiple of 4, glReadPixels() would read past the end of the buffer we
provided.
Fix a delete / delete[] mismatch in C4ParticleSystem
Fail scenario saving if object saving returned nil (#1182).

This usually means there was a script error in the scenario saving function. Better abort instead of overwriting the existing scenario with garbage data.
Bugfix: Missing AttachParent in AttachedMesh

On loading a savegame with attached meshes, the AttachParent of their child is NULL.
Match partial skeletons (#1177)

When using AttachMesh() with the flag AM_MatchSkeleton the behaviour was changed. The child mesh no longer uses the transformation of the bone in the parent skeleton by order, but by name.
Merge remote-tracking branch 'origin/master'