ok, so this post is aimed at the AMOS part of the forum, but those in the Bloodwych part will understand why!!
I have stumbled across an excellent bit of data from the game Bloodwych, and i need to reproduce the way it work in AMOS for my game editor. The problem is, i've neve approached graphics in the this way, and i have no idea how to achieve the effect i want!!
I think i need to do some clever stuff with bitplanes, so It may require the AMCAF commands, but i really dont know.
Let me explain the scenario....
We have various characters to make up for the minimum amount of graphics / data possible.
- Each one consists of 4 body parts: Legs, Arms, Torso, Head.
- There is also a 5th "part" which shows the entire body from a distance.
- Each of these parts can be re-coloured separately and combined together to produce a complete character.
- The game uses a complete palette of 16.
- The background (colour 0) is black and colour 15 is usually reserved for copper effects.
- During the re-colouring, if colour 15 is referred to, it is transparent.
- Each part has been stored on an IFF file in a "raw" form, ready for recolouring
- The colours used which get re-coloured are colours $0,$4,$8,$C
- Each of these four can be recoloured as any of the ull 16 colour palette.
I would like to know what is the best way to approach this, and/or if anyone has already amde code which will do this! There are some clever looking bitplane commands and some palette commands in AMCAF, but i confess i dont really understand them. I also have no idea, using the bitplane method, how i go about getting the colours to actually change (i have used it only to copy 1 plane at a time it seems) OR how to reposition my output at a different point of the screen.
This code doesnt need to be as fast as the original (although that would be great as i might re-use it later) so any solution is welcome!!
I have attached a zip file containing a graphics file for testing and short AMOS program that simply rips the 'raw' graphics out into a bob bank.
Cheers!!