
Re: Leg dismemberment only when facing Left??...
Well, I haven't done this in quite a while.
Anyway,
First thing I see is
sprite size inconsistency.
If you have an animated
sprite (000,001, etc.) then it is highly recommended to have consistent size, say, a 10x10px
sprite on all frames.
This is a must because there is a variable called 'SpriteOffset' that is used to determine the 'center of gravity' of the
sprite, thus, if you will set it right for the first frame (SpriteOffset is X/2 Y/2 of the
sprite size (Except some special occasions), so for the 10x10px example, the SpriteOffset will be 5x5), on the second frame the 'center of gravity' and the actual position of the
sprite may shift due to the size of the
sprite being different.
For example, if your 000
sprite is 10x10px (5x5 SpriteOffset), and the 001
sprite is 12x10px, when animated you will see a shift of 2px on the X axis due to the fact that 5x5 is not the center for the 001
sprite.
So once you get the
sprite sizes corrected, you will need to set the correct SpriteOffsets (Remember, X/2 Y/2).
You might see some factions with offset variables like X=1.5 Y=1.5, and although these will not crash your game, they will actually contribute to nothing at all because there really isn't a thing such as 'half a pixel'... It's like 'half an atom' and that doesn't really work (Well, technically it does... But not in this scenario), so try keeping the variables as wholes (for example: If you have a 13x13px
sprite, just set it to 6x6 or 7x7).
The second
problem I see is JointOffsets.
Joint offsets are used to determine the point on the
sprite which will be the fixed rotation point.
To set correct jointOffsets, you must first set correct SpriteOffsets.
When setting JointOffsets, be aware the the SpriteOffset you set will be the X=0/Y=0 values of the JointOffset.
For example, on a 10x10px
sprite the SpriteOffset will be X=5/Y=5, a JointOffset with X=0/Y=0 values will set the rotation point to the center of the
sprite.
And finally the ParentOffsets on the attachables.
ParentOffsets determine the position of the object on the parent (i.e. The position of the head/leg/arm on the body).
Another thing to be aware of the X/Y axis in Cortex Command are reversed.
That means that on the X axis, anything LEFT of the center will be a positive value and anything RIGHT of the center will be negative.
Same goes for the Y axis, anything UP is negative, anything DOWN is positive.
Although there are some variables (Like X axis on some ParentOffsets) where that doesn't apply and the values behave like they should.
By the way your actor is quite larger than standard actor size so that does make it a little bit more difficult to get all the offsets correct.
Also the fact that it is larger and the arms are longer, the position of the hand is incorrect and I couldn't really recall what needs to be done to shift it's position.
But since you don't need the hand it doesn't matter.
Attachment:
Adjoint Mage.rte.rar
Please look through the
sprite files and the 3 offset variables and try to understand exactly what I did there.
The body shape is quite weird so I might have set the leg offsets quite as you intended them.
You can edit the ParentOffset values on the body for better results.
Also, you should add at least one more frame to the leg
sprite animation for walking to look a little bit more natural.
I hope this is understandable enough and helps you with future mod making.