Sprites



A sprite is a series of two-dimensional images that are animated to achieve a particular effect. When you fire the hellstaff, or use the Iron Doom spell, the projectiles are actually just small pictures that recede into the distance (unlike arrows or throwing knives, which are three-dimensional models). No matter what angle you look at a sprite from, it will always appear to be the same. Many of the spell effects are actually controlled by Quake SP2 sprite files, which are really just a list of M8 or M32 images that are associated with a particular event (like firing the hellstaff).

The example I shall use here is of the staff used by the High Priestess in the hive levels. Her staff fires blue projectiles, and has a glowing blue sphere permanently attached to the end of the staff. There are several sprites used by the High Priestess (see the table below). Here I'll look at changing her staff projectiles from blue to red.

FILELINKS TO PURPOSE
/Sprites/Fx/Hpproj1_1.SP2 Hpproj1_1_0.M32Juice from exploding bug projectiles
/Sprites/Fx/Hpproj1_2.SP2 Hpproj1_2_0.M32Blue glow at end of staff
/Sprites/Fx/HpHalo.SP2 Hp_Halo_0.M8Blue spell projectiles
/Sprites/Fx/Segment_trail.SP2 segment_trail_0.M32Blue trail behind spell projectile

For this example you'll need QuArK and SP2 Maker D'lux. In QuArK, open the Htic2-0.PAK file and click on the following entry:

This sprite controls the colour and shape of her staff projectiles. In the original game, it points to a file in the same directory called 'Hp_halo_0.m8' (a glowing blue ball). If we want to change this, we can do two things. The simplest way is to create a new image file in our own game directory: making sure that the new M8 file is the same size as the original (64x64 pixels). This file would be 6 Kb in size. Another way would be to change the sprite file itself so that it points to another 64x64 M8 in the PAK.

To do this, right-click on the Hp_halo.SP2 file in QuArK and choose 'Properties'. Click 'Save As' and save it as a 'Structured text for hand editing'. This converts the compiled file into plain text (in this case with a QKM extension). Now open Hp_halo.QKM in a text editor and change the line reading:

The 'Halo_2.M8' file is in the same directory in the PAK, however it is a red glowing ball rather than a blue one. It is also 64x64 pixels in size.

Open the edited QKM file in QuArK and save it as an SP2. For some reason QuArK adds 48 blank lines to an SP2 when it is saved. Put the file in the following directory:

Open this file using the Sprite Editor, select each of the blank lines one at a time, then click 'Remove' until there is just one line left. Now save the file. You have now changed the projectiles for the High Priestess staff from blue to red, with a tiny 173 byte file (about 2% of the size of the 6501 byte M8 file). If you intend to change a lot of sprites, then altering the SP2 files saves a lot more disk space (and bandwidth) than creating new M8 files does - provided you can find another M8 or M32 in the Heretic II PAK file that is the same size and the colour you want. In this case, you would want to alter the line in 'Segment_trail.SP2' to point to Segment_trail_y.M32 (a yellow trail) instead of Segment_trail_0 (a blue one). You don't have to replace M8s with M8s, or M32s with M32s. You might want to make sure that the new sprite file link is to an image of the same size as the old one though. The segment trail effects are 16x64 M32 files; so if you want you can replace them with 16x64 M8s (like the lightning effects).

An even easier method is to simply find another SP2 file in the PAK that points to the file or files you want, then rename it. Say we want to change the blue trail of the ice staff to green. The file that controls the ice staff trail is called bluehalo_0.M8 and is in the /sprites/fx/ directory. That file is linked to by the bluehalo.SP2 file. In this case there is only one image in the sprite file, which makes things easier. To have a green staff trail instead, simply use a PAK editor to extract the greenhalo.SP2 file (which points to greenhalo_0.M8), rename it to bluehalo.SP2, and place it in the /sprites/fx/ folder in your own game directory. I'd suggest using something other than QuArK to do this, otherwise your tiny 0.16Kb SP2 file will end up at a whopping 4kb (with all those dastardly blank lines!). This method only works if there is an existing SP2 file in the PAK that points to all the alternative M8 files you want.

Another way of using SP2 Maker D'lux is to trick it into thinking it's dealing with PCX images. Use QuArK to save the M8 or M32 file you want to use as a PCX image, then change the file extension from PCX to M8 or M32. SP2 Maker D'lux will then read the correct image dimensions from the file (since it's really a PCX image in disguise), however the file it will link to will be an M8 or M32. Simply start SP2 Maker D'lux and change the base directory to either Fx or Spells (which ever directory the M8 or M32 was in, in the PAK). Then add a file to your blank list, loading up your 'fake' M8/32 (using *.* to search for it). Change the X Origin and Y Origin values to half the width and height (so if the image is 64 x 64, the origins will both be 32). Then save the SP2 file in your new sprite directory (/Newgame/Sprites/Fx or Spells), using the same file name as the one you want to replace in the game. You have now tricked SP2 Maker D'lux into creating an SP2 file that links to an M8 or M32.

The following tables show which sprites control which game effects. This is not an exhaustive list, as some file names in the PAK are self explanatory (crosshair, scorchmark, shadow, etc). Those without extensions are M8 files.

FX
firestreak_0Ssithra arrow effects
haloblue_0Ice staff trail
helllaser_0/1Hellstaff (tomed)
hp_halo_0High Priestess spell projectiles
hpproj1_2_0HPriestess staff glow
hpproj1_1_0HPriestess bug juice
mist_0ENV_MIST
plightning_0/1Storm bow (tomed)
redraindrop_0Storm bow drops
redraindrop_1Storm bow drops (tomed)
rlightning_0/1Storm bow
segment_trail_0HPriestess projectile trail
spark_0Staff sparks
spark_ind_0Thunderblast trails
waterdrop_0.m32Droplets & some bubbles
bubble_0.m32env_bubble, other bubbles
bubble_1/2.m32Coloured droplets
steam_0.m32env_smoke
steamhalf_0.m32Droplet splash (dust when landing?)
wfall_0/1.m32Water splash
SPELLS
bluering_0Ring of repulsion
flyingfist_0Corvus' fireball
glowball_0Sphere of annihilation trails
glowbeam_0Sphere of annihilation trails (tomed)
halo_ind_0/1Thunderblast halo
hellstafproj_0/1Hellstaff projectiles
indigostreak_0ThunderBlast trail
phoenix_0/1Phoenix bow hit
rsteam_0Storm bow steam
rsteam_1Storm bow steam (tomed)
shboom_0Sphere of annihilation glow & trails
spark_blue_0Sphere explosions, lightning shield sparks
teleport_1_0Teleport (from teleporter)
teleport_2_0Teleport (spell)
wflame2_0Fire staff trails


Previous Page | Main Page | Next Page