This gives a simple way to add 3 dimensional sprite angles to actors. All it requires is some artwork! An additional 66 angles are covered giving a total of 82.
Included are definitions for Doom's monsters and generic placeholder sprites to demonstrate the functionality of the script.
In order for it to work you need to define new states (names shown below) in your actor which contain the 4-letter names of the sprites you wish to add. Then an actor (FullSprites2 for example) must be spawned in the BeginPlay() event. There are a few to choose from depending on your needs and can be found in the root directory of the mod.
Note: FullSprites1 gives a 45 degree sprite above and below, FullSprites2 gives 30 and 60 degrees instead. Both have a top and bottom sprite as well.
Here's an example definition, using actor inheritance:
- Code: Select all • Expand view
class HorizAvile : Archvile Replaces Archvile
{
States
{
Up1Sprite:
CIRC # 1 ;
Up2Sprite:
CIR2 # 1 ;
TopSprite:
TANG # 1 ;
Dn1Sprite:
CIRC # 1 ;
Dn2Sprite:
CIR2 # 1 ;
BotSprite:
BANG # 1 ;
}
override void BeginPlay()
{
Super.BeginPlay() ;
A_SpawnItemEx( "FullSprites2", flags: SXF_SETMASTER | SXF_ABSOLUTEANGLE
| SXF_TRANSFERPITCH | SXF_TRANSFERSPRITEFRAME | SXF_TRANSFERTRANSLATION
| SXF_TRANSFERSCALE | SXF_TRANSFERSTENCILCOL | SXF_TRANSFERALPHA
| SXF_TRANSFERRENDERSTYLE );
}
}
Copying this into a ZScript file adds the extra angles to an Archvile. To add your own sprites instead of circles and arrows, change the 4-letter names to reflect those of your imported sprite files. Make sure to include the script containing the spawnable actor (ie. FullSprites2.zc) in your project, follow the internal directions on what needs renaming... and that's it!
Here's an old, ugly video to watch: Clicky
Spoiler: History