Download
Tutorial Files: sprtutorial.zip
159k
Download Mach 3's Sprite Viewer: sprview.zip
33k
Thanks to David Flor at Mach 3 for adding functions to his sprite viewer for editing. Download
these two files to edit the sprites that are in Half-Life.
Editing sprites is relatively easy. Just get the sprites out of the pak0.pak file. Open
them up in the sprite viewer and save them as bitmaps. Edit them in a paint program. Then
compile them and save them to half-life\valve\sprites. For an easier way to compile them
back into a sprite, download Wavelength's Sprite
Wizard. To add new sprites to the HUD see this article,
and for more details about sprites see Valve's Sprite
Tutorial.
Some important things to remember: Sprite sizes need to be multiples of 8. Multiple frames
need to share the same 256 color palette. There are 4 types of $texture settings for
sprites: additive, alphatest, indexalpha, and normal. Check below in Advanced Topics for more
information on these.
Alphatest Tutorial
I'll be using crosshairs.spr for this example. Alphatest sprites
can use 255 colors, but the last one in the palette is used for transparency.
|
|
| crosshairs.spr |
|
| Crosshairs have to fit in these
squares. Top row is normal, bottom row is autoaim. |
|
| Crosshairs palette. Note the last color
is the transparency color. |
1 > After you've extracted crosshairs.spr out of the pak file, open it
up with the sprite viewer. Double-click the .spr file and when Windows asks what you want
to open it with, browse to the SprView.exe and choose that.
2 > Save it by choosing 'File' then
'Save BMP...' and name it crosshairs.bmp.
3 > Open it in a paint program like Photoshop or Paint Shop Pro. You
can edit them but each crosshair can't be larger than 24x24 pixels and the crossbow zoom
can't be larger than 104x16 pixels. If you want to add a few new colors you'll have to add
them to the palette. In Photoshop choose 'Image', 'Mode' and 'Color Table'. Click on the
squares and select a color. In Paint Shop Pro choose 'Colors' and 'Edit Palette'.
Double-click on a square and choose a color. This is helpful for changing a few colors,
but if you were going to use alot more colors, then just change to RGB or 16 Million
Colors and edit the picture. When you're done, change it back to 256 colors and make sure
you have the transparent color in the last square of the palette. Save it when you're done
editing.
4 > Set up the sprite.qc and compile it by running sprite.bat. The
included .zip has the .qc file ready to go for you:
// crosshairs
//
$spritename crosshairs
$type vp_parallel
$texture alphatest
$load crosshairs.bmp
$frame 0 0 128 128 |
$spritename is the filename. It will
be compiled into crosshairs.spr
$type is always vp_parallel
$texture will be alphatest for this example
$load is the bitmap file name
$frame is for offsets (x,y) and size (x,y).
5 > Create a folder half-life\valve\sprites and copy crosshairs.spr to
it and you're done.
Additive Tutorial
I'll be using 640_pain.spr for this example. Additive sprites
can have 256 colors and are blended with additive transparency.
|
|
| 640_pain.spr frames |
|
| 640_pain.spr palette |
1 > After you've extracted 640_pain.spr out of the pak file, open it
up with the sprite viewer.
2 > Save it by choosing 'File' then 'Save sequence...' and name it
640_pain.bmp. It will save all 4 frames as 640_pain00x.bmp
3 > Open them in a paint program. Paint something new, change the
colors and resize them. If you're changing color, then just change to RGB or 16 Million
Colors and edit the picture. When you're done, change it back to 256 colors. All frames
must use the same palette, and paint programs usually have a way to save and load the
palette. When you're done editing, save them.
Keep in mind that these are programmed to turn red when health points get below 10. Also,
to totally get rid of them, paint them black and make the palette black.
4 > Set up the sprite.qc and compile it by running sprite.bat. This is
how the .qc file is already set up, but you can change it:
// 640_pain
//
$spritename 640_pain
$type vp_parallel
$texture additive
$load 640_pain001.bmp
$frame 0 0 128 48
$load 640_pain002.bmp
$frame 0 0 48 128
$load 640_pain003.bmp
$frame 0 0 128 48
$load 640_pain004.bmp
$frame 0 0 48 128 |
5 > Copy 640_pain.spr to the half-life\valve\sprites folder and you're
done.
|